mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #60541
[Bug 1899571] Re: The only site admin can suspend the account by oneself
To replicate:
1. Have a couple of accounts on the site but only one site admin account
2. Suspend the site admin account:
a) on the account settings page via Admin menu -> People search -> click the username -> suspend the account.
b) select the account on Admin menu -> People search -> 'Edit selected accounts' button
Expected result: It's not possible to do so.
Actual result: You can do that.
Please also check that when there are multiple site admins on the site
that you can suspend one of them as it's not the last one.
** Also affects: mahara/20.10
Importance: Undecided
Status: New
** Also affects: mahara/21.04
Importance: Undecided
Status: New
** Changed in: mahara/20.10
Milestone: 20.04.2 => 20.10.0
** Changed in: mahara/21.04
Milestone: None => 21.04.0
** Changed in: mahara/20.10
Importance: Undecided => Medium
** Changed in: mahara/21.04
Importance: Undecided => Medium
** Changed in: mahara/21.04
Status: New => In Progress
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1899571
Title:
The only site admin can suspend the account by oneself
Status in Mahara:
New
Status in Mahara 20.10 series:
New
Status in Mahara 21.04 series:
In Progress
Bug description:
Now the only site admin can suspend the account by oneself and be locked out from the site.
So I think it's better for us to avoid site admins suspending oneself by changing code as below.
File to modify:
admin/users/bulk.php
Line:
294
[ Before ]
db_begin();
foreach ($users as $user) {
if (!$user->suspendedcusr) {
suspend_user($user->id, $values['reason']);
$suspended++;
}
}
db_commit();
$SESSION->add_ok_msg(get_string('bulksuspenduserssuccess', 'admin', $suspended));
redirect('/admin/users/suspended.php');
[ After ]
db_begin();
foreach ($users as $user) {
if (!$user->suspendedcusr && !get_record('usr', 'id', $user->id, 'admin', '1')) {
suspend_user($user->id, $values['reason']);
$suspended++;
}
}
db_commit();
$SESSION->add_ok_msg(get_string('bulksuspenduserssuccess', 'admin', $suspended));
$SESSION->add_error_msg('You can\'t suspend site admins.');
redirect('/admin/users/suspended.php');
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1899571/+subscriptions
References