MDL-22043 mod_forum: Fix toggle subscription editing button behaviour

Update the user session property before generating the button which relies
upon it.
This commit is contained in:
Andrew Nicols 2014-11-19 13:10:04 +08:00
parent a74d4743e1
commit ad5fe454df
2 changed files with 47 additions and 1 deletions

View File

@ -101,10 +101,10 @@ $PAGE->navbar->add($strsubscribers);
$PAGE->set_title($strsubscribers);
$PAGE->set_heading($COURSE->fullname);
if (has_capability('mod/forum:managesubscriptions', $context)) {
$PAGE->set_button(forum_update_subscriptions_button($course->id, $id));
if ($edit != -1) {
$USER->subscriptionsediting = $edit;
}
$PAGE->set_button(forum_update_subscriptions_button($course->id, $id));
} else {
unset($USER->subscriptionsediting);
}

View File

@ -0,0 +1,46 @@
@mod @mod_forum
Feature: A teacher can control the subscription to a forum
In order to change individual user's subscriptions
As a course administrator
I can change subscription setting for my users
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher | Teacher | Tom | teacher@example.com |
| student1 | Student | 1 | student.1@example.com |
| student2 | Student | 2 | student.2@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher | C1 | editingteacher |
| student1 | C1 | student |
| student2 | C1 | student |
And I log in as "teacher"
And I follow "Course 1"
And I turn editing mode on
And I add a "Forum" to section "1" and I fill the form with:
| Forum name | Test forum name |
| Forum type | Standard forum for general use |
| Description | Test forum description |
| Subscription mode | Auto subscription |
Scenario: A teacher can change toggle subscription editing on and off
Given I follow "Test forum name"
And I follow "Show/edit current subscribers"
Then ".userselector" "css_element" should not exist
And "Turn editing on" "button" should exist
And I press "Turn editing on"
And ".userselector" "css_element" should exist
And "Turn editing off" "button" should exist
And I press "Turn editing off"
And ".userselector" "css_element" should not exist
And "Turn editing on" "button" should exist
And I press "Turn editing on"
And ".userselector" "css_element" should exist
And "Turn editing off" "button" should exist
And I press "Turn editing off"
And ".userselector" "css_element" should not exist
And "Turn editing on" "button" should exist