MDL-80754 mod_h5pactivity: Improve attempt report

* Show the total number of attempts in the column header
* Display a simplified link label to view the actual attempts
This commit is contained in:
Laurent David 2024-02-22 11:18:20 +01:00
parent c895def59b
commit 03f84bdaba
5 changed files with 58 additions and 6 deletions

View File

@ -203,4 +203,16 @@ class participants extends table_sql implements report {
}
return '';
}
/**
* Print headers
*
* Note: as per MDL-80754, we have to modify the header dynamically to display the total
* attempts in the column header.
*/
public function print_headers(): void {
$totalcount = array_sum($this->count);
$this->headers[$this->columns['attempts']] = get_string('attempts_report_header_label', 'mod_h5pactivity', $totalcount);
parent::print_headers();
}
}

View File

@ -50,6 +50,7 @@ $string['attempt_success_fail'] = 'Fail';
$string['attempt_success_pass'] = 'Pass';
$string['attempt_success_unknown'] = 'Not reported';
$string['attempts'] = 'Attempts';
$string['attempts_report_header_label'] = 'Attempts ({$a})';
$string['attempts_report'] = 'Attempts report';
$string['attempts_none'] = 'This user has no attempts to display.';
$string['choice'] = 'Choice';
@ -129,7 +130,7 @@ $string['result_sequencing_answer'] = 'Position value';
$string['result_sequencing_position'] = '#{$a}';
$string['review_mode'] = 'Review attempts';
$string['review_my_attempts'] = 'View my attempts';
$string['review_user_attempts'] = 'View user attempts ({$a})';
$string['review_user_attempts'] = 'View ({$a})';
$string['review_none'] = 'Participants cannot review their own attempts';
$string['review_on_completion'] = 'Participants can review their own attempts';
$string['savestatefreq'] = 'Save state frequency';

View File

@ -54,7 +54,7 @@ Feature: Attempts review settings.
# TODO: The non-editing teachers will be able to see attempts when MDL-80028 is fixed.
| teacher2 | 1 | 1 | not exist | see | not see | not see | not see |
Scenario: View attempts link behaviour
Scenario: View link behaviour
Given the following "activity" exists:
| activity | h5pactivity |
| name | H5P package |
@ -80,4 +80,4 @@ Feature: Attempts review settings.
| success | 1 |
And I am on the "H5P package" "h5pactivity activity" page
And I follow "View attempts (1)"
And I should see "View user attempts"
And I should see "View (1)"

View File

@ -43,7 +43,7 @@ Feature: Add H5P activity context locking
And I am on the "H5P package" "h5pactivity activity" page logged in as admin
When I navigate to "Attempts report" in current page administration
Then I should see "Student 1"
And I should see "View user attempts (1)" in the "Student 1" "table_row"
And I should see "View (1)" in the "Student 1" "table_row"
And I should see "Student 2"
And I should not see "Teacher 1"
@ -62,7 +62,7 @@ Feature: Add H5P activity context locking
And I am on the "H5P package" "h5pactivity activity" page logged in as admin
When I navigate to "Attempts report" in current page administration
Then I should see "Student 1"
And I should see "View user attempts (1)" in the "Student 1" "table_row"
And I should see "View (1)" in the "Student 1" "table_row"
And I should see "Student 2"
And I should not see "Teacher 1"
@ -90,6 +90,6 @@ Feature: Add H5P activity context locking
When I am on the "H5P package" "h5pactivity activity" page
And I navigate to "Attempts report" in current page administration
Then I should see "Student 1"
And I should see "View user attempts (1)"
And I should see "View (1)"
And I should see "Student 2"
And I should not see "Teacher 1"

View File

@ -0,0 +1,39 @@
@mod @mod_h5pactivity @core_h5p
Feature: Reporting information in the h5p activity
In order to let teachers view a report on the attempts made in the h5p activity
As a teacher
I can access the report page and see the attempts made by the students
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student1@example.com |
| student2 | Student | 2 | student2@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
| student2 | C1 | student |
# This test is only about reporting, we don't need to specify any valid H5P file for it.
And the following "activity" exists:
| activity | h5pactivity |
| name | H5P package |
| intro | Test H5P description |
| course | C1 |
| idnumber | h5ppackage |
And the following "mod_h5pactivity > attempts" exist:
| user | h5pactivity | attempt | interactiontype | rawscore | maxscore | duration | completion | success |
| student1 | H5P package | 1 | compound | 2 | 2 | 4 | 1 | 1 |
| student2 | H5P package | 1 | choice | 2 | 2 | 4 | 1 | 1 |
| student1 | H5P package | 2 | compound | 2 | 2 | 4 | 1 | 1 |
Scenario: Access the report page and check the label for the attempts and attempt headers
Given I am on the "H5P package" "h5pactivity activity" page logged in as teacher1
When I navigate to "Attempts report" in current page administration
Then I should see "View (2)" in the "Student 1" "table_row"
And I should see "View (1)" in the "Student 2" "table_row"
And I should see "Attempts (3)" in the "table" "table"