BUG 14093 "User is able to delete groups and..." SOLVED

- User is able to delete groups and it is being used by a process.
- Problema resuelto, cuando se elimina a un grupo por ADMIN>USERS>GROUPS por un usuario, este grupo puede ser eliminado
  sin restriccion aunque el grupo este asignado a una tarea lo cual no es correcto.

  Se hace una validacion que verifica si el grupo esta asignado a una tarea, el grupo NO puede ser eliminado, se eliminara
  el grupo cuando este no este asignado a ninguna tarea.

  Disponible para la version 2.5.3 de ProcessMaker.
This commit is contained in:
Luis Fernando Saisa Lopez
2014-04-04 10:42:33 -04:00
parent 92947e646a
commit 1ae64752d8
2 changed files with 68 additions and 26 deletions

View File

@@ -178,7 +178,7 @@ switch ($_POST['action']) {
$criteria = new Criteria( 'workflow' );
$criteria->add(ObjectPermissionPeer::USR_UID, $_POST['GRP_UID']);
ObjectPermissionPeer::doDelete( $criteria );
//Delete supervisors assignments
require_once 'classes/model/ProcessUser.php';
$criteria = new Criteria( 'workflow' );
@@ -342,5 +342,24 @@ switch ($_POST['action']) {
$c->saveConfig( 'groupList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
echo '{success: true}';
break;
}
case "verifyIfAssigned":
$groupUid = $_POST["groupUid"];
$message = "OK";
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(TaskUserPeer::TAS_UID);
$criteria->add(TaskUserPeer::USR_UID, $groupUid, Criteria::EQUAL);
$criteria->add(TaskUserPeer::TU_RELATION, "2", Criteria::EQUAL);
$rsCriteria = TaskUserPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if($rsCriteria->next() != 0) {
$message = "ERROR";
}
$response = array();
$response["result"] = $message;
echo G::json_encode($response);
break;
}