MDL-70335 mod_forum: Subscribe users from Forced to Auto mode

When a teacher changes the subscription mode from forced
subscription to auto subscription using the "cog" icon in the
forum page, users are not seen in the Show/edit current
subscribers" page.

This does not happens when done from the Edit settings page.
This commit is contained in:
Juan Segarra Montesinos
2021-07-03 09:51:28 +02:00
parent aeb47889fa
commit b7b5d7112f
2 changed files with 43 additions and 1 deletions
+3 -1
View File
@@ -141,13 +141,15 @@ if (!is_null($mode) and has_capability('mod/forum:managesubscriptions', $context
);
break;
case FORUM_INITIALSUBSCRIBE : // 2
\mod_forum\subscriptions::set_subscription_mode($forum->id, FORUM_INITIALSUBSCRIBE);
if ($forum->forcesubscribe <> FORUM_INITIALSUBSCRIBE) {
// Reload the forum again to get the updated forcesubscribe field.
$forum = $DB->get_record('forum', array('id' => $id), '*', MUST_EXIST);
$users = \mod_forum\subscriptions::get_potential_subscribers($context, 0, 'u.id, u.email', '');
foreach ($users as $user) {
\mod_forum\subscriptions::subscribe_user($user->id, $forum, $context);
}
}
\mod_forum\subscriptions::set_subscription_mode($forum->id, FORUM_INITIALSUBSCRIBE);
redirect(
$returnto,
get_string('everyoneisnowsubscribed', 'forum'),
@@ -0,0 +1,40 @@
@mod @mod_forum
Feature: Changes to the subscription mode of a forum can change subcribers of a forum
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 the following "activity" exists:
| activity | forum |
| idnumber | f01 |
| course | C1 |
| intro | Test forum description |
| name | Test forum name |
| type | general |
| forcesubscribe | 1 |
And I log in as "teacher"
And I am on "Course 1" course homepage
@javascript
Scenario: A change from Forced subscription to Auto subcription causes all participants to be subscribed
Given I follow "Test forum name"
And I navigate to "Auto subscription" in current page administration
When I navigate to "Show/edit current subscribers" in current page administration
Then I should not see "There are no subscribers yet for this forum"
And I should see "Student 1"
And I should see "student.1@example.com"
And I should see "Student 2"
And I should see "student.2@example.com"
And I should see "Teacher Tom"
And I should see "teacher@example.com"