HOR-4478
This commit is contained in:
@@ -5783,6 +5783,7 @@ class Cases
|
|||||||
$resultCaseNotes = 0;
|
$resultCaseNotes = 0;
|
||||||
$resultSummary = 0;
|
$resultSummary = 0;
|
||||||
$resultMessages = [];
|
$resultMessages = [];
|
||||||
|
$resultReassignCases = [];
|
||||||
|
|
||||||
foreach ($permissions as $row) {
|
foreach ($permissions as $row) {
|
||||||
$userUid = $row['USR_UID'];
|
$userUid = $row['USR_UID'];
|
||||||
@@ -5927,7 +5928,7 @@ class Cases
|
|||||||
break;
|
break;
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
case 'MSGS_HISTORY':
|
case 'MSGS_HISTORY':
|
||||||
$listMessage= $objectPermission->objectPermissionMessage(
|
$listMessage = $objectPermission->objectPermissionMessage(
|
||||||
$appUid,
|
$appUid,
|
||||||
$proUid,
|
$proUid,
|
||||||
$userUid,
|
$userUid,
|
||||||
@@ -5939,11 +5940,17 @@ class Cases
|
|||||||
);
|
);
|
||||||
$resultMessages = array_merge($resultMessages, $listMessage);
|
$resultMessages = array_merge($resultMessages, $listMessage);
|
||||||
break;
|
break;
|
||||||
|
/*----------------------------------********---------------------------------*/
|
||||||
|
case 'REASSIGN_MY_CASES':
|
||||||
|
$listReassign = $objectPermission->objectPermissionByReassignCases($appUid, $proUid, $tasUid);
|
||||||
|
$resultReassignCases = array_merge($resultReassignCases, $listReassign);
|
||||||
|
break;
|
||||||
|
/*----------------------------------********---------------------------------*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return array(
|
return [
|
||||||
"DYNAFORMS" => $resultDynaforms,
|
"DYNAFORMS" => $resultDynaforms,
|
||||||
"INPUT_DOCUMENTS" => $resultInputs,
|
"INPUT_DOCUMENTS" => $resultInputs,
|
||||||
"ATTACHMENTS" => $resultAttachments,
|
"ATTACHMENTS" => $resultAttachments,
|
||||||
@@ -5951,9 +5958,10 @@ class Cases
|
|||||||
"CASES_NOTES" => $resultCaseNotes,
|
"CASES_NOTES" => $resultCaseNotes,
|
||||||
"MSGS_HISTORY" => $resultMessages
|
"MSGS_HISTORY" => $resultMessages
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
, "REASSIGN_MY_CASES" => $resultReassignCases
|
||||||
, "SUMMARY_FORM" => $resultSummary
|
, "SUMMARY_FORM" => $resultSummary
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ use ProcessMaker\BusinessModel\Cases\InputDocument;
|
|||||||
|
|
||||||
class ObjectPermission extends BaseObjectPermission
|
class ObjectPermission extends BaseObjectPermission
|
||||||
{
|
{
|
||||||
|
const OP_PARTICIPATE_NO = 0;
|
||||||
|
const OP_PARTICIPATE_YES = 1;
|
||||||
|
const OP_PARTICIPATE_NONE = 2;
|
||||||
/**
|
/**
|
||||||
* Get the fields related to the user uid
|
* Get the fields related to the user uid
|
||||||
*
|
*
|
||||||
@@ -161,32 +164,21 @@ class ObjectPermission extends BaseObjectPermission
|
|||||||
* @param string $proUid the uid of the process
|
* @param string $proUid the uid of the process
|
||||||
* @param string $tasUid the uid of the task
|
* @param string $tasUid the uid of the task
|
||||||
* @param string $action for the object permissions VIEW, BLOCK, RESEND
|
* @param string $action for the object permissions VIEW, BLOCK, RESEND
|
||||||
|
* this parameter is no used for the permission REASSIGN_MY_CASES
|
||||||
* @param array $caseData for review the case status DRAFT, TODO, COMPLETED, PAUSED
|
* @param array $caseData for review the case status DRAFT, TODO, COMPLETED, PAUSED
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyObjectPermissionPerUser ($usrUid, $proUid, $tasUid = '', $action = '', $caseData = array())
|
public function verifyObjectPermissionPerUser ($usrUid, $proUid, $tasUid = '', $action = '', $caseData = array())
|
||||||
{
|
{
|
||||||
$userPermissions = array();
|
$userPermissions = [];
|
||||||
$oCriteria = new Criteria('workflow');
|
$criteria = new Criteria('workflow');
|
||||||
$oCriteria->add(
|
$criteria->add(ObjectPermissionPeer::USR_UID, ['','0',$usrUid], Criteria::IN);
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, $usrUid)->addOr(
|
$criteria->add(ObjectPermissionPeer::PRO_UID, $proUid);
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, '')->addOr(
|
$criteria->add(ObjectPermissionPeer::OP_ACTION, ['','0',$action], Criteria::IN);
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, '0')
|
$criteria->add(ObjectPermissionPeer::TAS_UID, ['','0',$tasUid], Criteria::IN);
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
$oCriteria->add(ObjectPermissionPeer::PRO_UID, $proUid);
|
|
||||||
$oCriteria->add(ObjectPermissionPeer::OP_ACTION, $action);
|
|
||||||
$oCriteria->add(
|
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, $tasUid)->addOr(
|
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')->addOr(
|
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '0')
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$rs = ObjectPermissionPeer::doSelectRS($oCriteria);
|
$rs = ObjectPermissionPeer::doSelectRS($criteria);
|
||||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
|
||||||
while ($rs->next()) {
|
while ($rs->next()) {
|
||||||
@@ -219,19 +211,13 @@ class ObjectPermission extends BaseObjectPermission
|
|||||||
$groupPermissions = array();
|
$groupPermissions = array();
|
||||||
|
|
||||||
foreach ($records as $group) {
|
foreach ($records as $group) {
|
||||||
$oCriteria = new Criteria('workflow');
|
$criteria = new Criteria('workflow');
|
||||||
$oCriteria->add(ObjectPermissionPeer::USR_UID, $group);
|
$criteria->add(ObjectPermissionPeer::USR_UID, $group);
|
||||||
$oCriteria->add(ObjectPermissionPeer::PRO_UID, $proUid);
|
$criteria->add(ObjectPermissionPeer::PRO_UID, $proUid);
|
||||||
$oCriteria->add(ObjectPermissionPeer::OP_ACTION, $action);
|
$criteria->add(ObjectPermissionPeer::OP_ACTION, ['','0',$action], Criteria::IN);
|
||||||
$oCriteria->add(
|
$criteria->add(ObjectPermissionPeer::TAS_UID, ['','0',$tasUid], Criteria::IN);
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, $tasUid)->addOr(
|
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')->addOr(
|
|
||||||
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '0')
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$rs = ObjectPermissionPeer::doSelectRS($oCriteria);
|
$rs = ObjectPermissionPeer::doSelectRS($criteria);
|
||||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
while ($rs->next()) {
|
while ($rs->next()) {
|
||||||
$row = $rs->getRow();
|
$row = $rs->getRow();
|
||||||
@@ -425,6 +411,44 @@ class ObjectPermission extends BaseObjectPermission
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verify the access to the permission REASSIGN_MY_CASES over the case
|
||||||
|
* Check if the case is TO_DO and if the $tasUid is not empty we will to consider the thread in this task
|
||||||
|
*
|
||||||
|
* @param string $appUid the uid of the case
|
||||||
|
* @param string $proUid the uid of the process
|
||||||
|
* @param string $tasUid the uid of the target Task
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function objectPermissionByReassignCases($appUid, $proUid, $tasUid = '')
|
||||||
|
{
|
||||||
|
$result = [];
|
||||||
|
/*----------------------------------********---------------------------------*/
|
||||||
|
$criteria = new Criteria('workflow');
|
||||||
|
$criteria->addSelectColumn(ApplicationPeer::APP_UID);
|
||||||
|
$criteria->add(ApplicationPeer::APP_UID, $appUid, Criteria::EQUAL);
|
||||||
|
$criteria->add(ApplicationPeer::PRO_UID, $proUid, Criteria::EQUAL);
|
||||||
|
$criteria->add(ApplicationPeer::APP_STATUS, 'TO_DO', Criteria::EQUAL);
|
||||||
|
|
||||||
|
//Review if the target task is OPEN
|
||||||
|
if (!empty($tasUid)) {
|
||||||
|
$criteria->addJoin(AppDelegationPeer::APP_NUMBER, ApplicationPeer::APP_NUMBER, Criteria::LEFT_JOIN);
|
||||||
|
$criteria->add(AppDelegationPeer::TAS_UID, $tasUid, Criteria::EQUAL);
|
||||||
|
$criteria->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN', Criteria::EQUAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
$dataset = ApplicationPeer::doSelectRS($criteria);
|
||||||
|
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$dataset->next();
|
||||||
|
if ($row = $dataset->getRow()) {
|
||||||
|
$result[] = $row['APP_UID'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------********---------------------------------*/
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verify if the user has a objectPermission for some process
|
* Verify if the user has a objectPermission for some process
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ class ObjectPermissionMapBuilder
|
|||||||
|
|
||||||
$tMap->addColumn('OP_PARTICIPATE', 'OpParticipate', 'int', CreoleTypes::INTEGER, true, null);
|
$tMap->addColumn('OP_PARTICIPATE', 'OpParticipate', 'int', CreoleTypes::INTEGER, true, null);
|
||||||
|
|
||||||
$tMap->addColumn('OP_OBJ_TYPE', 'OpObjType', 'string', CreoleTypes::VARCHAR, true, 15);
|
$tMap->addColumn('OP_OBJ_TYPE', 'OpObjType', 'string', CreoleTypes::VARCHAR, true, 20);
|
||||||
|
|
||||||
$tMap->addColumn('OP_OBJ_UID', 'OpObjUid', 'string', CreoleTypes::VARCHAR, true, 32);
|
$tMap->addColumn('OP_OBJ_UID', 'OpObjUid', 'string', CreoleTypes::VARCHAR, true, 32);
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ class ObjectPermissionMapBuilder
|
|||||||
|
|
||||||
$tMap->addValidator('OP_PARTICIPATE', 'required', 'propel.validator.RequiredValidator', '', 'Participation is required.');
|
$tMap->addValidator('OP_PARTICIPATE', 'required', 'propel.validator.RequiredValidator', '', 'Participation is required.');
|
||||||
|
|
||||||
$tMap->addValidator('OP_OBJ_TYPE', 'maxLength', 'propel.validator.MaxLengthValidator', '15', 'Object type can be no larger than 15 in size');
|
$tMap->addValidator('OP_OBJ_TYPE', 'maxLength', 'propel.validator.MaxLengthValidator', '20', 'Object type can be no larger than 20 in size');
|
||||||
|
|
||||||
$tMap->addValidator('OP_OBJ_TYPE', 'required', 'propel.validator.RequiredValidator', '', 'Object type is required.');
|
$tMap->addValidator('OP_OBJ_TYPE', 'required', 'propel.validator.RequiredValidator', '', 'Object type is required.');
|
||||||
|
|
||||||
|
|||||||
@@ -1998,7 +1998,7 @@
|
|||||||
<column name="OP_USER_RELATION" type="INTEGER" required="true" default="0"/>
|
<column name="OP_USER_RELATION" type="INTEGER" required="true" default="0"/>
|
||||||
<column name="OP_TASK_SOURCE" type="VARCHAR" size="32" required="" default="0"/>
|
<column name="OP_TASK_SOURCE" type="VARCHAR" size="32" required="" default="0"/>
|
||||||
<column name="OP_PARTICIPATE" type="INTEGER" required="true" default="0"/>
|
<column name="OP_PARTICIPATE" type="INTEGER" required="true" default="0"/>
|
||||||
<column name="OP_OBJ_TYPE" type="VARCHAR" size="15" required="true" default="0"/>
|
<column name="OP_OBJ_TYPE" type="VARCHAR" size="20" required="true" default="0"/>
|
||||||
<column name="OP_OBJ_UID" type="VARCHAR" size="32" required="true" default="0"/>
|
<column name="OP_OBJ_UID" type="VARCHAR" size="32" required="true" default="0"/>
|
||||||
<column name="OP_ACTION" type="VARCHAR" size="10" required="true" default="0"/>
|
<column name="OP_ACTION" type="VARCHAR" size="10" required="true" default="0"/>
|
||||||
<column name="OP_CASE_STATUS" type="VARCHAR" size="10" required="false" default="0"/>
|
<column name="OP_CASE_STATUS" type="VARCHAR" size="10" required="false" default="0"/>
|
||||||
@@ -2031,7 +2031,7 @@
|
|||||||
<rule name="required" message="Participation is required."/>
|
<rule name="required" message="Participation is required."/>
|
||||||
</validator>
|
</validator>
|
||||||
<validator column="OP_OBJ_TYPE">
|
<validator column="OP_OBJ_TYPE">
|
||||||
<rule name="maxLength" value="15" message="Object type can be no larger than ${value} in size"/>
|
<rule name="maxLength" value="20" message="Object type can be no larger than ${value} in size"/>
|
||||||
<rule name="required" message="Object type is required."/>
|
<rule name="required" message="Object type is required."/>
|
||||||
</validator>
|
</validator>
|
||||||
<validator column="OP_OBJ_UID">
|
<validator column="OP_OBJ_UID">
|
||||||
|
|||||||
@@ -19109,6 +19109,12 @@ msgstr "After routing notify the next assigned user(s)"
|
|||||||
msgid "Notify users of case"
|
msgid "Notify users of case"
|
||||||
msgstr "Notify users of case"
|
msgstr "Notify users of case"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_NOT_ABLE_REASSIGN
|
||||||
|
#: LABEL/ID_NOT_ABLE_REASSIGN
|
||||||
|
msgid "You are not able to reassign cases of this process."
|
||||||
|
msgstr "You are not able to reassign cases of this process."
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_NOT_AVAILABLE_DATABASE
|
# LABEL/ID_NOT_AVAILABLE_DATABASE
|
||||||
#: LABEL/ID_NOT_AVAILABLE_DATABASE
|
#: LABEL/ID_NOT_AVAILABLE_DATABASE
|
||||||
@@ -21743,6 +21749,12 @@ msgstr "Case #{APP_NUMBER} was reassigned to user {USER}."
|
|||||||
msgid "Reassign All Cases by Task"
|
msgid "Reassign All Cases by Task"
|
||||||
msgstr "Reassign All Cases by Task"
|
msgstr "Reassign All Cases by Task"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_REASSIGN_CASE
|
||||||
|
#: LABEL/ID_REASSIGN_CASE
|
||||||
|
msgid "Reassign Case"
|
||||||
|
msgstr "Reassign Case"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_REASSIGN_CASES
|
# LABEL/ID_REASSIGN_CASES
|
||||||
#: LABEL/ID_REASSIGN_CASES
|
#: LABEL/ID_REASSIGN_CASES
|
||||||
@@ -21755,6 +21767,12 @@ msgstr "Reassign Cases"
|
|||||||
msgid "Do you want to reassign the case?"
|
msgid "Do you want to reassign the case?"
|
||||||
msgstr "Do you want to reassign the case?"
|
msgstr "Do you want to reassign the case?"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_REASSIGN_MY_CASES
|
||||||
|
#: LABEL/ID_REASSIGN_MY_CASES
|
||||||
|
msgid "Reassign my cases"
|
||||||
|
msgstr "Reassign my cases"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_REASSIGN_TO
|
# LABEL/ID_REASSIGN_TO
|
||||||
#: LABEL/ID_REASSIGN_TO
|
#: LABEL/ID_REASSIGN_TO
|
||||||
|
|||||||
@@ -60049,6 +60049,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_NOTIFY','en','Notify','2016-10-20') ,
|
( 'LABEL','ID_NOTIFY','en','Notify','2016-10-20') ,
|
||||||
( 'LABEL','ID_NOTIFY_USERS_AFTER_ASSIGN','en','After routing notify the next assigned user(s)','2014-01-15') ,
|
( 'LABEL','ID_NOTIFY_USERS_AFTER_ASSIGN','en','After routing notify the next assigned user(s)','2014-01-15') ,
|
||||||
( 'LABEL','ID_NOTIFY_USERS_CASE','en','Notify users of case','2014-01-15') ,
|
( 'LABEL','ID_NOTIFY_USERS_CASE','en','Notify users of case','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_NOT_ABLE_REASSIGN','en','You are not able to reassign cases of this process.','2018-05-15') ,
|
||||||
( 'LABEL','ID_NOT_AVAILABLE_DATABASE','en','Not available.','2015-04-21') ,
|
( 'LABEL','ID_NOT_AVAILABLE_DATABASE','en','Not available.','2015-04-21') ,
|
||||||
( 'LABEL','ID_NOT_CREATE_TABLE','en','Could not create the table with the name','2014-01-15') ,
|
( 'LABEL','ID_NOT_CREATE_TABLE','en','Could not create the table with the name','2014-01-15') ,
|
||||||
( 'LABEL','ID_NOT_DEFINED','en','Not defined','2014-01-15') ,
|
( 'LABEL','ID_NOT_DEFINED','en','Not defined','2014-01-15') ,
|
||||||
@@ -60499,8 +60500,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_REASSIGNMENT_PAUSED_ERROR','en','The case is paused and can''t be reasigned.','2016-08-12') ,
|
( 'LABEL','ID_REASSIGNMENT_PAUSED_ERROR','en','The case is paused and can''t be reasigned.','2016-08-12') ,
|
||||||
( 'LABEL','ID_REASSIGNMENT_SUCCESS','en','Case #{APP_NUMBER} was reassigned to user {USER}.','2014-01-15') ,
|
( 'LABEL','ID_REASSIGNMENT_SUCCESS','en','Case #{APP_NUMBER} was reassigned to user {USER}.','2014-01-15') ,
|
||||||
( 'LABEL','ID_REASSIGN_ALL_CASES_BY_TASK','en','Reassign All Cases by Task','2014-01-15') ,
|
( 'LABEL','ID_REASSIGN_ALL_CASES_BY_TASK','en','Reassign All Cases by Task','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_REASSIGN_CASE','en','Reassign Case','2018-05-15') ,
|
||||||
( 'LABEL','ID_REASSIGN_CASES','en','Reassign Cases','2014-01-15') ,
|
( 'LABEL','ID_REASSIGN_CASES','en','Reassign Cases','2014-01-15') ,
|
||||||
( 'LABEL','ID_REASSIGN_CONFIRM','en','Do you want to reassign the case?','2017-10-18') ,
|
( 'LABEL','ID_REASSIGN_CONFIRM','en','Do you want to reassign the case?','2017-10-18') ,
|
||||||
|
( 'LABEL','ID_REASSIGN_MY_CASES','en','Reassign my cases','2018-05-17') ,
|
||||||
( 'LABEL','ID_REASSIGN_TO','en','Reassign','2014-01-15') ,
|
( 'LABEL','ID_REASSIGN_TO','en','Reassign','2014-01-15') ,
|
||||||
( 'LABEL','ID_REASSIGN_USERS','en','User Reassignment','2014-01-15') ,
|
( 'LABEL','ID_REASSIGN_USERS','en','User Reassignment','2014-01-15') ,
|
||||||
( 'LABEL','ID_REBUILDING_TRANSLATIONS','en','Rebuilding translations','2014-01-15') ,
|
( 'LABEL','ID_REBUILDING_TRANSLATIONS','en','Rebuilding translations','2014-01-15') ,
|
||||||
|
|||||||
@@ -952,7 +952,7 @@ CREATE TABLE `OBJECT_PERMISSION`
|
|||||||
`OP_USER_RELATION` INTEGER default 0 NOT NULL,
|
`OP_USER_RELATION` INTEGER default 0 NOT NULL,
|
||||||
`OP_TASK_SOURCE` VARCHAR(32) default '0',
|
`OP_TASK_SOURCE` VARCHAR(32) default '0',
|
||||||
`OP_PARTICIPATE` INTEGER default 0 NOT NULL,
|
`OP_PARTICIPATE` INTEGER default 0 NOT NULL,
|
||||||
`OP_OBJ_TYPE` VARCHAR(15) default '0' NOT NULL,
|
`OP_OBJ_TYPE` VARCHAR(20) default '0' NOT NULL,
|
||||||
`OP_OBJ_UID` VARCHAR(32) default '0' NOT NULL,
|
`OP_OBJ_UID` VARCHAR(32) default '0' NOT NULL,
|
||||||
`OP_ACTION` VARCHAR(10) default '0' NOT NULL,
|
`OP_ACTION` VARCHAR(10) default '0' NOT NULL,
|
||||||
`OP_CASE_STATUS` VARCHAR(10) default '0',
|
`OP_CASE_STATUS` VARCHAR(10) default '0',
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use ProcessMaker\BusinessModel\Cases as BmCases;
|
||||||
use ProcessMaker\Plugins\PluginRegistry;
|
use ProcessMaker\Plugins\PluginRegistry;
|
||||||
|
|
||||||
if (!isset($_SESSION['USER_LOGGED'])) {
|
if (!isset($_SESSION['USER_LOGGED'])) {
|
||||||
@@ -23,27 +24,41 @@ if (isset($_REQUEST['action']) && $_REQUEST['action'] == "verifySession") {
|
|||||||
print G::json_encode($response);
|
print G::json_encode($response);
|
||||||
die();
|
die();
|
||||||
} else {
|
} else {
|
||||||
$response = new stdclass();
|
/** Action: Reassign from openCase */
|
||||||
|
|
||||||
//Check if the user is a supervisor to this Process
|
|
||||||
global $RBAC;
|
global $RBAC;
|
||||||
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) {
|
$proUid = $_SESSION['PROCESS'];
|
||||||
|
$appUid = $_SESSION['APPLICATION'];
|
||||||
|
$tasUid = $_SESSION['TASK'];
|
||||||
|
|
||||||
|
$response = new stdclass();
|
||||||
|
$cases = new BmCases();
|
||||||
|
$userAuthorization = $cases->userAuthorization(
|
||||||
|
$RBAC->aUserInfo['USER_INFO']['USR_UID'],
|
||||||
|
$proUid,
|
||||||
|
$appUid,
|
||||||
|
['PM_REASSIGNCASE', 'PM_REASSIGNCASE_SUPERVISOR'],
|
||||||
|
['REASSIGN_MY_CASES' => ''],
|
||||||
|
true,
|
||||||
|
$tasUid
|
||||||
|
);
|
||||||
|
|
||||||
|
if (
|
||||||
|
$userAuthorization['rolesPermissions']['PM_REASSIGNCASE'] ||
|
||||||
|
($userAuthorization['rolesPermissions']['PM_REASSIGNCASE_SUPERVISOR'] && $userAuthorization['supervisor']) ||
|
||||||
|
in_array($appUid, $userAuthorization['objectPermissions']['REASSIGN_MY_CASES'])
|
||||||
|
) {
|
||||||
$response->reassigncase = true;
|
$response->reassigncase = true;
|
||||||
$response->message = '';
|
$response->message = '';
|
||||||
} elseif ($RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) {
|
} else {
|
||||||
$response->reassigncase = false;
|
$response->reassigncase = false;
|
||||||
$response->message = G::LoadTranslation('ID_NOT_ABLE_REASSIGN');
|
$response->message = G::LoadTranslation('ID_NOT_ABLE_REASSIGN');
|
||||||
$processUser = new ProcessUser();
|
|
||||||
$listProcess = $processUser->getProUidSupervisor($_SESSION['USER_LOGGED']);
|
|
||||||
if (in_array($_SESSION['PROCESS'], $listProcess)) {
|
|
||||||
$response->reassigncase = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print G::json_encode($response);
|
print G::json_encode($response);
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Ajax
|
class Ajax
|
||||||
{
|
{
|
||||||
public function getCaseMenu($params)
|
public function getCaseMenu($params)
|
||||||
@@ -144,61 +159,83 @@ class Ajax
|
|||||||
return $options;
|
return $options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the options menu from action
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
public function getActionOptions()
|
public function getActionOptions()
|
||||||
{
|
{
|
||||||
$APP_UID = $_SESSION['APPLICATION'];
|
$appUid = $_SESSION['APPLICATION'];
|
||||||
|
$index = $_SESSION['INDEX'];
|
||||||
|
$proUid = $_SESSION['PROCESS'];
|
||||||
|
$tasUid = $_SESSION['TASK'];
|
||||||
|
|
||||||
$c = new Criteria('workflow');
|
$c = new Criteria('workflow');
|
||||||
$c->clearSelectColumns();
|
$c->clearSelectColumns();
|
||||||
$c->addSelectColumn(AppThreadPeer::APP_THREAD_PARENT);
|
$c->addSelectColumn(AppThreadPeer::APP_THREAD_PARENT);
|
||||||
$c->add(AppThreadPeer::APP_UID, $APP_UID);
|
$c->add(AppThreadPeer::APP_UID, $appUid);
|
||||||
$c->add(AppThreadPeer::APP_THREAD_STATUS, 'OPEN');
|
$c->add(AppThreadPeer::APP_THREAD_STATUS, 'OPEN');
|
||||||
$cant = AppThreadPeer::doCount($c);
|
$cant = AppThreadPeer::doCount($c);
|
||||||
|
|
||||||
$oCase = new Cases();
|
$oCase = new Cases();
|
||||||
$aFields = $oCase->loadCase($_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
$aFields = $oCase->loadCase($appUid, $index);
|
||||||
|
|
||||||
global $RBAC;
|
global $RBAC;
|
||||||
|
|
||||||
$options = array();
|
$options = [];
|
||||||
|
|
||||||
switch ($aFields['APP_STATUS']) {
|
switch ($aFields['APP_STATUS']) {
|
||||||
case 'DRAFT':
|
case 'DRAFT':
|
||||||
if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) {
|
if (!AppDelay::isPaused($appUid, $index)) {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate');
|
$options[] = ['text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate'];
|
||||||
} else {
|
} else {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase');
|
$options[] = ['text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_DELETE'), 'fn' => 'deleteCase');
|
$options[] = ['text' => G::LoadTranslation('ID_DELETE'), 'fn' => 'deleteCase'];
|
||||||
|
|
||||||
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1 || $RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) {
|
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1 || $RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) {
|
||||||
if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) {
|
if (!AppDelay::isPaused($appUid, $index)) {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign');
|
$options[] = ['text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'TO_DO':
|
case 'TO_DO':
|
||||||
if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) {
|
if (!AppDelay::isPaused($appUid, $index)) {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate');
|
$options[] = ['text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate'];
|
||||||
if ($cant == 1) {
|
if ($cant == 1) {
|
||||||
if ($RBAC->userCanAccess('PM_CANCELCASE') == 1) {
|
if ($RBAC->userCanAccess('PM_CANCELCASE') == 1) {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase');
|
$options[] = ['text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase'];
|
||||||
} else {
|
} else {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase', 'hide' => 'hiden');
|
$options[] = ['text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase', 'hide' => 'hiden'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase');
|
$options[] = ['text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase'];
|
||||||
}
|
}
|
||||||
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1 || $RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) {
|
$cases = new BmCases();
|
||||||
if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) {
|
$userAuthorization = $cases->userAuthorization(
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign');
|
$RBAC->aUserInfo['USER_INFO']['USR_UID'],
|
||||||
|
$proUid,
|
||||||
|
$appUid,
|
||||||
|
[],
|
||||||
|
['REASSIGN_MY_CASES' => ''],
|
||||||
|
false,
|
||||||
|
$tasUid
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
$RBAC->userCanAccess('PM_REASSIGNCASE') == 1
|
||||||
|
|| $RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1
|
||||||
|
|| in_array($appUid, $userAuthorization['objectPermissions']['REASSIGN_MY_CASES'])
|
||||||
|
) {
|
||||||
|
if (!AppDelay::isPaused($appUid, $index)) {
|
||||||
|
$options[] = ['text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'CANCELLED':
|
case 'CANCELLED':
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_REACTIVATE'), 'fn' => 'reactivateCase');
|
$options[] = ['text' => G::LoadTranslation('ID_REACTIVATE'), 'fn' => 'reactivateCase'];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,9 +254,10 @@ class Ajax
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($aTask['TAS_TYPE'] == 'ADHOC') {
|
if ($aTask['TAS_TYPE'] == 'ADHOC') {
|
||||||
$options[] = array('text' => G::LoadTranslation('ID_ADHOC_ASSIGNMENT'), 'fn' => 'adhocAssignmentUsers');
|
$options[] = ['text' => G::LoadTranslation('ID_ADHOC_ASSIGNMENT'), 'fn' => 'adhocAssignmentUsers'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $options;
|
return $options;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -550,7 +588,7 @@ class Ajax
|
|||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$case = new \ProcessMaker\BusinessModel\Cases();
|
$case = new BmCases();
|
||||||
|
|
||||||
$result = $case->getUsersToReassign($_SESSION['USER_LOGGED'], $taskUid, ['filter' => $search], $sortField, $sortDir, $start, $limit);
|
$result = $case->getUsersToReassign($_SESSION['USER_LOGGED'], $taskUid, ['filter' => $search], $sortField, $sortDir, $start, $limit);
|
||||||
|
|
||||||
|
|||||||
@@ -184,12 +184,13 @@ if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjB
|
|||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
//menu permissions
|
/** Define actions menu in the cases list */
|
||||||
$cnt = '';
|
$cnt = '';
|
||||||
$reassignCase = ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) ? 'true' : 'false';
|
$reassignCase = ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) ? 'true' : 'false';
|
||||||
$reassignCaseSup = ($RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) ? 'true':'false';
|
$reassignCaseSup = ($RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) ? 'true' : 'false';
|
||||||
$oHeadPublisher->assign('varReassignCase', $reassignCase);
|
$oHeadPublisher->assign('varReassignCase', $reassignCase);
|
||||||
$oHeadPublisher->assign('varReassignCaseSupervisor', $reassignCaseSup);
|
$oHeadPublisher->assign('varReassignCaseSupervisor', $reassignCaseSup);
|
||||||
|
|
||||||
$c = new Configurations();
|
$c = new Configurations();
|
||||||
$oHeadPublisher->addExtJsScript('app/main', true);
|
$oHeadPublisher->addExtJsScript('app/main', true);
|
||||||
$oHeadPublisher->addExtJsScript('cases/casesList', false); //adding a javascript file .js
|
$oHeadPublisher->addExtJsScript('cases/casesList', false); //adding a javascript file .js
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if (!isset($_SESSION['USER_LOGGED'])) {
|
if (!isset($_SESSION['USER_LOGGED'])) {
|
||||||
$response = new stdClass();
|
$response = new stdClass();
|
||||||
$response->message = G::LoadTranslation('ID_LOGIN_AGAIN');
|
$response->message = G::LoadTranslation('ID_LOGIN_AGAIN');
|
||||||
@@ -146,8 +147,10 @@ if ($actionAjax == "verifySession") {
|
|||||||
print G::json_encode($response);
|
print G::json_encode($response);
|
||||||
die();
|
die();
|
||||||
} else {
|
} else {
|
||||||
$response = new stdclass();
|
/** Action: Reassign from casesList */
|
||||||
GLOBAL $RBAC;
|
GLOBAL $RBAC;
|
||||||
|
$response = new stdclass();
|
||||||
|
|
||||||
//Check if the user is a supervisor to this Process
|
//Check if the user is a supervisor to this Process
|
||||||
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) {
|
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) {
|
||||||
$response->reassigncase = true;
|
$response->reassigncase = true;
|
||||||
@@ -160,7 +163,6 @@ if ($actionAjax == "verifySession") {
|
|||||||
$listProcess = $processUser->getProUidSupervisor($_SESSION['USER_LOGGED']);
|
$listProcess = $processUser->getProUidSupervisor($_SESSION['USER_LOGGED']);
|
||||||
$response->processeslist = G::json_encode($listProcess);
|
$response->processeslist = G::json_encode($listProcess);
|
||||||
}
|
}
|
||||||
|
|
||||||
print G::json_encode($response);
|
print G::json_encode($response);
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3349,6 +3349,7 @@ class Cases
|
|||||||
* @param array $rolesPermissions, the roles that we need to review
|
* @param array $rolesPermissions, the roles that we need to review
|
||||||
* @param array $objectPermissions, the permissions that we need to review
|
* @param array $objectPermissions, the permissions that we need to review
|
||||||
* @param boolean $objectSupervisor, if we need to get all the objects supervisor
|
* @param boolean $objectSupervisor, if we need to get all the objects supervisor
|
||||||
|
* @param string $tasUid
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function userAuthorization(
|
public function userAuthorization(
|
||||||
@@ -3357,7 +3358,8 @@ class Cases
|
|||||||
$appUid,
|
$appUid,
|
||||||
$rolesPermissions = [],
|
$rolesPermissions = [],
|
||||||
$objectPermissions = [],
|
$objectPermissions = [],
|
||||||
$objectSupervisor = false
|
$objectSupervisor = false,
|
||||||
|
$tasUid = ''
|
||||||
) {
|
) {
|
||||||
$arrayAccess = [];
|
$arrayAccess = [];
|
||||||
|
|
||||||
@@ -3389,7 +3391,7 @@ class Cases
|
|||||||
if (count($objectPermissions) > 0) {
|
if (count($objectPermissions) > 0) {
|
||||||
$case = new ClassesCases();
|
$case = new ClassesCases();
|
||||||
foreach ($objectPermissions as $key => $value) {
|
foreach ($objectPermissions as $key => $value) {
|
||||||
$resPermission = $case->getAllObjectsFrom($proUid, $appUid, '', $usrUid, $value);
|
$resPermission = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, $value);
|
||||||
if (isset($resPermission[$key])) {
|
if (isset($resPermission[$key])) {
|
||||||
$arrayAccess['objectPermissions'][$key] = $resPermission[$key];
|
$arrayAccess['objectPermissions'][$key] = $resPermission[$key];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace ProcessMaker\BusinessModel;
|
namespace ProcessMaker\BusinessModel;
|
||||||
|
|
||||||
use Behat\Behat\Exception\Exception;
|
use BasePeer;
|
||||||
use \G;
|
use Criteria;
|
||||||
use \Criteria;
|
use G;
|
||||||
use \ObjectPermissionPeer;
|
use ObjectPermission;
|
||||||
use \Exception as StandardException;
|
use ObjectPermissionPeer;
|
||||||
|
use Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||||
@@ -13,6 +14,7 @@ use \Exception as StandardException;
|
|||||||
*/
|
*/
|
||||||
class ProcessPermissions
|
class ProcessPermissions
|
||||||
{
|
{
|
||||||
|
const DOES_NOT_APPLY = 'N/A';
|
||||||
/**
|
/**
|
||||||
* Get list for Process Permissions
|
* Get list for Process Permissions
|
||||||
*
|
*
|
||||||
@@ -20,8 +22,6 @@ class ProcessPermissions
|
|||||||
* @var string $op_uid. Uid for Process Permission
|
* @var string $op_uid. Uid for Process Permission
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
||||||
* @copyright Colosa - Bolivia
|
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
@@ -42,6 +42,14 @@ class ProcessPermissions
|
|||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
while ($aRow = $oDataset->getRow()) {
|
while ($aRow = $oDataset->getRow()) {
|
||||||
|
//Participated
|
||||||
|
if ($aRow['OP_PARTICIPATE'] == 0) {
|
||||||
|
$participated = G::LoadTranslation('ID_NO');
|
||||||
|
} else {
|
||||||
|
$participated = G::LoadTranslation('ID_YES');
|
||||||
|
}
|
||||||
|
//Obtain action (permission)
|
||||||
|
$action = G::LoadTranslation('ID_' . $aRow['OP_ACTION']);
|
||||||
//Obtain task target
|
//Obtain task target
|
||||||
if (($aRow['TAS_UID'] != '') && ($aRow['TAS_UID'] != '0')) {
|
if (($aRow['TAS_UID'] != '') && ($aRow['TAS_UID'] != '0')) {
|
||||||
try {
|
try {
|
||||||
@@ -87,97 +95,87 @@ class ProcessPermissions
|
|||||||
//Obtain object and type
|
//Obtain object and type
|
||||||
switch ($aRow['OP_OBJ_TYPE']) {
|
switch ($aRow['OP_OBJ_TYPE']) {
|
||||||
case 'ALL':
|
case 'ALL':
|
||||||
$sObjectType = G::LoadTranslation('ID_ALL');
|
$objectType = G::LoadTranslation('ID_ALL');
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
break;
|
break;
|
||||||
case 'ANY': //For backward compatibility (some process with ANY instead of ALL
|
case 'ANY': //For backward compatibility (some process with ANY instead of ALL
|
||||||
$sObjectType = G::LoadTranslation('ID_ALL');
|
$objectType = G::LoadTranslation('ID_ALL');
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
break;
|
break;
|
||||||
/* case 'ANY_DYNAFORM':
|
|
||||||
$sObjectType = G::LoadTranslation('ID_ANY_DYNAFORM');
|
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
|
||||||
break;
|
|
||||||
case 'ANY_INPUT':
|
|
||||||
$sObjectType = G::LoadTranslation('ID_ANY_INPUT');
|
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
|
||||||
break;
|
|
||||||
case 'ANY_OUTPUT':
|
|
||||||
$sObjectType = G::LoadTranslation('ID_ANY_OUTPUT');
|
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
|
||||||
break; */
|
|
||||||
case 'DYNAFORM':
|
case 'DYNAFORM':
|
||||||
$sObjectType = G::LoadTranslation('ID_DYNAFORM');
|
$objectType = G::LoadTranslation('ID_DYNAFORM');
|
||||||
if (($aRow['OP_OBJ_UID'] != '') && ($aRow['OP_OBJ_UID'] != '0')) {
|
if (($aRow['OP_OBJ_UID'] != '') && ($aRow['OP_OBJ_UID'] != '0')) {
|
||||||
$oDynaform = new \Dynaform();
|
$oDynaform = new \Dynaform();
|
||||||
try {
|
try {
|
||||||
$aFields = $oDynaform->load($aRow['OP_OBJ_UID']);
|
$aFields = $oDynaform->load($aRow['OP_OBJ_UID']);
|
||||||
$sObject = $aFields['DYN_TITLE'];
|
$object = $aFields['DYN_TITLE'];
|
||||||
} catch (\Exception $errorNotExists) {
|
} catch (\Exception $errorNotExists) {
|
||||||
error_log($errorNotExists->getMessage() . ' - ' . G::LoadTranslation('ID_PROCESS_PERMISSIONS') .
|
error_log($errorNotExists->getMessage() . ' - ' . G::LoadTranslation('ID_PROCESS_PERMISSIONS') .
|
||||||
' - ' . $aRow['OP_OBJ_TYPE'] . ' - ' . $aRow['OP_OBJ_UID']);
|
' - ' . $aRow['OP_OBJ_TYPE'] . ' - ' . $aRow['OP_OBJ_UID']);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
continue 2;
|
continue 2;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'INPUT':
|
case 'INPUT':
|
||||||
$sObjectType = G::LoadTranslation('ID_INPUT_DOCUMENT');
|
$objectType = G::LoadTranslation('ID_INPUT_DOCUMENT');
|
||||||
if (($aRow['OP_OBJ_UID'] != '') && ($aRow['OP_OBJ_UID'] != '0')) {
|
if (($aRow['OP_OBJ_UID'] != '') && ($aRow['OP_OBJ_UID'] != '0')) {
|
||||||
$oInputDocument = new \InputDocument();
|
$oInputDocument = new \InputDocument();
|
||||||
try {
|
try {
|
||||||
$aFields = $oInputDocument->load($aRow['OP_OBJ_UID']);
|
$aFields = $oInputDocument->load($aRow['OP_OBJ_UID']);
|
||||||
$sObject = $aFields['INP_DOC_TITLE'];
|
$object = $aFields['INP_DOC_TITLE'];
|
||||||
} catch (\Exception $errorNotExists) {
|
} catch (\Exception $errorNotExists) {
|
||||||
error_log($errorNotExists->getMessage() . ' - ' . G::LoadTranslation('ID_PROCESS_PERMISSIONS') .
|
error_log($errorNotExists->getMessage() . ' - ' . G::LoadTranslation('ID_PROCESS_PERMISSIONS') .
|
||||||
' - ' . $aRow['OP_OBJ_TYPE'] . ' - ' . $aRow['OP_OBJ_UID']);
|
' - ' . $aRow['OP_OBJ_TYPE'] . ' - ' . $aRow['OP_OBJ_UID']);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
continue 2;
|
continue 2;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'OUTPUT':
|
case 'OUTPUT':
|
||||||
$sObjectType = G::LoadTranslation('ID_OUTPUT_DOCUMENT');
|
$objectType = G::LoadTranslation('ID_OUTPUT_DOCUMENT');
|
||||||
if (($aRow['OP_OBJ_UID'] != '') && ($aRow['OP_OBJ_UID'] != '0')) {
|
if (($aRow['OP_OBJ_UID'] != '') && ($aRow['OP_OBJ_UID'] != '0')) {
|
||||||
$oOutputDocument = new \OutputDocument();
|
$oOutputDocument = new \OutputDocument();
|
||||||
try {
|
try {
|
||||||
$aFields = $oOutputDocument->load($aRow['OP_OBJ_UID']);
|
$aFields = $oOutputDocument->load($aRow['OP_OBJ_UID']);
|
||||||
$sObject = $aFields['OUT_DOC_TITLE'];
|
$object = $aFields['OUT_DOC_TITLE'];
|
||||||
} catch (\Exception $errorNotExists) {
|
} catch (\Exception $errorNotExists) {
|
||||||
error_log($errorNotExists->getMessage() . ' - ' . G::LoadTranslation('ID_PROCESS_PERMISSIONS') .
|
error_log($errorNotExists->getMessage() . ' - ' . G::LoadTranslation('ID_PROCESS_PERMISSIONS') .
|
||||||
' - ' . $aRow['OP_OBJ_TYPE'] . ' - ' . $aRow['OP_OBJ_UID']);
|
' - ' . $aRow['OP_OBJ_TYPE'] . ' - ' . $aRow['OP_OBJ_UID']);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
continue 2;
|
continue 2;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'CASES_NOTES':
|
case 'CASES_NOTES':
|
||||||
$sObjectType = G::LoadTranslation('ID_CASES_NOTES');
|
$objectType = G::LoadTranslation('ID_CASES_NOTES');
|
||||||
$sObject = 'N/A';
|
$object = self::DOES_NOT_APPLY;
|
||||||
break;
|
break;
|
||||||
case 'MSGS_HISTORY':
|
case 'MSGS_HISTORY':
|
||||||
$sObjectType = G::LoadTranslation('MSGS_HISTORY');
|
$objectType = G::LoadTranslation('MSGS_HISTORY');
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
break;
|
break;
|
||||||
|
/*----------------------------------********---------------------------------*/
|
||||||
|
case 'REASSIGN_MY_CASES':
|
||||||
|
$objectType = G::LoadTranslation('ID_REASSIGN_MY_CASES');
|
||||||
|
$object = self::DOES_NOT_APPLY;
|
||||||
|
$aRow['OP_ACTION'] = self::DOES_NOT_APPLY;
|
||||||
|
$participated = self::DOES_NOT_APPLY;
|
||||||
|
break;
|
||||||
|
/*----------------------------------********---------------------------------*/
|
||||||
default:
|
default:
|
||||||
$sObjectType = G::LoadTranslation('ID_ALL');
|
$objectType = G::LoadTranslation('ID_ALL');
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$object = G::LoadTranslation('ID_ALL');
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//Participated
|
|
||||||
if ($aRow['OP_PARTICIPATE'] == 0) {
|
|
||||||
$sParticipated = G::LoadTranslation('ID_NO');
|
|
||||||
} else {
|
|
||||||
$sParticipated = G::LoadTranslation('ID_YES');
|
|
||||||
}
|
|
||||||
//Obtain action (permission)
|
|
||||||
$sAction = G::LoadTranslation('ID_' . $aRow['OP_ACTION']);
|
|
||||||
//Add to array
|
//Add to array
|
||||||
$arrayTemp = array();
|
$arrayTemp = array();
|
||||||
$arrayTemp = array_merge($aRow, array(
|
$arrayTemp = array_merge($aRow, array(
|
||||||
@@ -185,10 +183,10 @@ class ProcessPermissions
|
|||||||
'TASK_TARGET' => $sTaskTarget,
|
'TASK_TARGET' => $sTaskTarget,
|
||||||
'GROUP_USER' => $sUserGroup,
|
'GROUP_USER' => $sUserGroup,
|
||||||
'TASK_SOURCE' => $sTaskSource,
|
'TASK_SOURCE' => $sTaskSource,
|
||||||
'OBJECT_TYPE' => $sObjectType,
|
'OBJECT_TYPE' => $objectType,
|
||||||
'OBJECT' => $sObject,
|
'OBJECT' => $object,
|
||||||
'PARTICIPATED' => $sParticipated,
|
'PARTICIPATED' => $participated,
|
||||||
'ACTION' => $sAction,
|
'ACTION' => $action,
|
||||||
'OP_CASE_STATUS' => $aRow['OP_CASE_STATUS'])
|
'OP_CASE_STATUS' => $aRow['OP_CASE_STATUS'])
|
||||||
);
|
);
|
||||||
$aObjectsPermissions[] = array_change_key_case($arrayTemp, CASE_LOWER);
|
$aObjectsPermissions[] = array_change_key_case($arrayTemp, CASE_LOWER);
|
||||||
@@ -213,7 +211,7 @@ class ProcessPermissions
|
|||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void|array
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function saveProcessPermission($data, $opUid = '')
|
public function saveProcessPermission($data, $opUid = '')
|
||||||
@@ -226,7 +224,7 @@ class ProcessPermissions
|
|||||||
$opUid = $this->validateOpUid($opUid);
|
$opUid = $this->validateOpUid($opUid);
|
||||||
}
|
}
|
||||||
if (empty($data['USR_UID']) || (isset($data['USR_UID']) && $data['USR_UID'] === "null")) {
|
if (empty($data['USR_UID']) || (isset($data['USR_UID']) && $data['USR_UID'] === "null")) {
|
||||||
throw (new StandardException(G::LoadTranslation("ID_SELECT_USER_OR_GROUP")));
|
throw (new Exception(G::LoadTranslation("ID_SELECT_USER_OR_GROUP")));
|
||||||
}
|
}
|
||||||
if ($data['OP_USER_RELATION'] == "1") {
|
if ($data['OP_USER_RELATION'] == "1") {
|
||||||
$this->validateUsrUid($data['USR_UID']);
|
$this->validateUsrUid($data['USR_UID']);
|
||||||
@@ -244,50 +242,59 @@ class ProcessPermissions
|
|||||||
$data['OP_TASK_SOURCE'] = '';
|
$data['OP_TASK_SOURCE'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$sObjectUID = '';
|
$opCaseStatus = !empty($data['OP_CASE_STATUS']) ? $data['OP_CASE_STATUS'] : '0';
|
||||||
|
$opObjectUid = '';
|
||||||
switch ($data['OP_OBJ_TYPE']) {
|
switch ($data['OP_OBJ_TYPE']) {
|
||||||
case 'ANY':
|
case 'ANY':
|
||||||
//case 'ANY_DYNAFORM':CASES_NOTES
|
//case 'ANY_DYNAFORM':CASES_NOTES
|
||||||
//case 'ANY_INPUT':
|
//case 'ANY_INPUT':
|
||||||
//case 'ANY_OUTPUT':
|
//case 'ANY_OUTPUT':
|
||||||
$sObjectUID = '';
|
$opObjectUid = '';
|
||||||
break;
|
break;
|
||||||
case 'DYNAFORM':
|
case 'DYNAFORM':
|
||||||
$data['DYNAFORMS'] = $data['DYNAFORMS'] == 0 ? '': $data['DYNAFORMS'];
|
$data['DYNAFORMS'] = $data['DYNAFORMS'] == 0 ? '': $data['DYNAFORMS'];
|
||||||
if ($data['DYNAFORMS'] != '') {
|
if ($data['DYNAFORMS'] != '') {
|
||||||
$this->validateDynUid($data['DYNAFORMS']);
|
$this->validateDynUid($data['DYNAFORMS']);
|
||||||
}
|
}
|
||||||
$sObjectUID = $data['DYNAFORMS'];
|
$opObjectUid = $data['DYNAFORMS'];
|
||||||
break;
|
break;
|
||||||
case 'ATTACHED':
|
case 'ATTACHED':
|
||||||
$sObjectUID = '';
|
$opObjectUid = '';
|
||||||
break;
|
break;
|
||||||
case 'INPUT':
|
case 'INPUT':
|
||||||
$data['INPUTS'] = $data['INPUTS'] == 0 ? '': $data['INPUTS'];
|
$data['INPUTS'] = $data['INPUTS'] == 0 ? '': $data['INPUTS'];
|
||||||
if ($data['INPUTS'] != '') {
|
if ($data['INPUTS'] != '') {
|
||||||
$this->validateInpUid($data['INPUTS']);
|
$this->validateInpUid($data['INPUTS']);
|
||||||
}
|
}
|
||||||
$sObjectUID = $data['INPUTS'];
|
$opObjectUid = $data['INPUTS'];
|
||||||
break;
|
break;
|
||||||
case 'OUTPUT':
|
case 'OUTPUT':
|
||||||
$data['OUTPUTS'] = $data['OUTPUTS'] == 0 ? '': $data['OUTPUTS'];
|
$data['OUTPUTS'] = $data['OUTPUTS'] == 0 ? '': $data['OUTPUTS'];
|
||||||
if ($data['OUTPUTS'] != '') {
|
if ($data['OUTPUTS'] != '') {
|
||||||
$this->validateOutUid($data['OUTPUTS']);
|
$this->validateOutUid($data['OUTPUTS']);
|
||||||
}
|
}
|
||||||
$sObjectUID = $data['OUTPUTS'];
|
$opObjectUid = $data['OUTPUTS'];
|
||||||
|
break;
|
||||||
|
case 'REASSIGN_MY_CASES':
|
||||||
|
$opCaseStatus = 'TO_DO';
|
||||||
|
$data['OP_ACTION'] = '';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$oOP = new \ObjectPermission();
|
$objectPermission = new ObjectPermission();
|
||||||
$permissionUid = ($opUid != '') ? $opUid : G::generateUniqueID();
|
$permissionUid = ($opUid != '') ? $opUid : G::generateUniqueID();
|
||||||
$data['OP_UID'] = $permissionUid;
|
$data['OP_UID'] = $permissionUid;
|
||||||
$data['OP_OBJ_UID'] = $sObjectUID;
|
$opParticipate = empty($data['OP_PARTICIPATE']) ? ObjectPermission::OP_PARTICIPATE_NO : $data['OP_PARTICIPATE'];
|
||||||
|
$data['OP_PARTICIPATE'] = $opParticipate;
|
||||||
|
$data['OP_CASE_STATUS'] = $opCaseStatus;
|
||||||
|
$data['OP_OBJ_UID'] = $opObjectUid;
|
||||||
|
|
||||||
if ($opUid == '') {
|
if (empty($opUid)) {
|
||||||
$oOP->fromArray( $data, \BasePeer::TYPE_FIELDNAME );
|
$objectPermission->fromArray($data, BasePeer::TYPE_FIELDNAME);
|
||||||
$oOP->save();
|
$objectPermission->save();
|
||||||
$daraRes = $oOP->load($permissionUid);
|
$newPermission = $objectPermission->load($permissionUid);
|
||||||
$daraRes = array_change_key_case($daraRes, CASE_LOWER);
|
$newPermission = array_change_key_case($newPermission, CASE_LOWER);
|
||||||
return $daraRes;
|
|
||||||
|
return $newPermission;
|
||||||
} else {
|
} else {
|
||||||
$data['TAS_UID'] = $data['TAS_UID'] != '' ? $data['TAS_UID'] : '0';
|
$data['TAS_UID'] = $data['TAS_UID'] != '' ? $data['TAS_UID'] : '0';
|
||||||
$data['OP_TASK_SOURCE'] = $data['OP_TASK_SOURCE'] != '' ? $data['OP_TASK_SOURCE'] : '0';
|
$data['OP_TASK_SOURCE'] = $data['OP_TASK_SOURCE'] != '' ? $data['OP_TASK_SOURCE'] : '0';
|
||||||
@@ -296,7 +303,8 @@ class ProcessPermissions
|
|||||||
$data['OP_OBJ_UID'] = $data['OP_OBJ_UID'] != '' ? $data['OP_OBJ_UID'] : '0';
|
$data['OP_OBJ_UID'] = $data['OP_OBJ_UID'] != '' ? $data['OP_OBJ_UID'] : '0';
|
||||||
$data['OP_ACTION'] = $data['OP_ACTION'] != '' ? $data['OP_ACTION'] : '0';
|
$data['OP_ACTION'] = $data['OP_ACTION'] != '' ? $data['OP_ACTION'] : '0';
|
||||||
$data['OP_CASE_STATUS'] = $data['OP_CASE_STATUS'] != '' ? $data['OP_CASE_STATUS'] : '0';
|
$data['OP_CASE_STATUS'] = $data['OP_CASE_STATUS'] != '' ? $data['OP_CASE_STATUS'] : '0';
|
||||||
$oOP->update($data);
|
|
||||||
|
$objectPermission->update($data);
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace ProcessMaker\Services\Api\Project;
|
namespace ProcessMaker\Services\Api\Project;
|
||||||
|
|
||||||
use \ProcessMaker\Services\Api;
|
use Exception;
|
||||||
use \Luracast\Restler\RestException;
|
use Luracast\Restler\RestException;
|
||||||
|
use ProcessMaker\BusinessModel\ProcessPermissions as BmProcessPermissions;
|
||||||
|
use ProcessMaker\Services\Api;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project\ProcessPermissions Api Controller
|
* Project\ProcessPermissions Api Controller
|
||||||
@@ -17,20 +19,18 @@ class ProcessPermissions extends Api
|
|||||||
/**
|
/**
|
||||||
* @param string $prj_uid {@min 1} {@max 32}
|
* @param string $prj_uid {@min 1} {@max 32}
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
||||||
* @copyright Colosa - Bolivia
|
|
||||||
*
|
|
||||||
* @return array
|
* @return array
|
||||||
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @url GET /:prj_uid/process-permissions
|
* @url GET /:prj_uid/process-permissions
|
||||||
*/
|
*/
|
||||||
public function doGetProcessPermissions($prj_uid)
|
public function doGetProcessPermissions($prj_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
$processPermissions = new BmProcessPermissions();
|
||||||
$response = $processPermissions->getProcessPermissions($prj_uid);
|
$response = $processPermissions->getProcessPermissions($prj_uid);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,20 +39,18 @@ class ProcessPermissions extends Api
|
|||||||
* @param string $prj_uid {@min 1} {@max 32}
|
* @param string $prj_uid {@min 1} {@max 32}
|
||||||
* @param string $ob_uid {@min 1} {@max 32}
|
* @param string $ob_uid {@min 1} {@max 32}
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
||||||
* @copyright Colosa - Bolivia
|
|
||||||
*
|
|
||||||
* @return array
|
* @return array
|
||||||
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @url GET /:prj_uid/process-permission/:ob_uid
|
* @url GET /:prj_uid/process-permission/:ob_uid
|
||||||
*/
|
*/
|
||||||
public function doGetProcessPermission($prj_uid, $ob_uid)
|
public function doGetProcessPermission($prj_uid, $ob_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
$processPermissions = new BmProcessPermissions();
|
||||||
$response = $processPermissions->getProcessPermissions($prj_uid, $ob_uid);
|
$response = $processPermissions->getProcessPermissions($prj_uid, $ob_uid);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -75,11 +73,11 @@ class ProcessPermissions extends Api
|
|||||||
public function doPostProcessPermission($prj_uid, $request_data)
|
public function doPostProcessPermission($prj_uid, $request_data)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$hiddenFields = array('task_target', 'group_user', 'task_source',
|
$hiddenFields = ['task_target', 'group_user', 'task_source',
|
||||||
'object_type', 'object', 'participated', 'action'
|
'object_type', 'object', 'participated', 'action'
|
||||||
);
|
];
|
||||||
$request_data['pro_uid'] = $prj_uid;
|
$request_data['pro_uid'] = $prj_uid;
|
||||||
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
$processPermissions = new BmProcessPermissions();
|
||||||
$response = $processPermissions->saveProcessPermission($request_data);
|
$response = $processPermissions->saveProcessPermission($request_data);
|
||||||
foreach ($response as $key => $eventData) {
|
foreach ($response as $key => $eventData) {
|
||||||
if (in_array($key, $hiddenFields)) {
|
if (in_array($key, $hiddenFields)) {
|
||||||
@@ -87,13 +85,13 @@ class ProcessPermissions extends Api
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update process permisson.
|
* Update process permission.
|
||||||
*
|
*
|
||||||
* @url PUT /:prj_uid/process-permission/:ob_uid
|
* @url PUT /:prj_uid/process-permission/:ob_uid
|
||||||
*
|
*
|
||||||
@@ -104,7 +102,7 @@ class ProcessPermissions extends Api
|
|||||||
* @param string $op_user_relation {@from body} {@choice 1,2}
|
* @param string $op_user_relation {@from body} {@choice 1,2}
|
||||||
* @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
|
* @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
|
||||||
* @param string $op_participate {@from body} {@choice 0,1}
|
* @param string $op_participate {@from body} {@choice 0,1}
|
||||||
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,ATTACHMENT,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY,SUMMARY_FORM}
|
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,ATTACHMENT,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY,SUMMARY_FORM,REASSIGN_MY_CASES}
|
||||||
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE,RESEND}
|
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE,RESEND}
|
||||||
* @param string $tas_uid {@from body}
|
* @param string $tas_uid {@from body}
|
||||||
* @param string $op_task_source {@from body}
|
* @param string $op_task_source {@from body}
|
||||||
@@ -124,10 +122,10 @@ class ProcessPermissions extends Api
|
|||||||
$request_data,
|
$request_data,
|
||||||
$usr_uid,
|
$usr_uid,
|
||||||
$op_user_relation,
|
$op_user_relation,
|
||||||
$op_case_status,
|
$op_case_status = 'ALL',
|
||||||
$op_participate,
|
$op_participate = '0',
|
||||||
$op_obj_type,
|
$op_obj_type,
|
||||||
$op_action,
|
$op_action = 'VIEW',
|
||||||
$tas_uid = '',
|
$tas_uid = '',
|
||||||
$op_task_source = '',
|
$op_task_source = '',
|
||||||
$dynaforms = '',
|
$dynaforms = '',
|
||||||
@@ -136,10 +134,11 @@ class ProcessPermissions extends Api
|
|||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
$request_data['pro_uid'] = $prj_uid;
|
$request_data['pro_uid'] = $prj_uid;
|
||||||
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
$request_data['op_action'] = $op_action;
|
||||||
|
$processPermissions = new BmProcessPermissions();
|
||||||
$response = $processPermissions->saveProcessPermission($request_data, $ob_uid);
|
$response = $processPermissions->saveProcessPermission($request_data, $ob_uid);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -153,14 +152,14 @@ class ProcessPermissions extends Api
|
|||||||
* @param string $ob_uid {@min 1} {@max 32}
|
* @param string $ob_uid {@min 1} {@max 32}
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws RestException
|
||||||
*/
|
*/
|
||||||
public function doDeleteProcessPermission($prj_uid, $ob_uid)
|
public function doDeleteProcessPermission($prj_uid, $ob_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
$processPermissions = new BmProcessPermissions();
|
||||||
$response = $processPermissions->deleteProcessPermission($ob_uid, $prj_uid);
|
$processPermissions->deleteProcessPermission($ob_uid, $prj_uid);
|
||||||
return $response;
|
} catch (Exception $e) {
|
||||||
} catch (\Exception $e) {
|
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1824,7 +1824,7 @@ Ext.onReady ( function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
winReassignInCasesList = new Ext.Window({
|
winReassignInCasesList = new Ext.Window({
|
||||||
title: '',
|
title: _('ID_REASSIGN_CASE'),
|
||||||
width: 450,
|
width: 450,
|
||||||
height: 350,
|
height: 350,
|
||||||
layout:'auto',
|
layout:'auto',
|
||||||
|
|||||||
@@ -1127,7 +1127,7 @@ Ext.onReady(function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
var winReassignInCasesList = new Ext.Window({
|
var winReassignInCasesList = new Ext.Window({
|
||||||
title: '',
|
title: _('ID_REASSIGN_CASE'),
|
||||||
width: 450,
|
width: 450,
|
||||||
height: 350,
|
height: 350,
|
||||||
layout: 'auto',
|
layout: 'auto',
|
||||||
|
|||||||
Reference in New Issue
Block a user