From 809f224e7d36ed8eb8505b4d76849597ac431262 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 28 Nov 2019 09:18:42 +0100 Subject: [PATCH] processes can be transfered to a new user currently only for reviews --- op/op.UsrMgr.php | 7 ++++++- out/out.RemoveUserFromProcesses.php | 3 +++ .../class.RemoveUserFromProcesses.php | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index d5619115c..1fd903e1a 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -205,6 +205,11 @@ else if ($action == "removefromprocesses") { UI::exitError(getMLText("admin_tools"),getMLText("cannot_delete_yourself")); } + $userToAssign = $dms->getUser($_POST["assignTo"]); + if (!is_object($userToAssign)) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); + } + $userToRemove = $dms->getUser($userid); if (!is_object($userToRemove)) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); @@ -219,7 +224,7 @@ else if ($action == "removefromprocesses") { $_POST["status"]["receipt"] = array(); if(!isset($_POST["status"]["revision"])) $_POST["status"]["revision"] = array(); - if (!$userToRemove->removeFromProcesses($user, $_POST['status'])) { + if (!$userToRemove->removeFromProcesses($user, $_POST['status'], $userToAssign)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } diff --git a/out/out.RemoveUserFromProcesses.php b/out/out.RemoveUserFromProcesses.php index 682c84219..db093a08b 100644 --- a/out/out.RemoveUserFromProcesses.php +++ b/out/out.RemoveUserFromProcesses.php @@ -48,8 +48,11 @@ if ($rmuser->getID()==$user->getID()) { UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_yourself")); } +$allusers = $dms->getAllUsers($settings->_sortUsersInList); + if($view) { $view->setParam('rmuser', $rmuser); + $view->setParam('allusers', $allusers); $view->setParam('accessobject', $accessop); $view($_GET); exit; diff --git a/views/bootstrap/class.RemoveUserFromProcesses.php b/views/bootstrap/class.RemoveUserFromProcesses.php index 23bfcd13d..abb541416 100644 --- a/views/bootstrap/class.RemoveUserFromProcesses.php +++ b/views/bootstrap/class.RemoveUserFromProcesses.php @@ -31,6 +31,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { $dms = $this->params['dms']; $user = $this->params['user']; $rmuser = $this->params['rmuser']; + $allusers = $this->params['allusers']; $this->htmlStartPage(getMLText("admin_tools")); $this->globalNavigation(); @@ -51,6 +52,23 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { isGuest() || ($currUser->getID() == $rmuser->getID()) ) + continue; + + if ($rmuser && $currUser->getID()==$rmuser->getID()) $selected=$count; + $options[] = array($currUser->getID(), htmlspecialchars($currUser->getLogin()." - ".$currUser->getFullName())); + } + $this->formField( + getMLText("transfer_process_to_user"), + array( + 'element'=>'select', + 'name'=>'assignTo', + 'class'=>'chzn-select', + 'options'=>$options + ) + ); $reviewStatus = $rmuser->getReviewStatus(); $tmpr = array(); $cr = array("-2"=>0, '-1'=>0, '0'=>0, '1'=>0);