Merge branch 'MDL-49202_master' of git://github.com/mdjnelson/moodle

This commit is contained in:
Ilya Tregubov
2021-08-19 16:53:30 +02:00
5 changed files with 135 additions and 8 deletions
+1 -1
View File
@@ -190,7 +190,7 @@ if ($mform->is_cancelled()) {
if ($item->cancontrolvisibility) {
// Update hiding flag.
$gradeitem->set_hidden($hide, false);
$gradeitem->set_hidden($hide, true);
}
$gradeitem->set_locktime($locktime); // Locktime first - it might be removed when unlocking.
+9 -5
View File
@@ -683,11 +683,15 @@ class grade_edit_tree {
$gradeitem->grademin, $gradeitem->grademax, 'gradebook');
}
// Update hiding flag.
if ($hiddenuntil) {
$gradeitem->set_hidden($hiddenuntil, false);
} else {
$gradeitem->set_hidden($hidden, false);
// Only update the category's 'hidden' status if it has changed. Leaving a category as 'unhidden' (checkbox left
// unmarked) and submitting the form without this conditional check will result in displaying any grade items that
// are in the category, including those that were previously 'hidden'.
if (($gradecategory->get_hidden() != $hiddenuntil) || ($gradecategory->get_hidden() != $hidden)) {
if ($hiddenuntil) {
$gradecategory->set_hidden($hiddenuntil, true);
} else {
$gradecategory->set_hidden($hidden, true);
}
}
$gradeitem->set_locktime($locktime); // Locktime first - it might be removed when unlocking.
@@ -0,0 +1,123 @@
@core @core_grades
Feature: Teacher can unhide grades on the edit page allowing students to view their grades
In order to show the grades of an activity to a student
As a teacher
I need to unhide an activity on the edit page
Background:
Given the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student1@example.com |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And the following "activities" exist:
| activity | course | idnumber | name | intro | assignfeedback_comments_enabled |
| assign | C1 | assign1 | Test assignment name | Test assignment description | 1 |
And I am on the "Test assignment name" "assign activity" page logged in as teacher1
And I navigate to "View all submissions" in current page administration
And I click on "Grade" "link" in the "Student 1" "table_row"
And I set the following fields to these values:
| Grade out of 100 | 50 |
| Feedback comments | I'm the teacher feedback |
And I press "Save changes"
And I am on "Course 1" course homepage
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
And I should see "50.00"
And I should see "I'm the teacher feedback" in the "Feedback comments" "table_row"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
@javascript
Scenario: Hiding the activity using the drop-down hide link and then unhiding the activity using the edit settings form page
Given I click on "Edit" "link" in the "Test assignment name" "table_row"
And I click on "Hide" "link" in the "Test assignment name" "table_row"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
And I should not see "50.00"
And I should not see "I'm the teacher feedback"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
And I click on "Edit" "link" in the "Test assignment name" "table_row"
And I click on "Edit settings" "link" in the "Test assignment name" "table_row"
And the field "Hidden" matches value "1"
And I set the field "Hidden" to "0"
And I press "Save changes"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
Then I should see "50.00"
And I should see "I'm the teacher feedback" in the "Feedback comments" "table_row"
@javascript
Scenario: Hiding the activity using the edit settings form page and then unhiding the activity using the drop-down show link
Given I click on "Edit" "link" in the "Test assignment name" "table_row"
And I click on "Edit settings" "link" in the "Test assignment name" "table_row"
And I set the field "Hidden" to "1"
And I press "Save changes"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
And I should not see "50.00"
And I should not see "I'm the teacher feedback"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
And I click on "Edit" "link" in the "Test assignment name" "table_row"
And I click on "Show" "link" in the "Test assignment name" "table_row"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
Then I should see "50.00"
And I should see "I'm the teacher feedback" in the "Feedback comments" "table_row"
@javascript
Scenario: Hiding the category using the drop-down hide link and then unhiding the category using the edit settings form page
Given I click on "Edit" "link" in the "Course 1" "table_row"
And I click on "Hide" "link" in the "Course 1" "table_row"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
And I should not see "50.00"
And I should not see "I'm the teacher feedback"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
And I click on "Edit" "link" in the "Course 1" "table_row"
And I click on "Edit settings" "link" in the "Course 1" "table_row"
And the field "Hidden" matches value "1"
And I set the field "Hidden" to "0"
And I press "Save changes"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
Then I should see "50.00"
And I should see "I'm the teacher feedback" in the "Feedback comments" "table_row"
@javascript
Scenario: Hiding the category using the edit settings form page and then unhiding the category using the drop-down show link
Given I click on "Edit" "link" in the "Course 1" "table_row"
And I click on "Edit settings" "link" in the "Course 1" "table_row"
And I set the field "Hidden" to "1"
And I press "Save changes"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
And I should not see "50.00"
And I should not see "I'm the teacher feedback"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
And I click on "Edit" "link" in the "Course 1" "table_row"
And I click on "Show" "link" in the "Course 1" "table_row"
And I log out
And I am on the "Test assignment name" "assign activity" page logged in as student1
Then I should see "50.00"
And I should see "I'm the teacher feedback" in the "Feedback comments" "table_row"
+1 -1
View File
@@ -85,7 +85,7 @@ class create_gradecategories_testcase extends \externallib_advanced_testcase {
'display' => GRADE_DISPLAY_TYPE_LETTER,
// Hack. This must be -2 to use the default setting.
'decimals' => 3,
'hiddenuntil' => time(),
'hiddenuntil' => 0,
'locktime' => time(),
'weightoverride' => 1,
'aggregationcoef2' => 20,
+1 -1
View File
@@ -579,7 +579,7 @@ class core_grades_external_testcase extends externallib_advanced_testcase {
'display' => GRADE_DISPLAY_TYPE_LETTER,
// Hack. This must be -2 to use the default setting.
'decimals' => 3,
'hiddenuntil' => time(),
'hiddenuntil' => 0,
'locktime' => time(),
'weightoverride' => 1,
'aggregationcoef2' => 20,