MDL-73110 report_completion: support custom user identity fields.

This commit is contained in:
Paul Holden 2021-11-18 09:04:47 +00:00
parent 6c114e2a80
commit c82ca19eb7
2 changed files with 32 additions and 13 deletions

View File

@ -67,9 +67,8 @@ $start = optional_param('start', 0, PARAM_INT);
$sifirst = optional_param('sifirst', 'all', PARAM_NOTAGS);
$silast = optional_param('silast', 'all', PARAM_NOTAGS);
// Whether to show extra user identity information
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core_user\fields::get_identity_fields($context, false);
// Whether to show extra user identity information.
$extrafields = \core_user\fields::get_identity_fields($context, true);
$leftcols = 1 + count($extrafields);
// Check permissions

View File

@ -5,10 +5,13 @@ Feature: See the completion for items in a course
I need to view completion report
Background:
Given the following "users" exist:
| username | firstname | lastname | email | idnumber | middlename | alternatename | firstnamephonetic | lastnamephonetic |
| teacher1 | Teacher | 1 | teacher1@example.com | t1 | | fred | | |
| student1 | Grainne | Beauchamp | student1@example.com | s1 | Ann | Jill | Gronya | Beecham |
Given the following "custom profile fields" exist:
| datatype | shortname | name |
| text | fruit | Fruit |
And the following "users" exist:
| username | firstname | lastname | email | middlename | alternatename | firstnamephonetic | lastnamephonetic | profile_field_fruit |
| teacher1 | Teacher | 1 | teacher1@example.com | | fred | | | |
| student1 | Grainne | Beauchamp | student1@example.com | Ann | Jill | Gronya | Beecham | Kumquat |
And the following "courses" exist:
| fullname | shortname | category | enablecompletion |
| Course 1 | C1 | 0 | 1 |
@ -19,14 +22,13 @@ Feature: See the completion for items in a course
And the following "activities" exist:
| activity | name | intro | course | idnumber | completion | completionview |
| page | PageName1 | PageDesc1 | C1 | PAGE1 | 1 | 1 |
And the following config values are set as admin:
| fullnamedisplay | firstname |
| alternativefullnameformat | middlename, alternatename, firstname, lastname |
@javascript
Scenario: Go to the completion report
Given I log in as "teacher1"
And I am on "Course 1" course homepage
Scenario: The completion report respects user fullname setting
Given the following config values are set as admin:
| fullnamedisplay | firstname |
| alternativefullnameformat | middlename, alternatename, firstname, lastname |
And I am on the "C1" "Course" page logged in as "teacher1"
And I navigate to "Course completion" in current page administration
And I expand all fieldsets
And I set the following fields to these values:
@ -36,3 +38,21 @@ Feature: See the completion for items in a course
When I navigate to "Reports" in current page administration
And I click on "Course completion" "link" in the "region-main" "region"
Then I should see "Ann, Jill, Grainne, Beauchamp"
@javascript
Scenario: The completion report displays custom user profile fields
Given the following config values are set as admin:
| showuseridentity | email,profile_field_fruit |
And I am on the "C1" "Course" page logged in as "teacher1"
And I navigate to "Course completion" in current page administration
And I expand all fieldsets
And I set the following fields to these values:
| Page - PageName1 | 1 |
And I press "Save changes"
And I am on "Course 1" course homepage
When I navigate to "Reports" in current page administration
And I click on "Course completion" "link" in the "region-main" "region"
# We can't refer to table headings by name because they aren't on the first row.
Then the following should exist in the "completionreport" table:
| -1- | -2- | -3- |
| Grainne Beauchamp | student1@example.com | Kumquat |