diff --git a/mod/assign/overrides.php b/mod/assign/overrides.php index 1125b734f05..effc9df7e19 100644 --- a/mod/assign/overrides.php +++ b/mod/assign/overrides.php @@ -201,17 +201,15 @@ foreach ($overrides as $override) { // Icons. $iconstr = ''; - if ($active) { - // Edit. - $editurlstr = $overrideediturl->out(true, array('id' => $override->id)); - $iconstr = '' . - $OUTPUT->pix_icon('t/edit', get_string('edit')) . ' '; - // Duplicate. - $copyurlstr = $overrideediturl->out(true, - array('id' => $override->id, 'action' => 'duplicate')); - $iconstr .= '' . - $OUTPUT->pix_icon('t/copy', get_string('copy')) . ' '; - } + // Edit. + $editurlstr = $overrideediturl->out(true, array('id' => $override->id)); + $iconstr = '' . + $OUTPUT->pix_icon('t/edit', get_string('edit')) . ' '; + // Duplicate. + $copyurlstr = $overrideediturl->out(true, + array('id' => $override->id, 'action' => 'duplicate')); + $iconstr .= '' . + $OUTPUT->pix_icon('t/copy', get_string('copy')) . ' '; // Delete. $deleteurlstr = $overridedeleteurl->out(true, array('id' => $override->id, 'sesskey' => sesskey())); diff --git a/mod/assign/tests/behat/assign_user_override.feature b/mod/assign/tests/behat/assign_user_override.feature index ef542ce7e8d..9f1e0394c93 100644 --- a/mod/assign/tests/behat/assign_user_override.feature +++ b/mod/assign/tests/behat/assign_user_override.feature @@ -277,3 +277,28 @@ Feature: Assign user override And I navigate to "User overrides" in current page administration Then I should see "Student1" in the ".generaltable" "css_element" And I should not see "Student2" in the ".generaltable" "css_element" + + @javascript + Scenario: Create a user override when the assignment is not available to the student + Given I log in as "teacher1" + And I am on "Course 1" course homepage with editing mode on + And I follow "Test assignment name" + And I navigate to "Edit settings" in current page administration + And I expand all fieldsets + And I set the field "Availability" to "Hide from students" + And I click on "Save and display" "button" + When I navigate to "User overrides" in current page administration + And I press "Add user override" + And I set the following fields to these values: + | Override user | Student1 | + | id_allowsubmissionsfromdate_enabled | 1 | + | allowsubmissionsfromdate[day] | 1 | + | allowsubmissionsfromdate[month] | January | + | allowsubmissionsfromdate[year] | 2015 | + | allowsubmissionsfromdate[hour] | 08 | + | allowsubmissionsfromdate[minute] | 00 | + And I press "Save" + Then I should see "This override is inactive" + And "Edit" "icon" should exist in the "Sam1 Student1" "table_row" + And "copy" "icon" should exist in the "Sam1 Student1" "table_row" + And "Delete" "icon" should exist in the "Sam1 Student1" "table_row" diff --git a/mod/lesson/overrides.php b/mod/lesson/overrides.php index 657dcfb4b19..9ff3cddc598 100644 --- a/mod/lesson/overrides.php +++ b/mod/lesson/overrides.php @@ -218,17 +218,15 @@ foreach ($overrides as $override) { // Icons. $iconstr = ''; - if ($active) { - // Edit. - $editurlstr = $overrideediturl->out(true, array('id' => $override->id)); - $iconstr = '' . - $OUTPUT->pix_icon('t/edit', get_string('edit')) . ' '; - // Duplicate. - $copyurlstr = $overrideediturl->out(true, - array('id' => $override->id, 'action' => 'duplicate')); - $iconstr .= '' . - $OUTPUT->pix_icon('t/copy', get_string('copy')) . ' '; - } + // Edit. + $editurlstr = $overrideediturl->out(true, array('id' => $override->id)); + $iconstr = '' . + $OUTPUT->pix_icon('t/edit', get_string('edit')) . ' '; + // Duplicate. + $copyurlstr = $overrideediturl->out(true, + array('id' => $override->id, 'action' => 'duplicate')); + $iconstr .= '' . + $OUTPUT->pix_icon('t/copy', get_string('copy')) . ' '; // Delete. $deleteurlstr = $overridedeleteurl->out(true, array('id' => $override->id, 'sesskey' => sesskey())); diff --git a/mod/lesson/tests/behat/lesson_user_override.feature b/mod/lesson/tests/behat/lesson_user_override.feature index e6b9fd0a8dd..fecffd63f23 100644 --- a/mod/lesson/tests/behat/lesson_user_override.feature +++ b/mod/lesson/tests/behat/lesson_user_override.feature @@ -248,7 +248,7 @@ Feature: Lesson user override And I log in as "student2" And I am on "Course 1" course homepage And I follow "Test lesson" - Then I should see "This lesson will be open on Tuesday, 1 January 2030, 8:00" + Then I should see "This lesson will be open on Tuesday, 1 January 2030, 8:00" And I should not see "Cat is an amphibian" And I log out And I log in as "student1" @@ -383,3 +383,23 @@ Feature: Lesson user override And I navigate to "User overrides" in current page administration Then I should see "Student1" in the ".generaltable" "css_element" And I should not see "Student2" in the ".generaltable" "css_element" + + @javascript + Scenario: Create a user override when the lesson is not available to the student + Given I log in as "teacher1" + And I am on "Course 1" course homepage with editing mode on + And I follow "Test lesson name" + And I navigate to "Edit settings" in current page administration + And I expand all fieldsets + And I set the field "Availability" to "Hide from students" + And I click on "Save and display" "button" + When I navigate to "User overrides" in current page administration + And I press "Add user override" + And I set the following fields to these values: + | Override user | Student1 | + | Maximum number of attempts | 2 | + And I press "Save" + Then I should see "This override is inactive" + And "Edit" "icon" should exist in the "Sam1 Student1" "table_row" + And "copy" "icon" should exist in the "Sam1 Student1" "table_row" + And "Delete" "icon" should exist in the "Sam1 Student1" "table_row" diff --git a/mod/quiz/tests/behat/quiz_user_override.feature b/mod/quiz/tests/behat/quiz_user_override.feature index 344488fa7e1..408345d8b22 100644 --- a/mod/quiz/tests/behat/quiz_user_override.feature +++ b/mod/quiz/tests/behat/quiz_user_override.feature @@ -63,7 +63,10 @@ Feature: Quiz user override | Override user | Student1 | | Attempts allowed | 1 | And I press "Save" - Then "Edit" "icon" should exist in the "Student One" "table_row" + Then I should see "This override is inactive" + And "Edit" "icon" should exist in the "Student One" "table_row" + And "copy" "icon" should exist in the "Student One" "table_row" + And "Delete" "icon" should exist in the "Student One" "table_row" Scenario: A teacher without accessallgroups permission should only be able to add user override for users that he/she shares groups with, when the activity's group mode is to "separate groups"