← Back to team overview

mahara-contributors team mailing list archive

[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