Correcion de conflictos
This commit is contained in:
@@ -2341,9 +2341,10 @@ class Bootstrap
|
|||||||
$restUri .= '/' . $urlPart;
|
$restUri .= '/' . $urlPart;
|
||||||
}
|
}
|
||||||
|
|
||||||
$args = array();
|
$env = self::getSystemConfiguration();
|
||||||
|
|
||||||
$args['SYS_LANG'] = 'en'; // TODO, this can be set from http header
|
$args['SYS_LANG'] = 'en'; // TODO, this can be set from http header
|
||||||
$args['SYS_SKIN'] = '';
|
$args['SYS_SKIN'] = $env['default_skin'];
|
||||||
$args['SYS_COLLECTION'] = '';
|
$args['SYS_COLLECTION'] = '';
|
||||||
$args['SYS_TARGET'] = $restUri;
|
$args['SYS_TARGET'] = $restUri;
|
||||||
$args['API_VERSION'] = $apiVersion;
|
$args['API_VERSION'] = $apiVersion;
|
||||||
|
|||||||
@@ -187,20 +187,44 @@ class CaseScheduler
|
|||||||
*
|
*
|
||||||
* @param string $userName Name
|
* @param string $userName Name
|
||||||
* @param string $userPass Password
|
* @param string $userPass Password
|
||||||
|
* @param string $sProcessUID Process
|
||||||
*
|
*
|
||||||
* return bool Return true if the user exists, false otherwise
|
* return bool Return true if the user exists, false otherwise
|
||||||
*/
|
*/
|
||||||
public function getUser($userName, $userPass)
|
public function getUser($userName, $userPass, $sProcessUID)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$criteria = new \Criteria("workflow");
|
if (\G::is_https()) {
|
||||||
$criteria->addSelectColumn(\UsersPeer::USR_UID);
|
$http = 'https://';
|
||||||
$criteria->add(\UsersPeer::USR_USERNAME, $userName, \Criteria::EQUAL);
|
} else {
|
||||||
$criteria->add(\UsersPeer::USR_PASSWORD, $userPass, \Criteria::EQUAL);
|
$http = 'http://';
|
||||||
$rsCriteria = \UsersPeer::doSelectRS($criteria);
|
}
|
||||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2';
|
||||||
$rsCriteria->next();
|
@$client = new \SoapClient( $endpoint );
|
||||||
return $rsCriteria->getRow();
|
$user = $userName;
|
||||||
|
$pass = $userPass;
|
||||||
|
$params = array ('userid' => $user,'password' => $pass);
|
||||||
|
$result = $client->__SoapCall( 'login', array ($params) );
|
||||||
|
if ($result->status_code == 0) {
|
||||||
|
if (! class_exists( 'Users' )) {
|
||||||
|
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes". PATH_SEP . "model" . PATH_SEP . "UsersPeer.php");
|
||||||
|
}
|
||||||
|
$oCriteria = new \Criteria( 'workflow' );
|
||||||
|
$oCriteria->addSelectColumn( 'USR_UID' );
|
||||||
|
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
|
||||||
|
$resultSet = \UsersPeer::doSelectRS( $oCriteria );
|
||||||
|
$resultSet->next();
|
||||||
|
$user_id = $resultSet->getRow();
|
||||||
|
$result->message = $user_id[0];
|
||||||
|
\G::LoadClass( 'case' );
|
||||||
|
$caseInstance = new \Cases();
|
||||||
|
if (! $caseInstance->canStartCase( $result->message, $sProcessUID )) {
|
||||||
|
$result->status_code = - 1000;
|
||||||
|
$result->message = \G::LoadTranslation( 'ID_USER_CASES_NOT_START' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$message = $result->message;
|
||||||
|
return $message;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
@@ -233,11 +257,11 @@ class CaseScheduler
|
|||||||
if ($this->existsName($sProcessUID, $aData['SCH_NAME'])) {
|
if ($this->existsName($sProcessUID, $aData['SCH_NAME'])) {
|
||||||
throw (new \Exception( 'duplicate Case Scheduler name'));
|
throw (new \Exception( 'duplicate Case Scheduler name'));
|
||||||
}
|
}
|
||||||
$aData['SCH_DEL_USER_PASS'] = md5( $aData['SCH_DEL_USER_PASS']);
|
$mUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['SCH_DEL_USER_PASS'], $sProcessUID);
|
||||||
$arrayUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['SCH_DEL_USER_PASS']);
|
if (!empty($mUser)) {
|
||||||
if (empty($arrayUser)) {
|
throw (new \Exception($mUser));
|
||||||
throw (new \Exception( 'invalid user or password'));
|
|
||||||
}
|
}
|
||||||
|
$aData['SCH_DEL_USER_PASS'] = md5( $aData['SCH_DEL_USER_PASS']);
|
||||||
if ($sOption != '5') {
|
if ($sOption != '5') {
|
||||||
$pattern="/^([0-1][0-9]|[2][0-3])[\:]([0-5][0-9])$/";
|
$pattern="/^([0-1][0-9]|[2][0-3])[\:]([0-5][0-9])$/";
|
||||||
if(!preg_match($pattern, $aData['SCH_START_TIME'])) {
|
if(!preg_match($pattern, $aData['SCH_START_TIME'])) {
|
||||||
@@ -479,11 +503,11 @@ class CaseScheduler
|
|||||||
if ($this->existsNameUpdate($sSchUID, $aData['SCH_NAME'])) {
|
if ($this->existsNameUpdate($sSchUID, $aData['SCH_NAME'])) {
|
||||||
throw (new \Exception( 'duplicate Case Scheduler name'));
|
throw (new \Exception( 'duplicate Case Scheduler name'));
|
||||||
}
|
}
|
||||||
$aData['SCH_DEL_USER_PASS'] = md5( $aData['SCH_DEL_USER_PASS']);
|
$mUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['SCH_DEL_USER_PASS'], $sProcessUID);
|
||||||
$arrayUser = $this->getUser($aData['SCH_DEL_USER_NAME'], $aData['SCH_DEL_USER_PASS']);
|
if (!empty($mUser)) {
|
||||||
if (empty($arrayUser)) {
|
throw (new \Exception($mUser));
|
||||||
throw (new \Exception( 'invalid user or password'));
|
|
||||||
}
|
}
|
||||||
|
$aData['SCH_DEL_USER_PASS'] = md5( $aData['SCH_DEL_USER_PASS']);
|
||||||
if ($sOption != '5') {
|
if ($sOption != '5') {
|
||||||
$pattern="/^([0-1][0-9]|[2][0-3])[\:]([0-5][0-9])$/";
|
$pattern="/^([0-1][0-9]|[2][0-3])[\:]([0-5][0-9])$/";
|
||||||
if(!preg_match($pattern, $aData['SCH_START_TIME'])) {
|
if(!preg_match($pattern, $aData['SCH_START_TIME'])) {
|
||||||
|
|||||||
@@ -73,11 +73,11 @@ class InputDocument
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($arrayData["INP_DOC_TITLE"])) {
|
if (!isset($arrayData["INP_DOC_TITLE"])) {
|
||||||
throw (new \Exception(str_replace(array("{0}"), array("INP_DOC_TITLE"), "The \"{0}\" attribute is not defined")));
|
throw (new \Exception(str_replace(array("{0}"), array(strtolower("INP_DOC_TITLE")), "The \"{0}\" attribute is not defined")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arrayData["INP_DOC_TITLE"]) && trim($arrayData["INP_DOC_TITLE"]) == "") {
|
if (isset($arrayData["INP_DOC_TITLE"]) && trim($arrayData["INP_DOC_TITLE"]) == "") {
|
||||||
throw (new \Exception(str_replace(array("{0}"), array("INP_DOC_TITLE"), "The \"{0}\" attribute is empty")));
|
throw (new \Exception(str_replace(array("{0}"), array(strtolower("INP_DOC_TITLE")), "The \"{0}\" attribute is empty")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arrayData["INP_DOC_TITLE"]) && $this->titleExists($processUid, $arrayData["INP_DOC_TITLE"])) {
|
if (isset($arrayData["INP_DOC_TITLE"]) && $this->titleExists($processUid, $arrayData["INP_DOC_TITLE"])) {
|
||||||
@@ -145,7 +145,7 @@ class InputDocument
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arrayData["INP_DOC_TITLE"]) && trim($arrayData["INP_DOC_TITLE"]) == "") {
|
if (isset($arrayData["INP_DOC_TITLE"]) && trim($arrayData["INP_DOC_TITLE"]) == "") {
|
||||||
throw (new \Exception(str_replace(array("{0}"), array("INP_DOC_TITLE"), "The \"{0}\" attribute is empty")));
|
throw (new \Exception(str_replace(array("{0}"), array(strtolower("INP_DOC_TITLE")), "The \"{0}\" attribute is empty")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arrayData["INP_DOC_TITLE"]) && $this->titleExists($processUid, $arrayData["INP_DOC_TITLE"], $inputDocumentUid)) {
|
if (isset($arrayData["INP_DOC_TITLE"]) && $this->titleExists($processUid, $arrayData["INP_DOC_TITLE"], $inputDocumentUid)) {
|
||||||
|
|||||||
@@ -246,6 +246,9 @@ class OutputDocument
|
|||||||
if (!$process->exists($sProcessUID)) {
|
if (!$process->exists($sProcessUID)) {
|
||||||
throw (new \Exception(str_replace(array("{0}", "{1}"), array($sProcessUID, "PROCESS"), "The UID \"{0}\" doesn't exist in table {1}")));
|
throw (new \Exception(str_replace(array("{0}", "{1}"), array($sProcessUID, "PROCESS"), "The UID \"{0}\" doesn't exist in table {1}")));
|
||||||
}
|
}
|
||||||
|
if ($aData["OUT_DOC_TITLE"]=="") {
|
||||||
|
throw (new \Exception( 'invalid value specified for `out_doc_title`, can`t be null'));
|
||||||
|
}
|
||||||
if (isset($aData["OUT_DOC_TITLE"]) && $this->existsTitle($sProcessUID, $aData["OUT_DOC_TITLE"])) {
|
if (isset($aData["OUT_DOC_TITLE"]) && $this->existsTitle($sProcessUID, $aData["OUT_DOC_TITLE"])) {
|
||||||
throw (new \Exception(\G::LoadTranslation("ID_OUTPUT_NOT_SAVE")));
|
throw (new \Exception(\G::LoadTranslation("ID_OUTPUT_NOT_SAVE")));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -593,5 +593,42 @@ class Process
|
|||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all Web Entries of a Process
|
||||||
|
*
|
||||||
|
* @param string $processUid Unique id of Process
|
||||||
|
*
|
||||||
|
* return array Return an array with all Web Entries of a Process
|
||||||
|
*/
|
||||||
|
public function getWebEntries($processUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$arrayWebEntry = array();
|
||||||
|
|
||||||
|
//Verify data
|
||||||
|
$process = new \Process();
|
||||||
|
|
||||||
|
if (!$process->exists($processUid)) {
|
||||||
|
throw (new \Exception(str_replace(array("{0}", "{1}"), array($processUid, "PROCESS"), "The UID \"{0}\" doesn't exist in table {1}")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get data
|
||||||
|
$webEntry = new \BusinessModel\WebEntry();
|
||||||
|
|
||||||
|
$arrayWebEntryData = $webEntry->getData($processUid);
|
||||||
|
|
||||||
|
foreach ($arrayWebEntryData as $index => $value) {
|
||||||
|
$row = $value;
|
||||||
|
|
||||||
|
$arrayWebEntry[] = $webEntry->getWebEntryDataFromRecord($row);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Return
|
||||||
|
return $arrayWebEntry;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
160
workflow/engine/src/BusinessModel/ProjectUser.php
Normal file
160
workflow/engine/src/BusinessModel/ProjectUser.php
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
<?php
|
||||||
|
namespace BusinessModel;
|
||||||
|
|
||||||
|
use \G;
|
||||||
|
|
||||||
|
class ProjectUser
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Return the users to assigned to a process
|
||||||
|
*
|
||||||
|
* @param string $sProcessUID {@min 32} {@max 32}
|
||||||
|
*
|
||||||
|
* return array
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function getProjectUsers($sProcessUID)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$aUsers = array();
|
||||||
|
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||||
|
$oCriteria = new \Criteria('workflow');
|
||||||
|
$oCriteria->setDistinct();
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::USR_UID);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::TU_TYPE);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::TU_RELATION);
|
||||||
|
$oCriteria->addJoin(\TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->addJoin(\TaskUserPeer::TAS_UID, \TaskPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->add(\TaskPeer::PRO_UID, $sProcessUID);
|
||||||
|
$oCriteria->add(\TaskUserPeer::TU_TYPE, 1);
|
||||||
|
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
||||||
|
$oCriteria->addGroupByColumn(USR_UID);
|
||||||
|
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||||
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$oDataset->next();
|
||||||
|
while ($aRow = $oDataset->getRow()) {
|
||||||
|
$aUsers[] = array('usr_uid' => $aRow['USR_UID'],
|
||||||
|
'usr_username' => $aRow['USR_USERNAME'],
|
||||||
|
'usr_firstname' => $aRow['USR_FIRSTNAME'],
|
||||||
|
'usr_lastname' => $aRow['USR_LASTNAME']);
|
||||||
|
$oDataset->next();
|
||||||
|
}
|
||||||
|
return $aUsers;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the users and users groups to assigned to a process
|
||||||
|
*
|
||||||
|
* @param string $sProcessUID {@min 32} {@max 32}
|
||||||
|
*
|
||||||
|
* return array
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function getProjectStartingTasks($sProcessUID)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$aUsers = array();
|
||||||
|
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||||
|
$oCriteria = new \Criteria('workflow');
|
||||||
|
$oCriteria->setDistinct();
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
||||||
|
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::USR_UID);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::TU_TYPE);
|
||||||
|
$oCriteria->addSelectColumn(\TaskUserPeer::TU_RELATION);
|
||||||
|
$oCriteria->addJoin(\TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->addJoin(\TaskUserPeer::TAS_UID, \TaskPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->add(\TaskPeer::PRO_UID, $sProcessUID);
|
||||||
|
$oCriteria->add(\TaskUserPeer::TU_TYPE, 1);
|
||||||
|
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
||||||
|
$oCriteria->addGroupByColumn(USR_UID);
|
||||||
|
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||||
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$oDataset->next();
|
||||||
|
while ($aRow = $oDataset->getRow()) {
|
||||||
|
\G::LoadClass( 'case' );
|
||||||
|
$oCase = new \Cases();
|
||||||
|
$startTasks = $oCase->getStartCases( $aRow['USR_UID'] );
|
||||||
|
foreach ($startTasks as $task) {
|
||||||
|
if ((isset( $task['pro_uid'] )) && ($task['pro_uid'] == $sProcessUID)) {
|
||||||
|
$taskValue = explode( '(', $task['value'] );
|
||||||
|
$tasksLastIndex = count( $taskValue ) - 1;
|
||||||
|
$taskValue = explode( ')', $taskValue[$tasksLastIndex] );
|
||||||
|
//echo "<option value=\"" . $task['uid'] . "\">" . $taskValue[0] . "</option>";
|
||||||
|
echo $task['uid'] ." ------ ".$aUsers." fin ";
|
||||||
|
//var_dump($aUsers);
|
||||||
|
if (in_array($task['uid'], $aUsers)) {
|
||||||
|
echo "Es mac";
|
||||||
|
}
|
||||||
|
|
||||||
|
$aUsers[] = array(/*'usr_uid' => $aRow['USR_UID'],
|
||||||
|
'usr_username' => $aRow['USR_USERNAME'],
|
||||||
|
'usr_firstname' => $aRow['USR_FIRSTNAME'],
|
||||||
|
'usr_lastname' => $aRow['USR_LASTNAME'],*/
|
||||||
|
'tas_name' => $taskValue[0],
|
||||||
|
'tas_uid' => $task['uid']);
|
||||||
|
if (in_array($task['uid'], $aUsers['tas_uid'] )) {
|
||||||
|
echo "Es mac";
|
||||||
|
}
|
||||||
|
echo $task['uid'] . " ";
|
||||||
|
$oDataset->next();
|
||||||
|
}
|
||||||
|
//$oDataset->next();
|
||||||
|
}
|
||||||
|
//die();
|
||||||
|
$oDataset->next();
|
||||||
|
|
||||||
|
}
|
||||||
|
return $aUsers;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the users and users groups to assigned to a process
|
||||||
|
*
|
||||||
|
* @param string $sProcessUID {@min 32} {@max 32}
|
||||||
|
* @param string $sUserUID {@min 32} {@max 32}
|
||||||
|
*
|
||||||
|
* return array
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function getProjectStartingTaskUsers($sProcessUID, $sUserUID)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$aUsers = array();
|
||||||
|
\G::LoadClass( 'case' );
|
||||||
|
$oCase = new \Cases();
|
||||||
|
$startTasks = $oCase->getStartCases($sUserUID);
|
||||||
|
foreach ($startTasks as $task) {
|
||||||
|
if ((isset( $task['pro_uid'] )) && ($task['pro_uid'] == $sProcessUID)) {
|
||||||
|
$taskValue = explode( '(', $task['value'] );
|
||||||
|
$tasksLastIndex = count( $taskValue ) - 1;
|
||||||
|
$taskValue = explode( ')', $taskValue[$tasksLastIndex] );
|
||||||
|
$aUsers[] = array('tas_uid' => $task['uid'],
|
||||||
|
'tas_name' => $taskValue[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $aUsers;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -589,6 +589,14 @@ class Task
|
|||||||
public function getTaskAssignees($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
public function getTaskAssignees($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
@@ -693,6 +701,14 @@ class Task
|
|||||||
public function getTaskAvailableAssignee($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
public function getTaskAvailableAssignee($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 1;
|
$iType = 1;
|
||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
$oTasks = new \Tasks();
|
$oTasks = new \Tasks();
|
||||||
@@ -788,6 +804,14 @@ class Task
|
|||||||
public function getTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
public function getTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 1;
|
$iType = 1;
|
||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||||
@@ -889,6 +913,14 @@ class Task
|
|||||||
public function addTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID, $assType)
|
public function addTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID, $assType)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 1;
|
$iType = 1;
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
||||||
@@ -952,6 +984,14 @@ class Task
|
|||||||
public function removeTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
public function removeTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 1;
|
$iType = 1;
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
||||||
@@ -988,6 +1028,14 @@ class Task
|
|||||||
public function getTaskAdhocAssignees($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
public function getTaskAdhocAssignees($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
@@ -1089,6 +1137,14 @@ class Task
|
|||||||
public function getTaskAvailableAdhocAssignee($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
public function getTaskAvailableAdhocAssignee($sProcessUID, $sTaskUID, $filter, $start, $limit)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 2;
|
$iType = 2;
|
||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
$oTasks = new \Tasks();
|
$oTasks = new \Tasks();
|
||||||
@@ -1184,6 +1240,14 @@ class Task
|
|||||||
public function getTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
public function getTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 2;
|
$iType = 2;
|
||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||||
@@ -1285,6 +1349,14 @@ class Task
|
|||||||
public function addTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID, $assType)
|
public function addTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID, $assType)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 2;
|
$iType = 2;
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
||||||
@@ -1348,6 +1420,14 @@ class Task
|
|||||||
public function removeTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
public function removeTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
|
||||||
|
if (is_null($oProcess)) {
|
||||||
|
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
|
||||||
|
}
|
||||||
|
$oActivity = \TaskPeer::retrieveByPK( $sTaskUID );
|
||||||
|
if (is_null($oActivity)) {
|
||||||
|
throw (new \Exception( 'This id for `act_uid`: '. $sTaskUID .' do not correspond to a registered activity'));
|
||||||
|
}
|
||||||
$iType = 2;
|
$iType = 2;
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
||||||
|
|||||||
226
workflow/engine/src/BusinessModel/WebEntry.php
Normal file
226
workflow/engine/src/BusinessModel/WebEntry.php
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
<?php
|
||||||
|
namespace BusinessModel;
|
||||||
|
|
||||||
|
class WebEntry
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get all Web Entries data of a Process
|
||||||
|
*
|
||||||
|
* @param string $processUid Unique id of Process
|
||||||
|
* @param string $option Option (ALL, UID, DYN_UID)
|
||||||
|
* @param string $taskUid Unique id of Task
|
||||||
|
* @param string $dynaFormUid Unique id of DynaForm
|
||||||
|
*
|
||||||
|
* return array Return an array with all Web Entries data of a Process
|
||||||
|
*/
|
||||||
|
public function getData($processUid, $option = "ALL", $taskUid = "", $dynaFormUid = "")
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$arrayData = array();
|
||||||
|
|
||||||
|
$webEntryPath = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $processUid;
|
||||||
|
|
||||||
|
if (is_dir($webEntryPath)) {
|
||||||
|
$task = new \Task();
|
||||||
|
$dynaForm = new \Dynaform();
|
||||||
|
|
||||||
|
$step = new \BusinessModel\Step();
|
||||||
|
|
||||||
|
$arrayDirFile = scandir($webEntryPath); //Ascending Order
|
||||||
|
|
||||||
|
$nrt = array("\n", "\r", "\t");
|
||||||
|
$nrthtml = array("(n /)", "(r /)", "(t /)");
|
||||||
|
|
||||||
|
$http = (\G::is_https())? "https://" : "http://";
|
||||||
|
$url = $http . $_SERVER["HTTP_HOST"] . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $processUid;
|
||||||
|
|
||||||
|
$flagNext = 1;
|
||||||
|
|
||||||
|
for ($i = 0; $i <= count($arrayDirFile) - 1 && $flagNext == 1; $i++) {
|
||||||
|
$file = $arrayDirFile[$i];
|
||||||
|
|
||||||
|
if ($file != "" && $file != "." && $file != ".." && is_file($webEntryPath . PATH_SEP . $file)) {
|
||||||
|
$one = 0;
|
||||||
|
$two = 0;
|
||||||
|
|
||||||
|
$one = count(explode("wsClient.php", $file));
|
||||||
|
$two = count(explode("Post.php", $file));
|
||||||
|
|
||||||
|
if ($one == 1 && $two == 1) {
|
||||||
|
$arrayInfo = pathinfo($file);
|
||||||
|
|
||||||
|
$weTaskUid = "";
|
||||||
|
$weDynaFormUid = "";
|
||||||
|
$weFileName = $arrayInfo["filename"];
|
||||||
|
|
||||||
|
$strContent = str_replace($nrt, $nrthtml, file_get_contents($webEntryPath . PATH_SEP . $weFileName . ".php"));
|
||||||
|
|
||||||
|
if (preg_match("/^.*CURRENT_DYN_UID.*=.*[\"\'](\w{32})[\"\'].*$/", $strContent, $arrayMatch)) {
|
||||||
|
$weDynaFormUid = $arrayMatch[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file_exists($webEntryPath . PATH_SEP . $weFileName . "Post.php")) {
|
||||||
|
$strContent = str_replace($nrt, $nrthtml, file_get_contents($webEntryPath . PATH_SEP . $weFileName . "Post.php"));
|
||||||
|
|
||||||
|
if (preg_match("/^.*ws_newCase\s*\(\s*[\"\']" . $processUid . "[\"\']\s*\,\s*[\"\'](\w{32})[\"\'].*\)\s*\;.*$/", $strContent, $arrayMatch)) {
|
||||||
|
$weTaskUid = $arrayMatch[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($weTaskUid != "" && $weDynaFormUid != "") {
|
||||||
|
$flagPush = 0;
|
||||||
|
|
||||||
|
switch ($option) {
|
||||||
|
case "ALL":
|
||||||
|
if ($step->existsRecord($weTaskUid, "DYNAFORM", $weDynaFormUid)) {
|
||||||
|
$flagPush = 1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "UID":
|
||||||
|
if ($taskUid != "" && $dynaFormUid != "" && $weTaskUid == $taskUid && $weDynaFormUid == $dynaFormUid && $step->existsRecord($weTaskUid, "DYNAFORM", $weDynaFormUid)) {
|
||||||
|
$flagPush = 1;
|
||||||
|
$flagNext = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "DYN_UID":
|
||||||
|
if ($dynaFormUid != "" && $weDynaFormUid == $dynaFormUid && $step->existsRecord($weTaskUid, "DYNAFORM", $weDynaFormUid)) {
|
||||||
|
$flagPush = 1;
|
||||||
|
$flagNext = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($flagPush == 1) {
|
||||||
|
$arrayTaskData = $task->load($weTaskUid);
|
||||||
|
$arrayDynaFormData = $dynaForm->Load($weDynaFormUid);
|
||||||
|
|
||||||
|
$arrayData[$weTaskUid . "/" . $weDynaFormUid] = array(
|
||||||
|
"processUid" => $processUid,
|
||||||
|
"taskUid" => $weTaskUid,
|
||||||
|
"taskTitle" => $arrayTaskData["TAS_TITLE"],
|
||||||
|
"dynaFormUid" => $weDynaFormUid,
|
||||||
|
"dynaFormTitle" => $arrayDynaFormData["DYN_TITLE"],
|
||||||
|
"fileName" => $weFileName,
|
||||||
|
"url" => $url . "/" . $weFileName . ".php"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $arrayData;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Web Entry for a Process
|
||||||
|
*
|
||||||
|
* @param string $processUid Unique id of Process
|
||||||
|
* @param array $arrayData Data
|
||||||
|
*
|
||||||
|
* return array Return data of the new Web Entry created
|
||||||
|
*/
|
||||||
|
public function create($processUid, $arrayData)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
//
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Web Entry
|
||||||
|
*
|
||||||
|
* @param string $processUid Unique id of Process
|
||||||
|
* @param string $taskUid Unique id of Task
|
||||||
|
* @param string $dynaFormUid Unique id of DynaForm
|
||||||
|
*
|
||||||
|
* return void
|
||||||
|
*/
|
||||||
|
public function delete($processUid, $taskUid, $dynaFormUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
//Verify data
|
||||||
|
$process = new \Process();
|
||||||
|
|
||||||
|
if (!$process->exists($processUid)) {
|
||||||
|
throw (new \Exception(str_replace(array("{0}", "{1}"), array($processUid, "PROCESS"), "The UID \"{0}\" doesn't exist in table {1}")));
|
||||||
|
}
|
||||||
|
|
||||||
|
$arrayWebEntryData = $this->getData($processUid, "UID", $taskUid, $dynaFormUid);
|
||||||
|
|
||||||
|
if (count($arrayWebEntryData) == 0) {
|
||||||
|
throw (new \Exception("The Web Entry doesn't exist"));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Delete
|
||||||
|
$webEntryPath = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $processUid;
|
||||||
|
|
||||||
|
unlink($webEntryPath . PATH_SEP . $arrayWebEntryData[$taskUid . "/" . $dynaFormUid]["fileName"] . ".php");
|
||||||
|
unlink($webEntryPath . PATH_SEP . $arrayWebEntryData[$taskUid . "/" . $dynaFormUid]["fileName"] . "Post.php");
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get data of a Web Entry from a record
|
||||||
|
*
|
||||||
|
* @param array $record Record
|
||||||
|
*
|
||||||
|
* return array Return an array with data of a Web Entry
|
||||||
|
*/
|
||||||
|
public function getWebEntryDataFromRecord($record)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return array(
|
||||||
|
"tas_uid" => $record["taskUid"],
|
||||||
|
"tas_title" => $record["taskTitle"],
|
||||||
|
"dyn_uid" => $record["dynaFormUid"],
|
||||||
|
"dyn_title" => $record["dynaFormTitle"],
|
||||||
|
"url" => $record["url"]
|
||||||
|
);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get data of a Web Entry
|
||||||
|
*
|
||||||
|
* @param string $processUid Unique id of Process
|
||||||
|
* @param string $taskUid Unique id of Task
|
||||||
|
* @param string $dynaFormUid Unique id of DynaForm
|
||||||
|
*
|
||||||
|
* return array Return an array with data of a Web Entry
|
||||||
|
*/
|
||||||
|
public function getWebEntry($processUid, $taskUid, $dynaFormUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
//Verify data
|
||||||
|
$process = new \Process();
|
||||||
|
|
||||||
|
if (!$process->exists($processUid)) {
|
||||||
|
throw (new \Exception(str_replace(array("{0}", "{1}"), array($processUid, "PROCESS"), "The UID \"{0}\" doesn't exist in table {1}")));
|
||||||
|
}
|
||||||
|
|
||||||
|
$arrayWebEntryData = $this->getData($processUid, "UID", $taskUid, $dynaFormUid);
|
||||||
|
|
||||||
|
if (count($arrayWebEntryData) == 0) {
|
||||||
|
throw (new \Exception("The Web Entry doesn't exist"));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get data
|
||||||
|
//Return
|
||||||
|
return $this->getWebEntryDataFromRecord($arrayWebEntryData[$taskUid . "/" . $dynaFormUid]);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -182,5 +182,23 @@ class Project extends Api
|
|||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url GET /:projectUid/web-entries
|
||||||
|
*
|
||||||
|
* @param string $projectUid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doGetWebEntries($projectUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$process = new \BusinessModel\Process();
|
||||||
|
|
||||||
|
$response = $process->getWebEntries($projectUid);
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url GET /:prjUid/activity/:actUid/assignee
|
* @url GET /:prjUid/activity/:actUid/assignee
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $filter
|
* @param string $filter
|
||||||
* @param int $start
|
* @param int $start
|
||||||
* @param int $limit
|
* @param int $limit
|
||||||
@@ -39,8 +39,8 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url GET /:prjUid/activity/:actUid/available-assignee
|
* @url GET /:prjUid/activity/:actUid/available-assignee
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $filter
|
* @param string $filter
|
||||||
* @param int $start
|
* @param int $start
|
||||||
* @param int $limit
|
* @param int $limit
|
||||||
@@ -64,9 +64,9 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url GET /:prjUid/activity/:actUid/assignee/:aasUid
|
* @url GET /:prjUid/activity/:actUid/assignee/:aasUid
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $aasUid
|
* @param string $aasUid {@min 32} {@max 32}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function doGetActivityAssignee($prjUid, $actUid, $aasUid)
|
public function doGetActivityAssignee($prjUid, $actUid, $aasUid)
|
||||||
@@ -87,9 +87,9 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url POST /:prjUid/activity/:actUid/assignee
|
* @url POST /:prjUid/activity/:actUid/assignee
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $aas_uid
|
* @param string $aas_uid {@min 32} {@max 32}
|
||||||
* @param string $aas_type {@choice user,group}
|
* @param string $aas_type {@choice user,group}
|
||||||
*
|
*
|
||||||
* @status 201
|
* @status 201
|
||||||
@@ -109,9 +109,9 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url DELETE /:prjUid/activity/:actUid/assignee/:aasUid
|
* @url DELETE /:prjUid/activity/:actUid/assignee/:aasUid
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $aasUid
|
* @param string $aasUid {@min 32} {@max 32}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function doDeleteActivityAssignee($prjUid, $actUid, $aasUid)
|
public function doDeleteActivityAssignee($prjUid, $actUid, $aasUid)
|
||||||
@@ -129,8 +129,8 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url GET /:prjUid/activity/:actUid/adhoc-assignee
|
* @url GET /:prjUid/activity/:actUid/adhoc-assignee
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $filter
|
* @param string $filter
|
||||||
* @param int $start
|
* @param int $start
|
||||||
* @param int $limit
|
* @param int $limit
|
||||||
@@ -154,8 +154,8 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url GET /:prjUid/activity/:actUid/adhoc-available-assignee
|
* @url GET /:prjUid/activity/:actUid/adhoc-available-assignee
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $filter
|
* @param string $filter
|
||||||
* @param int $start
|
* @param int $start
|
||||||
* @param int $limit
|
* @param int $limit
|
||||||
@@ -179,9 +179,9 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url GET /:prjUid/activity/:actUid/adhoc-assignee/:aasUid
|
* @url GET /:prjUid/activity/:actUid/adhoc-assignee/:aasUid
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $assUid
|
* @param string $assUid {@min 32} {@max 32}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function doGetActivityAdhocAssignee($prjUid, $actUid, $aasUid)
|
public function doGetActivityAdhocAssignee($prjUid, $actUid, $aasUid)
|
||||||
@@ -202,9 +202,9 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url POST /:prjUid/activity/:actUid/adhoc-assignee
|
* @url POST /:prjUid/activity/:actUid/adhoc-assignee
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $ada_uid
|
* @param string $ada_uid {@min 32} {@max 32}
|
||||||
* @param string $ada_type {@choice user,group}
|
* @param string $ada_type {@choice user,group}
|
||||||
*
|
*
|
||||||
* @status 201
|
* @status 201
|
||||||
@@ -224,9 +224,9 @@ class Assignee extends Api
|
|||||||
/**
|
/**
|
||||||
* @url DELETE /:prjUid/activity/:actUid/adhoc-assignee/:adaUid
|
* @url DELETE /:prjUid/activity/:actUid/adhoc-assignee/:adaUid
|
||||||
*
|
*
|
||||||
* @param string $prjUid
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
* @param string $actUid
|
* @param string $actUid {@min 32} {@max 32}
|
||||||
* @param string $adaUid
|
* @param string $adaUid {@min 32} {@max 32}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function doDeleteActivityAdhocAssignee($prjUid, $actUid, $adaUid)
|
public function doDeleteActivityAdhocAssignee($prjUid, $actUid, $adaUid)
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?php
|
||||||
|
namespace Services\Api\ProcessMaker\Project;
|
||||||
|
|
||||||
|
use \ProcessMaker\Services\Api;
|
||||||
|
use \Luracast\Restler\RestException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project\ProjectUsers Api Controller
|
||||||
|
*
|
||||||
|
* @protected
|
||||||
|
*/
|
||||||
|
class ProjectUsers extends Api
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
|
*
|
||||||
|
* @url GET /:prjUid/users
|
||||||
|
*/
|
||||||
|
public function doGetProjectUsers($prjUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$supervisor = new \BusinessModel\ProjectUser();
|
||||||
|
$arrayData = $supervisor->getProjectUsers($prjUid);
|
||||||
|
//Response
|
||||||
|
$response = $arrayData;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
//response
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
|
}
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
|
*
|
||||||
|
* @url GET /:prjUid/starting-tasks
|
||||||
|
*/
|
||||||
|
public function doGetProjectStartingTasks($prjUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$supervisor = new \BusinessModel\ProjectUser();
|
||||||
|
$arrayData = $supervisor->getProjectStartingTasks($prjUid);
|
||||||
|
//Response
|
||||||
|
$response = $arrayData;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
//response
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
|
}
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $prjUid {@min 32} {@max 32}
|
||||||
|
* @param string $usrUid {@min 32} {@max 32}
|
||||||
|
*
|
||||||
|
* @url GET /:prjUid/user/:usrUid/starting-tasks
|
||||||
|
*/
|
||||||
|
public function doGetProjectStartingTaskUsers($prjUid, $usrUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$supervisor = new \BusinessModel\ProjectUser();
|
||||||
|
$arrayData = $supervisor->getProjectStartingTaskUsers($prjUid, $usrUid);
|
||||||
|
//Response
|
||||||
|
$response = $arrayData;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
//response
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
|
}
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
namespace Services\Api\ProcessMaker\Project;
|
||||||
|
|
||||||
|
use \ProcessMaker\Services\Api;
|
||||||
|
use \Luracast\Restler\RestException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project\WebEntry Api Controller
|
||||||
|
*
|
||||||
|
* @protected
|
||||||
|
*/
|
||||||
|
class WebEntry extends Api
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @url GET /:projectUid/web-entry/:activityUid/:dynaFormUid
|
||||||
|
*
|
||||||
|
* @param string $dynaFormUid {@min 32}{@max 32}
|
||||||
|
* @param string $activityUid {@min 32}{@max 32}
|
||||||
|
* @param string $projectUid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doGetWebEntry($dynaFormUid, $activityUid, $projectUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$webEntry = new \BusinessModel\WebEntry();
|
||||||
|
|
||||||
|
$response = $webEntry->getWebEntry($projectUid, $activityUid, $dynaFormUid);
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///**
|
||||||
|
// * @url POST /:projectUid/case-tracker/object
|
||||||
|
// *
|
||||||
|
// * @param string $projectUid {@min 32}{@max 32}
|
||||||
|
// * @param array $request_data
|
||||||
|
// * @param string $cto_type_obj {@from body}{@choice DYNAFORM,INPUT_DOCUMENT,OUTPUT_DOCUMENT}{@required true}
|
||||||
|
// * @param string $cto_uid_obj {@from body}{@min 32}{@max 32}{@required true}
|
||||||
|
// * @param string $cto_condition
|
||||||
|
// * @param int $cto_position {@from body}{@min 1}
|
||||||
|
// *
|
||||||
|
// * @status 201
|
||||||
|
// */
|
||||||
|
//public function doPostWebEntry(
|
||||||
|
// $projectUid,
|
||||||
|
// $request_data,
|
||||||
|
// $cto_type_obj = "DYNAFORM",
|
||||||
|
// $cto_uid_obj = "00000000000000000000000000000000",
|
||||||
|
// $cto_condition = "",
|
||||||
|
// $cto_position = 1
|
||||||
|
//) {
|
||||||
|
// try {
|
||||||
|
// $caseTrackerObject = new \BusinessModel\WebEntry();
|
||||||
|
//
|
||||||
|
// $arrayData = $caseTrackerObject->create($projectUid, $request_data);
|
||||||
|
//
|
||||||
|
// $response = $arrayData;
|
||||||
|
//
|
||||||
|
// return $response;
|
||||||
|
// } catch (\Exception $e) {
|
||||||
|
// throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url DELETE /:projectUid/web-entry/:activityUid/:dynaFormUid
|
||||||
|
*
|
||||||
|
* @param string $dynaFormUid {@min 32}{@max 32}
|
||||||
|
* @param string $activityUid {@min 32}{@max 32}
|
||||||
|
* @param string $projectUid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doDeleteWebEntry($dynaFormUid, $activityUid, $projectUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$webEntry = new \BusinessModel\WebEntry();
|
||||||
|
|
||||||
|
$webEntry->delete($projectUid, $activityUid, $dynaFormUid);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -28,7 +28,8 @@ debug = 1
|
|||||||
case-scheduler = "Services\Api\ProcessMaker\Project\CaseScheduler"
|
case-scheduler = "Services\Api\ProcessMaker\Project\CaseScheduler"
|
||||||
case-tracker = "Services\Api\ProcessMaker\Project\CaseTracker"
|
case-tracker = "Services\Api\ProcessMaker\Project\CaseTracker"
|
||||||
case-tracker-object = "Services\Api\ProcessMaker\Project\CaseTrackerObject"
|
case-tracker-object = "Services\Api\ProcessMaker\Project\CaseTrackerObject"
|
||||||
data-base-connections = "Services\Api\ProcessMaker\Project\DataBaseConnection"
|
project-users = "Services\Api\ProcessMaker\Project\ProjectUsers"
|
||||||
|
web-entry = "Services\Api\ProcessMaker\Project\WebEntry"
|
||||||
|
|
||||||
[alias: projects]
|
[alias: projects]
|
||||||
project = "Services\Api\ProcessMaker\Project"
|
project = "Services\Api\ProcessMaker\Project"
|
||||||
|
|||||||
Reference in New Issue
Block a user