From 3917849965aed664d7b3e2cb7e21a5d2c24dc777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luca=20B=C3=B6sch?= Date: Sat, 6 Feb 2021 13:08:52 +0100 Subject: [PATCH] MDL-70786 report_progress: respect fullname setting. --- report/progress/index.php | 9 ++-- .../behat/activity_completion_report.feature | 49 ++++++++++++------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/report/progress/index.php b/report/progress/index.php index bcbf06ec4da..85755bf4cc7 100644 --- a/report/progress/index.php +++ b/report/progress/index.php @@ -344,13 +344,14 @@ if ($csv) { foreach($progress as $user) { // User name if ($csv) { - print csv_quote(fullname($user)); + print csv_quote(fullname($user, has_capability('moodle/site:viewfullnames', $context))); foreach ($extrafields as $field) { echo $sep . csv_quote($user->{$field}); } } else { - print ''.fullname($user).''; + print '' . + fullname($user, has_capability('moodle/site:viewfullnames', $context)) . ''; foreach ($extrafields as $field) { echo '' . s($user->{$field}) . ''; } @@ -398,7 +399,7 @@ foreach($progress as $user) { $a=new StdClass; $a->state=$describe; $a->date=$date; - $a->user=fullname($user); + $a->user = fullname($user, has_capability('moodle/site:viewfullnames', $context)); $a->activity = $formattedactivities[$activity->id]->displayname; $fulldescribe=get_string('progress-title','completion',$a); diff --git a/report/progress/tests/behat/activity_completion_report.feature b/report/progress/tests/behat/activity_completion_report.feature index ae83fbbbf0b..51ae6cfa65c 100644 --- a/report/progress/tests/behat/activity_completion_report.feature +++ b/report/progress/tests/behat/activity_completion_report.feature @@ -14,13 +14,16 @@ Feature: Teacher can view and override users' activity completion data via the p | assign | my assignment 2 | A2 desc | C1 | assign2 | 0 | 2 | 1 | | 0 | 0 | | assign | my assignment 3 | A3 desc | C1 | assign3 | 0 | 2 | 1 | 1 | 1 | 0 | And the following "users" exist: - | username | firstname | lastname | email | - | teacher1 | Teacher | One | teacher1@example.com | - | student1 | Student | One | student1@example.com | + | username | firstname | lastname | email | idnumber | middlename | alternatename | firstnamephonetic | lastnamephonetic | + | teacher1 | Teacher | One | teacher1@example.com | t1 | | fred | | | + | student1 | Grainne | Beauchamp | student1@example.com | s1 | Ann | Jill | Gronya | Beecham | And the following "course enrolments" exist: | user | course | role | | teacher1 | C1 | editingteacher | | student1 | C1 | student | + And the following config values are set as admin: + | fullnamedisplay | firstname | + | alternativefullnameformat | middlename, alternatename, firstname, lastname | # Course comprising one activity with auto completion (student must view it) and one with manual completion. # This confirms that after being completed by the student and overridden by the teacher, that both activities can still be @@ -41,14 +44,14 @@ Feature: Teacher can view and override users' activity completion data via the p When I log in as "teacher1" And I am on "Course 1" course homepage And I navigate to "Reports > Activity completion" in current page administration - And "Student One, my assignment: Completed" "icon" should exist in the "Student One" "table_row" - And "Student One, my assignment 2: Completed" "icon" should exist in the "Student One" "table_row" - And I click on "my assignment" "link" in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment: Completed" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment 2: Completed" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And I click on "my assignment" "link" in the "Ann, Jill, Grainne, Beauchamp" "table_row" And I click on "Save changes" "button" - And "Student One, my assignment: Not completed (set by Teacher One)" "icon" should exist in the "Student One" "table_row" - And I click on "my assignment 2" "link" in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment: Not completed (set by Teacher)" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And I click on "my assignment 2" "link" in the "Ann, Jill, Grainne, Beauchamp" "table_row" And I click on "Save changes" "button" - And "Student One, my assignment 2: Not completed (set by Teacher One)" "icon" should exist in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment 2: Not completed (set by Teacher)" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" And I log out # Student can now complete the activities again, via normal means. Then I log in as "student1" @@ -57,6 +60,10 @@ Feature: Teacher can view and override users' activity completion data via the p And the "View" completion condition of "my assignment 2" overridden by "Teacher One" is displayed as "todo" And I toggle the manual completion state of "my assignment" And the manual completion button of "my assignment" is displayed as "Done" + And "Not completed: my assignment (set by Teacher). Select to mark as complete." "icon" should exist in the "my assignment" "list_item" + And "Not completed: my assignment 2 (set by Teacher)" "icon" should exist in the "my assignment 2" "list_item" + And I click on "Not completed: my assignment (set by Teacher). Select to mark as complete." "icon" + And "Completed: my assignment. Select to mark as not complete." "icon" should exist in the "my assignment" "list_item" And I click on "my assignment 2" "link" And I am on "Course 1" course homepage And the "View" completion condition of "my assignment 2" is displayed as "done" @@ -65,8 +72,8 @@ Feature: Teacher can view and override users' activity completion data via the p When I log in as "teacher1" And I am on "Course 1" course homepage And I navigate to "Reports > Activity completion" in current page administration - And "Student One, my assignment: Completed" "icon" should exist in the "Student One" "table_row" - And "Student One, my assignment 2: Completed" "icon" should exist in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment: Completed" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment 2: Completed" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" # Course comprising one activity with auto completion (student must view it and receive a grade) and one with manual completion. # This confirms that after being overridden to complete by the teacher, that the completion status for activities with automatic @@ -77,19 +84,20 @@ Feature: Teacher can view and override users' activity completion data via the p When I log in as "teacher1" And I am on "Course 1" course homepage And I navigate to "Reports > Activity completion" in current page administration - And "Student One, my assignment: Not completed" "icon" should exist in the "Student One" "table_row" - And "Student One, my assignment 3: Not completed" "icon" should exist in the "Student One" "table_row" - And I click on "my assignment" "link" in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment: Not completed" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment 3: Not completed" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And I click on "my assignment" "link" in the "Ann, Jill, Grainne, Beauchamp" "table_row" And I click on "Save changes" "button" - And "Student One, my assignment: Completed (set by Teacher One)" "icon" should exist in the "Student One" "table_row" - And I click on "my assignment 3" "link" in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment: Completed (set by Teacher)" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" + And I click on "my assignment 3" "link" in the "Ann, Jill, Grainne, Beauchamp" "table_row" And I click on "Save changes" "button" - And "Student One, my assignment 3: Completed (set by Teacher One)" "icon" should exist in the "Student One" "table_row" + And "Ann, Jill, Grainne, Beauchamp, my assignment 3: Completed (set by Teacher)" "icon" should exist in the "Ann, Jill, Grainne, Beauchamp" "table_row" And I log out # Then as a student, confirm that automatic completion checks are no longer triggered (such as after an assign submission). Then I log in as "student1" And I am on "Course 1" course homepage And the "Receive a grade" completion condition of "my assignment 3" overridden by "Teacher One" is displayed as "done" + And "Completed: my assignment 3 (set by Teacher)" "icon" should exist in the "my assignment 3" "list_item" And I click on "my assignment 3" "link" And I press "Add submission" And I set the following fields to these values: @@ -103,3 +111,10 @@ Feature: Teacher can view and override users' activity completion data via the p And the manual completion button of "my assignment" overridden by "Teacher One" is displayed as "Done" And I toggle the manual completion state of "my assignment" And the manual completion button of "my assignment" is displayed as "Mark as done" + And "Completed: my assignment 3 (set by Teacher)" "icon" should exist in the "my assignment 3" "list_item" + # And Confirm that manual completion changes are still allowed. + And I am on "Course 1" course homepage + And "Completed: my assignment (set by Teacher). Select to mark as not complete." "icon" should exist in the "my assignment" "list_item" + And I click on "Completed: my assignment (set by Teacher). Select to mark as not complete." "icon" + And "Not completed: my assignment. Select to mark as complete." "icon" should exist in the "my assignment" "list_item" + And I log out