Merge remote-tracking branch 'pm/3.1' into HOR-1544

This commit is contained in:
Ronald Q
2016-07-29 14:57:16 -04:00
48 changed files with 468 additions and 778 deletions

View File

@@ -9,8 +9,7 @@ class ElementTaskRelation
"PRJ_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "projectUid"),
"ELEMENT_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "elementUid"),
"ELEMENT_TYPE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "elementType"),
"TAS_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "taskUid"),
"ELEMENT_UID_DEST" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "elementUidDest")
"TAS_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "taskUid")
);
private $formatFieldNameInUppercase = true;
@@ -360,30 +359,5 @@ class ElementTaskRelation
throw $e;
}
}
/**
* Verify if exists the Element-Task-Relation Gateway to Gateway
*
* @param string $elementUid uid of Element-Task-Relation
* @param string $elementUidDest uid of Element-Task-Relation Destiny
*
* return bool Return true if exists the Element-Task-Relation Gateway to Gateway, false otherwise
*/
public function existsGatewayToGateway($elementUid,$elementUidDest)
{
try {
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\ElementTaskRelationPeer::ETR_UID);
$criteria->add(\ElementTaskRelationPeer::ELEMENT_UID, $elementUid, \Criteria::EQUAL);
$criteria->add(\ElementTaskRelationPeer::ELEMENT_UID_DEST, $elementUidDest, \Criteria::EQUAL);
$rsCriteria = \UsersPeer::doSelectRS( $criteria );
$rsCriteria->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$rsCriteria->next();
return ( $rsCriteria->getRow() )? true : false;
} catch (\Exception $e) {
throw $e;
}
}
}

View File

@@ -69,9 +69,9 @@ class EmailEvent
$aRow['EMAIL'] = $aRow['MESS_ACCOUNT'];
} else {
$aRow['EMAIL'] = $aRow['MESS_FROM_MAIL'];
}
}
if($aRow['EMAIL'] != "") {
$accountsArray[] = array_change_key_case($aRow, CASE_LOWER);
$accountsArray[] = array_change_key_case($aRow, CASE_LOWER);
}
}
$result->next();
@@ -445,10 +445,12 @@ class EmailEvent
$emailTo = $email;
}
}
if(!empty($emailTo)) {
if(!empty($emailTo) && $arrayData[3] != '') {
$subject = $arrayData[5];
$subject = \G::replaceDataField($arrayData[5], $arrayApplicationData['APP_DATA']);
\PMFSendMessage($appUID, $arrayData[3], $emailTo, '', '', $subject, $contentFile['prf_filename'], array());
} else {
\Bootstrap::registerMonolog('EmailEventMailError', 200, \G::LoadTranslation('ID_EMAIL_EVENT_CONFIGURATION_EMAIL', array($eventUid, $prj_uid)), ['eventUid' => $eventUid, 'prj_uid' => $prj_uid], SYS_SYS, 'emailEvent.log');
}
}
}

View File

@@ -718,26 +718,10 @@ class BpmnWorkflow extends Project\Bpmn
}
*/
public function createTaskByElement($elementUid, $elementType, $key, $elementUidDest="", $routeType = '')
private function __createTaskByElement($elementUid, $elementType, $key)
{
try {
$flagElementTaskRelation = false;
if($elementUidDest != ""){
if( isset($this->arrayElementTaskRelation[$elementUid][$elementUidDest]) ){
$flagElementTaskRelation = true;
}else{
$flagElementTaskRelation = false;
}
}else{
if (isset($this->arrayElementTaskRelation[$elementUid])) {
$taskUid = $this->arrayElementTaskRelation[$elementUid];
$flagElementTaskRelation = true;
}else{
$flagElementTaskRelation = false;
}
}
if ($flagElementTaskRelation || (isset($this->arrayElementTaskRelation[$elementUid]) && $routeType ===
'SEC-JOIN')) {
if (isset($this->arrayElementTaskRelation[$elementUid])) {
$taskUid = $this->arrayElementTaskRelation[$elementUid];
} else {
$taskPosX = 0;
@@ -793,30 +777,16 @@ class BpmnWorkflow extends Project\Bpmn
//Element-Task-Relation - Create
$elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
if($elementUidDest == ""){
$arrayResult = $elementTaskRelation->create(
$this->wp->getUid(),
array(
"ELEMENT_UID" => $elementUid,
"ELEMENT_TYPE" => $elementType,
"TAS_UID" => $taskUid
)
);
}else{
$createGaToGa = $elementTaskRelation->existsGatewayToGateway($elementUid, $elementUidDest);
if(!$createGaToGa){
$arrayResult = $elementTaskRelation->create(
$this->wp->getUid(),
array(
"ELEMENT_UID" => $elementUid,
"ELEMENT_TYPE" => $elementType,
"TAS_UID" => $taskUid,
"ELEMENT_UID_DEST" => $elementUidDest
)
);
}
}
$arrayResult = $elementTaskRelation->create(
$this->wp->getUid(),
[
'ELEMENT_UID' => $elementUid,
'ELEMENT_TYPE' => $elementType,
'TAS_UID' => $taskUid
]
);
//Array - Add element
$this->arrayElementTaskRelation[$elementUid] = $taskUid;
}
@@ -899,12 +869,10 @@ class BpmnWorkflow extends Project\Bpmn
break;
case "bpmnGateway":
//Gateway ----> Gateway
$taskUid = $this->createTaskByElement(
$gatewayUid,
"bpmnGateway",
"gateway-to-gateway",
$arrayFlowData["FLO_ELEMENT_DEST"],
$routeType
$taskUid = $this->__createTaskByElement(
$arrayFlowData['FLO_ELEMENT_DEST'],
'bpmnGateway',
'gateway-to-gateway'
);
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
@@ -924,7 +892,7 @@ class BpmnWorkflow extends Project\Bpmn
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
switch ($event->getEvnMarker()) {
case "MESSAGETHROW":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event->getEvnUid(),
"bpmnEvent",
"end-message-event"
@@ -934,7 +902,7 @@ class BpmnWorkflow extends Project\Bpmn
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
break;
case "EMAIL":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event->getEvnUid(),
"bpmnEvent",
"end-email-event"
@@ -986,7 +954,7 @@ class BpmnWorkflow extends Project\Bpmn
"EMAIL" => "intermediate-throw-email-event"
);
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$eventUid,
"bpmnEvent",
$arrayKey[$arrayEventData["EVN_MARKER"]]
@@ -1039,7 +1007,7 @@ class BpmnWorkflow extends Project\Bpmn
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
switch ($event->getEvnMarker()) {
case "MESSAGETHROW":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event->getEvnUid(),
"bpmnEvent",
"end-message-event"
@@ -1049,7 +1017,7 @@ class BpmnWorkflow extends Project\Bpmn
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
break;
case "EMAIL":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event->getEvnUid(),
"bpmnEvent",
"end-email-event"
@@ -1060,7 +1028,7 @@ class BpmnWorkflow extends Project\Bpmn
break;
default:
//EMPTY //and others types
$result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault, $eventUid);
$result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
break;
}
break;
@@ -1088,18 +1056,17 @@ class BpmnWorkflow extends Project\Bpmn
public function mapBpmnFlowsToWorkflowRoutes()
{
//Task dummies //Delete Task Routes
foreach ($this->arrayElementTaskRelation as $value) {
$this->wp->resetTaskRoutes($value);
}
//Delete Routes
$criteria = new \Criteria('workflow');
$criteria->add(\RoutePeer::PRO_UID, $this->wp->getUid(), \Criteria::EQUAL);
\RoutePeer::doDelete($criteria);
//Activities
foreach ($this->getActivities() as $value) {
$activity = $value;
//Delete Task Routes
$this->wp->resetTaskRoutes($activity["ACT_UID"]);
//Flows
$arrayFlow = \BpmnFlow::findAllBy(array(
\BpmnFlowPeer::FLO_TYPE => array("MESSAGE", \Criteria::NOT_EQUAL),
@@ -1133,7 +1100,7 @@ class BpmnWorkflow extends Project\Bpmn
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
switch ($event->getEvnMarker()) {
case "MESSAGETHROW":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event->getEvnUid(),
"bpmnEvent",
"end-message-event"
@@ -1143,7 +1110,7 @@ class BpmnWorkflow extends Project\Bpmn
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
break;
case "EMAIL":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event->getEvnUid(),
"bpmnEvent",
"end-email-event"
@@ -1178,7 +1145,7 @@ class BpmnWorkflow extends Project\Bpmn
case "START":
switch ($event["EVN_MARKER"]) {
case "MESSAGECATCH":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event["EVN_UID"],
"bpmnEvent",
"start-message-event"
@@ -1189,7 +1156,7 @@ class BpmnWorkflow extends Project\Bpmn
$this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
break;
case "TIMER":
$taskUid = $this->createTaskByElement(
$taskUid = $this->__createTaskByElement(
$event["EVN_UID"],
"bpmnEvent",
"start-timer-event"
@@ -1481,6 +1448,7 @@ class BpmnWorkflow extends Project\Bpmn
$uidOld = $lanesetData["LNS_UID"];
$lanesetData["LNS_UID"] = Util\Common::generateUID();
$diagram = self::refreshElementUid($diagram, $uidOld, $lanesetData["LNS_UID"]);
$result[] = array(
"object" => "laneset",
"old_uid" => $uidOld,
@@ -1525,6 +1493,7 @@ class BpmnWorkflow extends Project\Bpmn
$uidOld = $laneData["LAN_UID"];
$laneData["LAN_UID"] = Util\Common::generateUID();
$diagram = self::refreshElementUid($diagram, $uidOld, $laneData["LAN_UID"]);
$result[] = array(
"object" => "lane",
"old_uid" => $uidOld,
@@ -1948,14 +1917,27 @@ class BpmnWorkflow extends Project\Bpmn
$arrayGatewayData = $bwp->getGateway($value);
if (!is_null($arrayGatewayData)) {
$arrayFlow = \BpmnFlow::findAllBy(array(
\BpmnFlowPeer::FLO_TYPE => array("MESSAGE", \Criteria::NOT_EQUAL),
\BpmnFlowPeer::FLO_ELEMENT_DEST => $arrayGatewayData["GAT_UID"],
\BpmnFlowPeer::FLO_ELEMENT_DEST_TYPE => "bpmnGateway"
));
$arrayFlow = \BpmnFlow::findAllBy([
\BpmnFlowPeer::FLO_TYPE => ['MESSAGE', \Criteria::NOT_EQUAL],
\BpmnFlowPeer::FLO_ELEMENT_DEST => $arrayGatewayData['GAT_UID'],
\BpmnFlowPeer::FLO_ELEMENT_DEST_TYPE => 'bpmnGateway'
]);
if (count($arrayFlow) > 1) {
$bwp->updateGateway($arrayGatewayData["GAT_UID"], array("GAT_DIRECTION" => "CONVERGING"));
$arrayFlow = \BpmnFlow::findAllBy([
\BpmnFlowPeer::FLO_TYPE => ['MESSAGE', \Criteria::NOT_EQUAL],
\BpmnFlowPeer::FLO_ELEMENT_ORIGIN => $arrayGatewayData['GAT_UID'],
\BpmnFlowPeer::FLO_ELEMENT_ORIGIN_TYPE => 'bpmnGateway'
]);
if (count($arrayFlow) == 1) {
$bwp->updateGateway($arrayGatewayData['GAT_UID'], ['GAT_DIRECTION' => 'CONVERGING']);
$arrayFlowData = $arrayFlow[0]->toArray();
$bpmn = new Project\Bpmn();
$bpmn->updateFlow($arrayFlowData['FLO_UID'], array_merge($arrayFlowData, ['FLO_CONDITION' => '']));
}
}
}
}
@@ -1968,6 +1950,8 @@ class BpmnWorkflow extends Project\Bpmn
//Map Bpmn-Flows to Workflow-Routes
$bwp->mapBpmnFlowsToWorkflowRoutes();
$bwp->__gatewayToGatewayDeleteCorruptedRecords(); //Delete corrupted records in task and element_task_relation tables
//Return
return $result;
}
@@ -2058,5 +2042,74 @@ class BpmnWorkflow extends Project\Bpmn
);
return $diagram;
}
}
private function __gatewayToGatewayDeleteCorruptedRecords()
{
//Delete corrupted records in task and element_task_relation tables
$actionDone = 'GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS';
$criteria = new \Criteria('workflow');
$criteria->addSelectColumn(\ProcessPeer::PRO_UID);
$criteria->add(\ProcessPeer::PRO_UID, $this->wp->getUid(), \Criteria::EQUAL);
$criteria->add(\ProcessPeer::PRO_ACTION_DONE, '%' . $actionDone . '%', \Criteria::LIKE);
$rsCriteria = \ProcessPeer::doSelectRS($criteria);
if (!$rsCriteria->next()) {
$arrayTaskUid = [];
$criteria = new \Criteria('workflow');
$criteria->addSelectColumn(\TaskPeer::TAS_UID);
$criteria->addAlias('RT', \RoutePeer::TABLE_NAME);
$criteria->addAlias('RNT', \RoutePeer::TABLE_NAME);
$arrayCondition = [];
$arrayCondition[] = [\TaskPeer::TAS_UID, 'RT.TAS_UID', \Criteria::EQUAL];
$criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
$arrayCondition = [];
$arrayCondition[] = [\TaskPeer::TAS_UID, 'RNT.ROU_NEXT_TASK', \Criteria::EQUAL];
$criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
$criteria->add(\TaskPeer::PRO_UID, $this->wp->getUid(), \Criteria::EQUAL);
$criteria->add(\TaskPeer::TAS_TYPE, 'GATEWAYTOGATEWAY', \Criteria::EQUAL);
$criteria->add(
$criteria->getNewCriterion('RT.ROU_UID', null, \Criteria::ISNULL)->addAnd(
$criteria->getNewCriterion('RNT.ROU_UID', null, \Criteria::ISNULL))
);
$rsCriteria = \TaskPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$record = $rsCriteria->getRow();
$arrayTaskUid[] = $record['TAS_UID'];
}
//Delete Task corrupted
$criteria = new \Criteria('workflow');
$criteria->add(\TaskPeer::TAS_UID, $arrayTaskUid, \Criteria::IN);
$result = \TaskPeer::doDelete($criteria);
//Delete ElementTaskRelation corrupted
$criteria = new \Criteria('workflow');
$criteria->add(\ElementTaskRelationPeer::TAS_UID, $arrayTaskUid, \Criteria::IN);
$result = \ElementTaskRelationPeer::doDelete($criteria);
//Update Process
$process = \ProcessPeer::retrieveByPk($this->wp->getUid());
$arrayActionDone = ($process->getProActionDone() != '')? unserialize($process->getProActionDone()) : [];
$arrayActionDone[] = $actionDone;
$this->wp->update(['PRO_ACTION_DONE' => serialize($arrayActionDone)]);
}
}
}

View File

@@ -25,10 +25,6 @@ class Workflow extends Handler
protected $process;
protected $proUid;
protected $tasks = array();
protected $routes = array();
public function __construct($data = null)
{
if (! is_null($data)) {
@@ -66,13 +62,13 @@ class Workflow extends Handler
$data['PRO_CATEGORY'] = array_key_exists('PRO_CATEGORY', $data) ? $data['PRO_CATEGORY'] : "";
try {
// Check to make sure that there aren't any html sneaking into process titles.
$testTitle = htmlspecialchars($data['PRO_TITLE']);
if($testTitle != $data['PRO_TITLE']) {
$data['PRO_TITLE'] = $testTitle;
if($testTitle != $data['PRO_TITLE']) {
$data['PRO_TITLE'] = $testTitle;
}
self::log("Create Process with data:", $data);
@@ -373,7 +369,7 @@ class Workflow extends Handler
* @return string
* @throws \Exception
*/
public function addRoute($fromTasUid, $toTasUid, $type, $condition = "", $default = 0, $eventUidOrigin = "")
public function addRoute($fromTasUid, $toTasUid, $type, $condition = '', $default = 0)
{
try {
$validTypes = array("SEQUENTIAL", "SELECT", "EVALUATE", "PARALLEL", "PARALLEL-BY-EVALUATION", "SEC-JOIN", "DISCRIMINATOR");
@@ -393,21 +389,13 @@ class Workflow extends Handler
//$oTasks->deleteAllRoutesOfTask($this->proUid, $fromTasUid);
//}
if($toTasUid == "-1"){
$route = \Route::findOneBy(array(
\RoutePeer::TAS_UID => $fromTasUid,
\RoutePeer::ROU_NEXT_TASK => $toTasUid,
\RoutePeer::ROU_ELEMENT_ORIGIN => $eventUidOrigin
));
} else {
$route = \Route::findOneBy(array(
\RoutePeer::TAS_UID => $fromTasUid,
\RoutePeer::ROU_NEXT_TASK => $toTasUid
));
}
$route = \Route::findOneBy([
\RoutePeer::TAS_UID => $fromTasUid,
\RoutePeer::ROU_NEXT_TASK => $toTasUid
]);
if (is_null($route)) {
$result = $this->saveNewPattern($this->proUid, $fromTasUid, $toTasUid, $type, $condition, $default, $eventUidOrigin);
$result = $this->saveNewPattern($this->proUid, $fromTasUid, $toTasUid, $type, $condition, $default);
} else {
$result = $this->updateRoute($route->getRouUid(), array(
"TAS_UID" => $fromTasUid,
@@ -521,7 +509,7 @@ class Workflow extends Handler
}
}
private function saveNewPattern($sProcessUID = "", $sTaskUID = "", $sNextTask = "", $sType = "", $condition = "", $default = 0, $elementUidOrigin = "")
private function saveNewPattern($sProcessUID = '', $sTaskUID = '', $sNextTask = '', $sType = '', $condition = '', $default = 0)
{
try {
self::log("Add Route from task: $sTaskUID -> to task: $sNextTask ($sType)");
@@ -544,7 +532,6 @@ class Workflow extends Handler
$aFields["ROU_CASE"] = (int)($aRow["ROUTE_NUMBER"]) + 1;
$aFields["ROU_TYPE"] = $sType;
$aFields["ROU_DEFAULT"] = $default;
$aFields["ROU_ELEMENT_ORIGIN"] = $elementUidOrigin;
if(! empty($condition)) {
$aFields['ROU_CONDITION'] = $condition;

View File

@@ -14,26 +14,9 @@ class Calendar extends Api
private $formatFieldNameInUppercase = false;
/**
* Constructor of the class
*
* return void
*/
public function __construct()
{
try {
$user = new \ProcessMaker\BusinessModel\User();
$usrUid = $this->getUserId();
if (!$user->checkPermission($usrUid, "PM_SETUP")) {
throw new \Exception(\G::LoadTranslation("ID_USER_NOT_HAVE_PERMISSION", array($usrUid)));
}
} catch (\Exception $e) {
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_CALENDAR}
* @url GET
*/
public function index($filter = null, $start = null, $limit = null)
@@ -50,6 +33,9 @@ class Calendar extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_CALENDAR}
* @url GET /:cal_uid
*
* @param string $cal_uid {@min 32}{@max 32}
@@ -68,6 +54,9 @@ class Calendar extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_CALENDAR}
* @url POST
*
* @param array $request_data
@@ -91,6 +80,9 @@ class Calendar extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_CALENDAR}
* @url PUT /:cal_uid
*
* @param string $cal_uid {@min 32}{@max 32}
@@ -109,6 +101,9 @@ class Calendar extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_CALENDAR}
* @url DELETE /:cal_uid
*
* @param string $cal_uid {@min 32}{@max 32}

View File

@@ -29,6 +29,37 @@ class Light extends Api
'dueDate',
'delRiskDate'
];
/**
* Constructor of the class
*
* return void
*/
public function __construct()
{
try {
/**
* The variable $RBAC can be defined as follows:
*
* $RBAC = new \stdClass();
* $RBAC->aUserInfo['USER_INFO'] = ["USR_UID" => $this->getUserId()];
*
* Please consider removing the use of this variable in model class,
* or perform a corresponding improvement.
*/
global $RBAC;
if (!isset($RBAC)) {
\Bootstrap::LoadSystem('rbac');
$RBAC = \RBAC::getSingleton(PATH_DATA, session_id());
$RBAC->sSystem = 'PROCESSMAKER';
$RBAC->initRBAC();
$RBAC->loadUserRolePermission($RBAC->sSystem, $this->getUserId());
}
} catch (\Exception $e) {
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
/**
* Get list counters
* @return array

View File

@@ -21,13 +21,6 @@ class ProcessCategory extends Api
public function __construct()
{
try {
$user = new \ProcessMaker\BusinessModel\User();
$usrUid = $this->getUserId();
if (!$user->checkPermission($usrUid, "PM_SETUP")) {
throw new \Exception(\G::LoadTranslation("ID_USER_NOT_HAVE_PERMISSION", array($usrUid)));
}
$this->category = new \ProcessMaker\BusinessModel\ProcessCategory();
@@ -38,6 +31,9 @@ class ProcessCategory extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES}
* @url GET /categories
*/
public function doGetCategories($filter = null, $start = null, $limit = null)
@@ -52,6 +48,9 @@ class ProcessCategory extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES}
* @url GET /category/:cat_uid
*
* @param string $cat_uid {@min 32}{@max 32}
@@ -68,6 +67,9 @@ class ProcessCategory extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES}
* @url POST /category
*
* @param array $request_data
@@ -88,6 +90,9 @@ class ProcessCategory extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES}
* @url PUT /category/:cat_uid
*
* @param string $cat_uid {@min 32}{@max 32}
@@ -103,6 +108,9 @@ class ProcessCategory extends Api
}
/**
*
* @access protected
* @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES}
* @url DELETE /category/:cat_uid
*
* @param string $cat_uid {@min 32}{@max 32}

View File

@@ -233,42 +233,42 @@ class ActivityPropertiesStructure
public $tas_title;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_description;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_priority_variable;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_derivation_screen_tpl;
/**
* @var string {@from body} {@choice TRUE,FALSE}
* @var string {@from body} {@choice TRUE,FALSE} {@required false}
*/
public $tas_start;
/**
* @var string {@from body} {@choice BALANCED,MANUAL,EVALUATE,REPORT_TO,SELF_SERVICE,SELF_SERVICE_EVALUATE,MULTIPLE_INSTANCE,MULTIPLE_INSTANCE_VALUE_BASED}
* @var string {@from body} {@choice BALANCED,MANUAL,EVALUATE,REPORT_TO,SELF_SERVICE,SELF_SERVICE_EVALUATE,MULTIPLE_INSTANCE,MULTIPLE_INSTANCE_VALUE_BASED} {@required false}
*/
public $tas_assign_type;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_assign_variable;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_group_variable;
/**
* @var string {@from body}
* @var int {@from body} {@required false}
*/
public $tas_selfservice_time;
@@ -278,12 +278,12 @@ class ActivityPropertiesStructure
public $tas_selfservice_timeout;
/**
* @var string {@from body} {@choice DAYS,,HOURS,MINUTES}
* @var string {@from body} {@choice DAYS,,HOURS,MINUTES} {@required false}
*/
public $tas_selfservice_time_unit;
/**
* @var string {@from body} {@min 0} {@max 32}
* @var string {@from body} {@min 0} {@max 32} {@required false}
*/
public $tas_selfservice_trigger_uid;
@@ -298,22 +298,22 @@ class ActivityPropertiesStructure
public $tas_transfer_fly;
/**
* @var int {@from body}
* @var int {@from body} {@required false}
*/
public $tas_duration;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_timeunit;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_type_day;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_calendar;
@@ -323,12 +323,12 @@ class ActivityPropertiesStructure
public $tas_type;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_def_title;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_def_description;
@@ -338,22 +338,22 @@ class ActivityPropertiesStructure
public $tas_send_last_email;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_def_subject_message;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_def_message_type;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_def_message;
/**
* @var string {@from body}
* @var string {@from body} {@required false}
*/
public $tas_def_message_template;
}