Re-assign files to first non deleted admin user
This commit is contained in:
parent
3233ccd151
commit
2ea19f20fe
2 changed files with 20 additions and 3 deletions
|
@ -204,7 +204,7 @@ class UserController extends Zend_Controller_Action
|
|||
# TODO : remove this. we only use default for now not to break the UI.
|
||||
if (!$files_action) { # set default action
|
||||
$files_action = "reassign_to";
|
||||
$new_owner = Application_Model_User::getFirstAdmin();
|
||||
$new_owner = Application_Model_User::getFirstAdmin($delId);
|
||||
}
|
||||
|
||||
# only delete when valid action is selected for the owned files
|
||||
|
|
|
@ -253,12 +253,29 @@ class Application_Model_User
|
|||
return CcSubjsQuery::create()->filterByDbType($type)->find();
|
||||
}
|
||||
|
||||
public static function getFirstAdmin() {
|
||||
/**
|
||||
* Get the first admin user from the database
|
||||
*
|
||||
* This function gets used in UserController in the delete action. The controller
|
||||
* uses it to figure out who to reassign the deleted users files to.
|
||||
*
|
||||
* @param $ignoreUser String optional userid of a user that shall be ignored when
|
||||
* when looking for the "first" admin.
|
||||
*
|
||||
* @return CcSubj|null
|
||||
*/
|
||||
public static function getFirstAdmin($ignoreUser = null) {
|
||||
$superAdmins = Application_Model_User::getUsersOfType('S');
|
||||
if (count($superAdmins) > 0) { // found superadmin => pick first one
|
||||
return $superAdmins[0];
|
||||
} else {
|
||||
$admins = Application_Model_User::getUsersOfType('A');
|
||||
// get all admin users
|
||||
$query = CcSubjsQuery::create()->filterByDbType('A');
|
||||
// ignore current user if one was specified
|
||||
if ($ignoreUser !== null) {
|
||||
$query->filterByDbId($ignoreUser, Criteria::NOT_EQUAL);
|
||||
}
|
||||
$admins = $query->find();
|
||||
if (count($admins) > 0) { // found admin => pick first one
|
||||
return $admins[0];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue