Merge branch 'master' of bitbucket.org:colosa/processmaker

This commit is contained in:
Brayan Osmar Pereyra Suxo
2014-01-09 17:21:02 -04:00
16 changed files with 1476 additions and 530 deletions

View File

@@ -8,19 +8,17 @@ class ProcessSupervisor
/**
* Return supervisors
* @param string $sProcessUID
* @param string $filter
* @param int $start
* @param int $limit
*
* @return array
*
* @access public
*/
public function getSupervisors($sProcessUID = '', $filter, $start, $limit)
public function getProcessSupervisors($sProcessUID = '')
{
try {
// Groups
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\ProcessUserPeer::PU_UID);
$oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID);
$oCriteria->addAsColumn('GRP_TITLE', \ContentPeer::CON_VALUE);
$aConditions [] = array(\ProcessUserPeer::USR_UID, \ContentPeer::CON_ID);
@@ -33,53 +31,103 @@ class ProcessSupervisor
$oDataset = \ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
$oCriteria->add(\GroupUserPeer::GRP_UID, $results['GRP_UID']);
$oDataset2 = \GroupUserPeer::doSelectRS($oCriteria);
$oDataset2->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset2->next();
$aRow2 = $oDataset2->getRow();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array('sup_uid' => $aRow['USR_UID'],
'sup_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $aRow['GRP_TITLE'] .
' (' . $aRow2['MEMBERS_NUMBER'] . ' ' .
((int) $aRow2['MEMBERS_NUMBER'] == 1 ? \G::LoadTranslation('ID_USER') : \G::LoadTranslation('ID_USERS')).
')' . '' : $aRow['GRP_TITLE'] . ' ' . $aRow2['GROUP_INACTIVE']),
'sup_lastname' => "",
'sup_username' => "",
'sup_type' => "group" );
$aResp[] = array('pu_uid' => $aRow['PU_UID'],
'pu_type' => "GROUP_SUPERVISOR",
'grp_uid' => $aRow['USR_UID'],
'grp_name' => $aRow['GRP_TITLE']);
$oDataset->next();
}
// Users
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID);
$oCriteria->addSelectColumn(\ProcessUserPeer::PU_UID);
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
if ($filter) {
$oCriteria->add( $oCriteria->getNewCriterion( \UsersPeer::USR_USERNAME, "%$filter%", \Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_FIRSTNAME, "%$filter%", \Criteria::LIKE ) )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_LASTNAME, "%$filter%", \Criteria::LIKE ) ) );
}
$oCriteria->addJoin(\ProcessUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN);
$oCriteria->add(\ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
$oCriteria->add(\ProcessUserPeer::PRO_UID, $sProcessUID);
if ($start) {
$oCriteria->setOffset( $start );
}
if ($limit) {
$oCriteria->setLimit( $limit );
}
$oCriteria->addAscendingOrderByColumn(\UsersPeer::USR_FIRSTNAME);
$oDataset = \ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array('sup_uid' => $aRow['USR_UID'],
'sup_name' => $aRow['USR_FIRSTNAME'],
'sup_lastname' => $aRow['USR_LASTNAME'],
'sup_username' => $aRow['USR_USERNAME'],
'sup_type' => "user" );
$aResp[] = array('pu_uid' => $aRow['PU_UID'],
'pu_type' => "SUPERVISOR",
'usr_uid' => $aRow['USR_UID'],
'usr_firstname' => $aRow['USR_FIRSTNAME'],
'usr_lastname' => $aRow['USR_LASTNAME'],
'usr_username' => $aRow['USR_USERNAME'],
'usr_email' => $aRow['USR_EMAIL'] );
$oDataset->next();
}
return $aResp;
} catch (Exception $e) {
throw $e;
}
}
/**
* Return a spefic supervisor
* @param string $sProcessUID
* @param string $sPuUID
*
* @return object
*
* @access public
*/
public function getProcessSupervisor($sProcessUID = '', $sPuUID = '')
{
try {
// Groups
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\ProcessUserPeer::PU_UID);
$oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID);
$oCriteria->addAsColumn('GRP_TITLE', \ContentPeer::CON_VALUE);
$aConditions [] = array(\ProcessUserPeer::USR_UID, \ContentPeer::CON_ID);
$aConditions [] = array(\ContentPeer::CON_CATEGORY, \DBAdapter::getStringDelimiter().'GRP_TITLE'.\DBAdapter::getStringDelimiter());
$aConditions [] = array(\ContentPeer::CON_LANG, \DBAdapter::getStringDelimiter().SYS_LANG.\DBAdapter::getStringDelimiter());
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$oCriteria->add(\ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
$oCriteria->add(\ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\ProcessUserPeer::PU_UID, $sPuUID);
$oCriteria->addAscendingOrderByColumn(\ContentPeer::CON_VALUE);
$oDataset = \ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp = array('pu_uid' => $aRow['PU_UID'],
'pu_type' => "GROUP_SUPERVISOR",
'grp_uid' => $aRow['USR_UID'],
'grp_name' => $aRow['GRP_TITLE']);
$oDataset->next();
}
// Users
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID);
$oCriteria->addSelectColumn(\ProcessUserPeer::PU_UID);
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
$oCriteria->addJoin(\ProcessUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN);
$oCriteria->add(\ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
$oCriteria->add(\ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\ProcessUserPeer::PU_UID, $sPuUID);
$oCriteria->addAscendingOrderByColumn(\UsersPeer::USR_FIRSTNAME);
$oDataset = \ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp = array('pu_uid' => $aRow['PU_UID'],
'pu_type' => "SUPERVISOR",
'usr_uid' => $aRow['USR_UID'],
'usr_firstname' => $aRow['USR_FIRSTNAME'],
'usr_lastname' => $aRow['USR_LASTNAME'],
'usr_username' => $aRow['USR_USERNAME'],
'usr_email' => $aRow['USR_EMAIL'] );
$oDataset->next();
}
return $aResp;
@@ -91,15 +139,13 @@ class ProcessSupervisor
/**
* Return available supervisors
* @param string $sProcessUID
* @param string $filter
* @param int $start
* @param int $limit
* @param string $obj_type
*
* @return array
*
* @access public
*/
public function getAvailableSupervisors($sProcessUID = '', $filter, $start, $limit)
public function getAvailableProcessSupervisors($sProcessUID = '', $obj_type)
{
try {
// Groups
@@ -140,15 +186,15 @@ class ProcessSupervisor
$oDataset2->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset2->next();
$aRow2 = $oDataset2->getRow();
while ($aRow = $oDataset->getRow()) {
$aRespLi[] = array('sup_uid' => $aRow['GRP_UID'],
'sup_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $aRow['GRP_TITLE'] .
'' : $aRow['GRP_TITLE'] . ' ' . $aRow2['GROUP_INACTIVE']),
'sup_lastname' => "",
'sup_username' => "",
'sup_type' => "group" );
$oDataset->next();
if ($obj_type == 'group' || $obj_type == '') {
while ($aRow = $oDataset->getRow()) {
$aRespLi[] = array('grp_uid' => $aRow['GRP_UID'],
'grp_name' => $aRow['GRP_TITLE'],
'obj_type' => "group");
$oDataset->next();
}
}
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\UsersPeer::USR_UID);
@@ -166,18 +212,22 @@ class ProcessSupervisor
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS, \Criteria::IN);
$oCriteria->addAscendingOrderByColumn(\UsersPeer::USR_FIRSTNAME);
$oDataset = \UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aRespLi[] = array('sup_uid' => $aRow['USR_UID'],
'sup_name' => $aRow['USR_FIRSTNAME'],
'sup_lastname' => $aRow['USR_LASTNAME'],
'sup_username' => $aRow['USR_USERNAME'],
'sup_type' => "user" );
$oDataset->next();
if ($obj_type == 'user' || $obj_type == '') {
while ($aRow = $oDataset->getRow()) {
$aRespLi[] = array('usr_uid' => $aRow['USR_UID'],
'usr_firstname' => $aRow['USR_FIRSTNAME'],
'usr_lastname' => $aRow['USR_LASTNAME'],
'usr_username' => $aRow['USR_USERNAME'],
'usr_email' => $aRow['USR_EMAIL'],
"obj_type" => "user" );
$oDataset->next();
}
}
return $aRespLi;
} catch (Exception $e) {
@@ -186,14 +236,14 @@ class ProcessSupervisor
}
/**
* Return dynaform supervisor
* Return dynaforms supervisor
* @param string $sProcessUID
*
* @return array
*
* @access public
*/
public function getDynaformSupervisor($sProcessUID = '')
public function getProcessSupervisorDynaforms($sProcessUID = '')
{
try {
$sDelimiter = \DBAdapter::getStringDelimiter();
@@ -221,12 +271,60 @@ class ProcessSupervisor
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array('step_uid' => $aRow['STEP_UID'],
'pro_uid' => $aRow['PRO_UID'],
'step_type_obj' => $aRow['STEP_TYPE_OBJ'],
'step_uid_obj' => $aRow['STEP_UID_OBJ'],
'step_position' => $aRow['STEP_POSITION'],
'title' => $aRow['DYN_TITLE']);
$aResp[] = array('pud_uid' => $aRow['STEP_UID'],
'pud_position' => $aRow['STEP_POSITION'],
'dyn_uid' => $aRow['STEP_UID_OBJ'],
'dyn_title' => $aRow['DYN_TITLE']);
$oDataset->next();
}
return $aResp;
} catch (Exception $e) {
throw $e;
}
}
/**
* Return a specific dynaform supervisor
* @param string $sProcessUID
* @param string $sPudUID
*
* @return array
*
* @access public
*/
public function getProcessSupervisorDynaform($sProcessUID = '', $sPudUID = '')
{
try {
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION);
$oCriteria->addAsColumn('DYN_TITLE', 'C.CON_VALUE');
$oCriteria->addAlias('C', 'CONTENT');
$aConditions = array();
$aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \DynaformPeer::DYN_UID );
$aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'DYNAFORM' . $sDelimiter );
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$aConditions = array();
$aConditions[] = array(\DynaformPeer::DYN_UID, 'C.CON_ID' );
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'DYN_TITLE' . $sDelimiter );
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter );
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\StepSupervisorPeer::STEP_UID, $sPudUID);
$oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'DYNAFORM');
$oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION);
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp = array('pud_uid' => $aRow['STEP_UID'],
'pud_position' => $aRow['STEP_POSITION'],
'dyn_uid' => $aRow['STEP_UID_OBJ'],
'dyn_title' => $aRow['DYN_TITLE']);
$oDataset->next();
}
return $aResp;
@@ -243,13 +341,13 @@ class ProcessSupervisor
*
* @access public
*/
public function getAvailableDynaformSupervisors($sProcessUID = '')
public function getAvailableProcessSupervisorDynaform($sProcessUID = '')
{
try {
$oCriteria = $this->getDynaformSupervisor($sProcessUID);
$oCriteria = $this->getProcessSupervisorDynaforms($sProcessUID);
$aUIDS = array();
foreach ($oCriteria as $oCriteria => $value) {
$aUIDS[] = $value["step_uid_obj"];
$aUIDS[] = $value["dyn_uid"];
}
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
@@ -272,9 +370,8 @@ class ProcessSupervisor
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array('pro_uid' => $aRow['PRO_UID'],
'dyn_uid' => $aRow['DYN_UID'],
'title' => $aRow['DYN_TITLE']);
$aResp[] = array('dyn_uid' => $aRow['DYN_UID'],
'dyn_title' => $aRow['DYN_TITLE']);
$oDataset->next();
}
return $aResp;
@@ -291,7 +388,7 @@ class ProcessSupervisor
*
* @access public
*/
public function getInputDocumentSupervisor($sProcessUID = '')
public function getProcessSupervisorInputDocuments($sProcessUID = '')
{
try {
$sDelimiter = \DBAdapter::getStringDelimiter();
@@ -319,12 +416,60 @@ class ProcessSupervisor
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array('step_uid' => $aRow['STEP_UID'],
'pro_uid' => $aRow['PRO_UID'],
'step_type_obj' => $aRow['STEP_TYPE_OBJ'],
'step_uid_obj' => $aRow['STEP_UID_OBJ'],
'step_position' => $aRow['STEP_POSITION'],
'title' => $aRow['INP_DOC_TITLE']);
$aResp[] = array('pui_uid' => $aRow['STEP_UID'],
'pui_position' => $aRow['STEP_POSITION'],
'input_doc_uid' => $aRow['STEP_UID_OBJ'],
'input_doc_title' => $aRow['INP_DOC_TITLE']);
$oDataset->next();
}
return $aResp;
} catch (Exception $e) {
throw $e;
}
}
/**
* Return a specific input document supervisor
* @param string $sProcessUID
* @param string $sPuiUID
*
* @return array
*
* @access public
*/
public function getProcessSupervisorInputDocument($sProcessUID = '', $sPuiUID = '')
{
try {
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION);
$oCriteria->addAsColumn('INP_DOC_TITLE', 'C.CON_VALUE');
$oCriteria->addAlias('C', 'CONTENT');
$aConditions = array();
$aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \InputDocumentPeer::INP_DOC_UID);
$aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'INPUT_DOCUMENT' . $sDelimiter);
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$aConditions = array();
$aConditions[] = array(\InputDocumentPeer::INP_DOC_UID, 'C.CON_ID');
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter);
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\StepSupervisorPeer::STEP_UID, $sPuiUID);
$oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'INPUT_DOCUMENT');
$oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION);
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp = array('pui_uid' => $aRow['STEP_UID'],
'pui_position' => $aRow['STEP_POSITION'],
'input_doc_uid' => $aRow['STEP_UID_OBJ'],
'input_doc_title' => $aRow['INP_DOC_TITLE']);
$oDataset->next();
}
return $aResp;
@@ -341,13 +486,13 @@ class ProcessSupervisor
*
* @access public
*/
public function getAvailableInputDocumentSupervisor($sProcessUID = '')
public function getAvailableProcessSupervisorInputDocument($sProcessUID = '')
{
try {
$oCriteria = $this->getInputDocumentSupervisor($sProcessUID);
$oCriteria = $this->getProcessSupervisorInputDocuments($sProcessUID);
$aUIDS = array();
foreach ($oCriteria as $oCriteria => $value) {
$aUIDS[] = $value["step_uid_obj"];
$aUIDS[] = $value["input_doc_uid"];
}
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
@@ -369,9 +514,8 @@ class ProcessSupervisor
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array('pro_uid' => $aRow['PRO_UID'],
'inp_doc_uid' => $aRow['INP_DOC_UID'],
'title' => $aRow['INP_DOC_TITLE']);
$aResp[] = array('inp_doc_uid' => $aRow['INP_DOC_UID'],
'inp_doc_title' => $aRow['INP_DOC_TITLE']);
$oDataset->next();
}
return $aResp;
@@ -380,29 +524,151 @@ class ProcessSupervisor
}
}
/**
* Assign a supervisor of a process
*
* @param string $sProcessUID
* @param string $sUsrUID
* @param string $sTypeUID
* @access public
*/
public function addProcessSupervisor($sProcessUID, $sUsrUID, $sTypeUID)
{
$oProcessUser = new \ProcessUser ( );
$oTypeAssigneeG = \GroupwfPeer::retrieveByPK( $sUsrUID );
$oTypeAssigneeU = \UsersPeer::retrieveByPK( $sUsrUID );
if (is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
throw (new \Exception( 'This id: '. $sUsrUID .' do not correspond to a registered ' .$sTypeUID ));
}
if (is_null( $oTypeAssigneeG ) && ! is_null( $oTypeAssigneeU) ) {
if ( "SUPERVISOR"!= $sTypeUID ) {
throw (new \Exception( 'This id: '. $sUsrUID .' do not correspond to a registered ' .$sTypeUID ));
}
}
if (! is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
if ( "GROUP_SUPERVISOR" != $sTypeUID ) {
throw (new \Exception( 'This id: '. $sUsrUID .' do not correspond to a registered ' .$sTypeUID ));
}
}
$sPuUID = \G::generateUniqueID();
$oProcessUser->create(array('PU_UID' => $sPuUID,
'PRO_UID' => $sProcessUID,
'USR_UID' => $sUsrUID,
'PU_TYPE' => $sTypeUID));
$oCriteria = $this->getProcessSupervisor($sProcessUID, $sPuUID);
return $oCriteria;
}
/**
* Assign a dynaform supervisor of a process
*
* @param string $sProcessUID
* @param string $sDynUID
* @access public
*/
public function addProcessSupervisorDynaform($sProcessUID, $sDynUID)
{
$oStepSupervisor = new \StepSupervisor();
$oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
'STEP_TYPE_OBJ' => "DYNAFORM",
'STEP_UID_OBJ' => $sDynUID,
'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "DYNAFORM")));
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION);
$oCriteria->addAsColumn('DYN_TITLE', 'C.CON_VALUE');
$oCriteria->addAlias('C', 'CONTENT');
$aConditions = array();
$aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \DynaformPeer::DYN_UID );
$aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'DYNAFORM' . $sDelimiter );
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$aConditions = array();
$aConditions[] = array(\DynaformPeer::DYN_UID, 'C.CON_ID' );
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'DYN_TITLE' . $sDelimiter );
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter );
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $sDynUID);
$oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'DYNAFORM');
$oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION);
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp = array('pud_uid' => $aRow['STEP_UID'],
'pud_position' => $aRow['STEP_POSITION'],
'dyn_uid' => $aRow['STEP_UID_OBJ'],
'dyn_title' => $aRow['DYN_TITLE']);
$oDataset->next();
}
return $aResp;
}
/**
* Assign a inputdocument supervisor of a process
*
* @param string $sProcessUID
* @param string $sInputDocumentUID
* @access public
*/
public function addProcessSupervisorInputDocument($sProcessUID, $sInputDocumentUID)
{
$oStepSupervisor = new \StepSupervisor();
$oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
'STEP_TYPE_OBJ' => "INPUT_DOCUMENT",
'STEP_UID_OBJ' => $sInputDocumentUID,
'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "DYNAFORM")));
$sDelimiter = \DBAdapter::getStringDelimiter();
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ);
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION);
$oCriteria->addAsColumn('INP_DOC_TITLE', 'C.CON_VALUE');
$oCriteria->addAlias('C', 'CONTENT');
$aConditions = array();
$aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \InputDocumentPeer::INP_DOC_UID);
$aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'INPUT_DOCUMENT' . $sDelimiter);
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$aConditions = array();
$aConditions[] = array(\InputDocumentPeer::INP_DOC_UID, 'C.CON_ID');
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter);
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $sInputDocumentUID);
$oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'INPUT_DOCUMENT');
$oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION);
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp = array('pui_uid' => $aRow['STEP_UID'],
'pui_position' => $aRow['STEP_POSITION'],
'input_doc_uid' => $aRow['STEP_UID_OBJ'],
'input_doc_title' => $aRow['INP_DOC_TITLE']);
$oDataset->next();
}
return $aResp;
}
/**
* Remove a supervisor
*
* @param string $sProcessUID
* @param string $sUserUID
* @param string $sPuUID
* @access public
*/
public function removeProcessSupervisor($sProcessUID, $sUserUID)
public function removeProcessSupervisor($sProcessUID, $sPuUID)
{
$oConnection = \Propel::getConnection(\ProcessUserPeer::DATABASE_NAME);
try {
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn( \ProcessUserPeer::PU_UID );
$oCriteria->add(\ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\ProcessUserPeer::USR_UID, $sUserUID);
$oPuUid = \ProcessUserPeer::doSelectRS($oCriteria);
$oPuUid->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($oPuUid->next()) {
$aRow = $oPuUid->getRow();
$iPuUid = $aRow['PU_UID'];
}
$oProcessUser = \ProcessUserPeer::retrieveByPK($iPuUid);
$oProcessUser = \ProcessUserPeer::retrieveByPK($sPuUID);
if (!is_null($oProcessUser)) {
$oConnection->begin();
$iResult = $oProcessUser->delete();
@@ -421,24 +687,14 @@ class ProcessSupervisor
* Remove a dynaform supervisor
*
* @param string $sProcessUID
* @param string $sDynaformUID
* @param string $sPudUID
* @access public
*/
public function removeDynaformSupervisor($sProcessUID, $sDynaform)
public function removeDynaformSupervisor($sProcessUID, $sPudUID)
{
$oConnection = \Propel::getConnection(\StepSupervisorPeer::DATABASE_NAME);
try {
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn( \StepSupervisorPeer::STEP_UID );
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $sDynaform);
$oPuUid = \StepSupervisorPeer::doSelectRS($oCriteria);
$oPuUid->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($oPuUid->next()) {
$aRow = $oPuUid->getRow();
$iStepUid = $aRow['STEP_UID'];
}
$oDynaformSupervidor = \StepSupervisorPeer::retrieveByPK($iStepUid);
$oDynaformSupervidor = \StepSupervisorPeer::retrieveByPK($sPudUID);
if (!is_null($oDynaformSupervidor)) {
$oConnection->begin();
$iResult = $oDynaformSupervidor->delete();
@@ -457,24 +713,14 @@ class ProcessSupervisor
* Remove a input document supervisor
*
* @param string $sProcessUID
* @param string $sInputDocumentUID
* @param string $sPuiUID
* @access public
*/
public function removeInputDocumentSupervisor($sProcessUID, $sInputDocumentUID)
public function removeInputDocumentSupervisor($sProcessUID, $sPuiUID)
{
$oConnection = \Propel::getConnection(\StepSupervisorPeer::DATABASE_NAME);
try {
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn( \StepSupervisorPeer::STEP_UID );
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
$oCriteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $sInputDocumentUID);
$oPuUid = \StepSupervisorPeer::doSelectRS($oCriteria);
$oPuUid->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($oPuUid->next()) {
$aRow = $oPuUid->getRow();
$iStepUid = $aRow['STEP_UID'];
}
$oInputDocumentSupervidor = \StepSupervisorPeer::retrieveByPK($iStepUid);
$oInputDocumentSupervidor = \StepSupervisorPeer::retrieveByPK($sPuiUID);
if (!is_null($oInputDocumentSupervidor)) {
$oConnection->begin();
$iResult = $oInputDocumentSupervidor->delete();
@@ -488,72 +734,5 @@ class ProcessSupervisor
throw ($oError);
}
}
/**
* Assign a supervisor of a process
*
* @param string $sProcessUID
* @param string $sUsrUID
* @param string $sTypeUID
* @access public
*/
public function addSupervisor($sProcessUID, $sUsrUID, $sTypeUID)
{
$oProcessUser = new \ProcessUser ( );
$puType = 'SUPERVISOR';
if ($sTypeUID == 'Group') {
$puType = 'GROUP_SUPERVISOR';
}
$oTypeAssigneeG = \GroupwfPeer::retrieveByPK( $sUsrUID );
$oTypeAssigneeU = \UsersPeer::retrieveByPK( $sUsrUID );
if (is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
throw (new \Exception( 'This id: '. $sUsrUID .' do not correspond to a registered ' .$sTypeUID ));
}
if (is_null( $oTypeAssigneeG ) && ! is_null( $oTypeAssigneeU) ) {
$type = "User";
if ( $type != $sTypeUID ) {
throw (new \Exception( 'This id: '. $sUsrUID .' do not correspond to a registered ' .$sTypeUID ));
}
}
if (! is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
$type = "Group";
if ( $type != $sTypeUID ) {
throw (new \Exception( 'This id: '. $sUsrUID .' do not correspond to a registered ' .$sTypeUID ));
}
}
$oProcessUser->create(array('PU_UID' => \G::generateUniqueID(), 'PRO_UID' => $sProcessUID, 'USR_UID' => $sUsrUID, 'PU_TYPE' => $puType));
}
/**
* Assign a dynaform supervisor of a process
*
* @param string $sProcessUID
* @param string $sDynUID
* @access public
*/
public function addDynaformSupervisor($sProcessUID, $sDynUID)
{
$oStepSupervisor = new \StepSupervisor();
$oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
'STEP_TYPE_OBJ' => "DYNAFORM",
'STEP_UID_OBJ' => $sDynUID,
'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "DYNAFORM")));
}
/**
* Assign a inputdocument supervisor of a process
*
* @param string $sProcessUID
* @param string $sInputDocumentUID
* @access public
*/
public function addInputDocumentSupervisor($sProcessUID, $sInputDocumentUID)
{
$oStepSupervisor = new \StepSupervisor();
$oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
'STEP_TYPE_OBJ' => "INPUT_DOCUMENT",
'STEP_UID_OBJ' => $sInputDocumentUID,
'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "DYNAFORM")));
}
}

View File

@@ -465,9 +465,11 @@ class Step
public function getTriggers($stepUid)
{
try {
//Get data
$arrayTrigger = array();
$trigger = new \BusinessModel\Trigger();
$bmTrigger = new \BusinessModel\Trigger();
$bmStepTrigger = new \BusinessModel\Step\Trigger();
$arrayDataUid = $this->getDataUids($stepUid);
@@ -508,8 +510,9 @@ class Step
$stepTrigger->orderPosition($stepUid, $taskUid, $type);
//Criteria
$criteria = $trigger->getTriggerCriteria();
$criteria = $bmTrigger->getTriggerCriteria();
$criteria->addSelectColumn(\StepTriggerPeer::ST_TYPE);
$criteria->addSelectColumn(\StepTriggerPeer::ST_CONDITION);
$criteria->addSelectColumn(\StepTriggerPeer::ST_POSITION);
$criteria->addJoin(\StepTriggerPeer::TRI_UID, \TriggersPeer::TRI_UID, \Criteria::LEFT_JOIN);
@@ -524,14 +527,7 @@ class Step
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$arrayTrigger[] = array(
"tri_uid" => $row["TRI_UID"],
"tri_title" => $row["TRI_TITLE"],
"tri_description" => $row["TRI_DESCRIPTION"],
"st_type" => $triggerType,
"st_condition" => $row["ST_CONDITION"],
"st_position" => (int)($row["ST_POSITION"])
);
$arrayTrigger[] = $bmStepTrigger->getTriggerDataFromRecord($row);
}
}

View File

@@ -206,5 +206,78 @@ class Trigger
throw $e;
}
}
/**
* Get data of a Trigger from a record
*
* @param array $record Record
*
* return array Return an array with data of a Trigger
*/
public function getTriggerDataFromRecord($record)
{
try {
return array(
"tri_uid" => $record["TRI_UID"],
"tri_title" => $record["TRI_TITLE"],
"tri_description" => $record["TRI_DESCRIPTION"],
"st_type" => $record["ST_TYPE"],
"st_condition" => $record["ST_CONDITION"],
"st_position" => (int)($record["ST_POSITION"])
);
} catch (\Exception $e) {
throw $e;
}
}
/**
* Get data of a Trigger
*
* @param string $stepUid Unique id of Step
* @param string $type Type (BEFORE, AFTER)
* @param string $triggerUid Unique id of Trigger
*
* return array Return an array with data of a Trigger
*/
public function getTrigger($stepUid, $type, $triggerUid)
{
try {
$step = new \BusinessModel\Step();
$arrayDataUid = $step->getDataUids($stepUid);
$taskUid = $arrayDataUid["TAS_UID"];
//Verify data
if (!$this->existsRecord($stepUid, $type, $triggerUid)) {
throw (new \Exception(str_replace(array("{0}", "{1}"), array($stepUid . ", " . $type . ", " . $triggerUid, "STEP_TRIGGER"), "The record \"{0}\", doesn't exist in table {1}")));
}
//Get data
$trigger = new \BusinessModel\Trigger();
$criteria = $trigger->getTriggerCriteria();
$criteria->addSelectColumn(\StepTriggerPeer::ST_TYPE);
$criteria->addSelectColumn(\StepTriggerPeer::ST_CONDITION);
$criteria->addSelectColumn(\StepTriggerPeer::ST_POSITION);
$criteria->addJoin(\StepTriggerPeer::TRI_UID, \TriggersPeer::TRI_UID, \Criteria::LEFT_JOIN);
$criteria->add(\TriggersPeer::TRI_UID, $triggerUid, \Criteria::EQUAL);
$criteria->add(\StepTriggerPeer::STEP_UID, $stepUid, \Criteria::EQUAL);
$criteria->add(\StepTriggerPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
$criteria->add(\StepTriggerPeer::ST_TYPE, $type, \Criteria::EQUAL);
$rsCriteria = \StepTriggerPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
$row = $rsCriteria->getRow();
return $this->getTriggerDataFromRecord($row);
} catch (\Exception $e) {
throw $e;
}
}
}

View File

@@ -576,8 +576,8 @@ class Task
/**
* Return a assignee list of an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $filter
* @param int $start
* @param int $limit
@@ -680,8 +680,8 @@ class Task
/**
* Return the available users and users groups to assigned to an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $filter
* @param int $start
* @param int $limit
@@ -720,7 +720,7 @@ class Task
$groups = new \Groupwf();
$result = $groups->getAllGroup($start, $limit, $filter);
foreach ($result['rows'] as $results) {
if (in_array($results['GRP_UID'], $aUIDS1)) {
if (! in_array($results['GRP_UID'], $aUIDS1)) {
$c++;
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
@@ -777,9 +777,9 @@ class Task
/**
* Return a single user or group assigned to an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sAssigneeUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $sAssigneeUID {@min 32} {@max 32}
*
* return array
*
@@ -877,9 +877,9 @@ class Task
/**
* Assign a user or group to an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sAssigneeUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $sAssigneeUID {@min 32} {@max 32}
* @param string $assType {@choice user,group}
*
* return array
@@ -943,9 +943,9 @@ class Task
/**
* Remove a assignee of an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sAssigneeUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $sAssigneeUID {@min 32} {@max 32}
*
* @access public
*/
@@ -978,8 +978,8 @@ class Task
/**
* Return a adhoc assignee list of an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
*
* return array
*
@@ -1027,14 +1027,14 @@ class Task
$oDataset2->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset2->next();
$aRow2 = $oDataset2->getRow();
$aUsers[] = array('aas_uid' => $results['GRP_UID'],
'aas_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] .
$aUsers[] = array('ada_uid' => $results['GRP_UID'],
'ada_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] .
' (' . $aRow2['MEMBERS_NUMBER'] . ' ' .
((int) $aRow2['MEMBERS_NUMBER'] == 1 ? \G::LoadTranslation('ID_USER') : \G::LoadTranslation('ID_USERS')).
')' . '' : $aRow['GRP_TITLE'] . ' ' . $aRow2['GROUP_INACTIVE']),
'aas_lastname' => "",
'aas_username' => "",
'aas_type' => "group" );
'ada_lastname' => "",
'ada_username' => "",
'ada_type' => "group" );
}
}
$oCriteria = new \Criteria('workflow');
@@ -1063,11 +1063,11 @@ class Task
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aUsers[] = array('aas_uid' => $aRow['USR_UID'],
'aas_name' => $aRow['USR_FIRSTNAME'],
'aas_lastname' => $aRow['USR_LASTNAME'],
'aas_username' => $aRow['USR_USERNAME'],
'aas_type' => "user" );
$aUsers[] = array('ada_uid' => $aRow['USR_UID'],
'ada_name' => $aRow['USR_FIRSTNAME'],
'ada_lastname' => $aRow['USR_LASTNAME'],
'ada_username' => $aRow['USR_USERNAME'],
'ada_type' => "user" );
$oDataset->next();
}
return $aUsers;
@@ -1079,8 +1079,8 @@ class Task
/**
* Return the available adhoc users and users groups to assigned to an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
*
* return array
*
@@ -1116,7 +1116,7 @@ class Task
$groups = new \Groupwf();
$result = $groups->getAllGroup($start, $limit, $filter);
foreach ($result['rows'] as $results) {
if (in_array($results['GRP_UID'], $aUIDS1)) {
if (! in_array($results['GRP_UID'], $aUIDS1)) {
$c++;
$oCriteria = new \Criteria('workflow');
$oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
@@ -1125,14 +1125,14 @@ class Task
$oDataset2->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset2->next();
$aRow2 = $oDataset2->getRow();
$aUsers[] = array('aas_uid' => $results['GRP_UID'],
'aas_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] .
$aUsers[] = array('ada_uid' => $results['GRP_UID'],
'ada_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] .
' (' . $aRow2['MEMBERS_NUMBER'] . ' ' .
((int) $aRow2['MEMBERS_NUMBER'] == 1 ? \G::LoadTranslation('ID_USER') : \G::LoadTranslation('ID_USERS')).
')' . '' : $aRow['GRP_TITLE'] . ' ' . $aRow2['GROUP_INACTIVE']),
'aas_lastname' => "",
'aas_username' => "",
'aas_type' => "group" );
'ada_lastname' => "",
'ada_username' => "",
'ada_type' => "group" );
}
}
$sDelimiter = \DBAdapter::getStringDelimiter();
@@ -1157,11 +1157,11 @@ class Task
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aUsers[] = array('aas_uid' => $aRow['USR_UID'],
'aas_name' => $aRow['USR_FIRSTNAME'],
'aas_lastname' => $aRow['USR_LASTNAME'],
'aas_username' => $aRow['USR_USERNAME'],
'aas_type' => "user" );
$aUsers[] = array('ada_uid' => $aRow['USR_UID'],
'ada_name' => $aRow['USR_FIRSTNAME'],
'ada_lastname' => $aRow['USR_LASTNAME'],
'ada_username' => $aRow['USR_USERNAME'],
'ada_type' => "user" );
$oDataset->next();
}
return $aUsers;
@@ -1173,9 +1173,9 @@ class Task
/**
* Return a single Adhoc user or group assigned to an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sAssigneeUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $sAssigneeUID {@min 32} {@max 32}
*
* return array
*
@@ -1225,14 +1225,14 @@ class Task
$oDataset2->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset2->next();
$aRow2 = $oDataset2->getRow();
$aUsers[] = array('aas_uid' => $results['GRP_UID'],
'aas_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] .
$aUsers[] = array('ada_uid' => $results['GRP_UID'],
'ada_name' => (!isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] .
' (' . $aRow2['MEMBERS_NUMBER'] . ' ' .
((int) $aRow2['MEMBERS_NUMBER'] == 1 ? \G::LoadTranslation('ID_USER') : \G::LoadTranslation('ID_USERS')).
')' . '' : $aRow['GRP_TITLE'] . ' ' . $aRow2['GROUP_INACTIVE']),
'aas_lastname' => "",
'aas_username' => "",
'aas_type' => "group" );
'ada_lastname' => "",
'ada_username' => "",
'ada_type' => "group" );
}
}
$oCriteria = new \Criteria('workflow');
@@ -1253,11 +1253,11 @@ class Task
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aUsers = array('aas_uid' => $aRow['USR_UID'],
'aas_name' => $aRow['USR_FIRSTNAME'],
'aas_lastname' => $aRow['USR_LASTNAME'],
'aas_username' => $aRow['USR_USERNAME'],
'aas_type' => "user" );
$aUsers = array('ada_uid' => $aRow['USR_UID'],
'ada_name' => $aRow['USR_FIRSTNAME'],
'ada_lastname' => $aRow['USR_LASTNAME'],
'ada_username' => $aRow['USR_USERNAME'],
'ada_type' => "user" );
$oDataset->next();
}
if (empty($aUsers)) {
@@ -1273,10 +1273,10 @@ class Task
/**
* Assign a Adhoc user or group to an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sAssigneeUID
* @param string $assType
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $sAssigneeUID {@min 32} {@max 32}
* @param string $assType {@choice user,group}
*
* return array
*
@@ -1339,9 +1339,9 @@ class Task
/**
* Remove a Adhoc assignee of an activity
*
* @param string $sProcessUID
* @param string $sTaskUID
* @param string $sAssigneeUID
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $sTaskUID {@min 32} {@max 32}
* @param string $sAssigneeUID {@min 32} {@max 32}
*
* @access public
*/
@@ -1362,7 +1362,7 @@ class Task
}
$oTaskUser = \TaskUserPeer::retrieveByPK($sTaskUID, $sAssigneeUID, $iType, $iRelation);
if (! is_null( $oTaskUser )) {
OutputDocumentsTaskUserPeer::doDelete($oCriteria);
\TaskUserPeer::doDelete($oCriteria);
} else {
throw (new \Exception( 'This row does not exist!' ));
}

View File

@@ -43,43 +43,6 @@ class Trigger
}
}
/**
* Get data of a Trigger
*
* @param string $triggerUid Unique id of Trigger
*
* return array
*/
public function getTrigger($triggerUid)
{
try {
//Criteria
$criteria = $this->getTriggerCriteria();
$criteria->add(\TriggersPeer::TRI_UID, $triggerUid, \Criteria::EQUAL);
$rsCriteria = \TriggersPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
$row = $rsCriteria->getRow();
$arrayTrigger = array(
"tri_uid" => $row["TRI_UID"],
"tri_title" => $row["TRI_TITLE"],
"tri_description" => $row["TRI_DESCRIPTION"],
"tri_type" => $row["TRI_TYPE"],
"tri_webbot" => $row["TRI_WEBBOT"],
"tri_param" => $row["TRI_PARAM"]
);
return $arrayTrigger;
} catch (\Exception $e) {
throw $e;
}
}
/**
* List of Triggers in process
* @var string $sProcessUID. Uid for Process

View File

@@ -204,16 +204,16 @@ class Assignee extends Api
*
* @param string $prjUid
* @param string $actUid
* @param string $ass_uid
* @param string $ass_type {@choice user,group}
* @param string $ada_uid
* @param string $ada_type {@choice user,group}
*
* @status 201
*/
public function doPostActivityAdhocAssignee($prjUid, $actUid, $ass_uid, $ass_type)
public function doPostActivityAdhocAssignee($prjUid, $actUid, $ada_uid, $ada_type)
{
try {
$task = new \BusinessModel\Task();
$arrayData = $task->addTaskAdhocAssignee($prjUid, $actUid, $ass_uid, $ass_type);
$arrayData = $task->addTaskAdhocAssignee($prjUid, $actUid, $ada_uid, $ada_type);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -222,18 +222,18 @@ class Assignee extends Api
}
/**
* @url DELETE /:prjUid/activity/:actUid/adhoc-assignee/:assUid
* @url DELETE /:prjUid/activity/:actUid/adhoc-assignee/:adaUid
*
* @param string $prjUid
* @param string $actUid
* @param string $assUid
* @param string $adaUid
*
*/
public function doDeleteActivityAdhocAssignee($prjUid, $actUid, $assUid)
public function doDeleteActivityAdhocAssignee($prjUid, $actUid, $adaUid)
{
try {
$task = new \BusinessModel\Task();
$arrayData = $task->removeTaskAdhocAssignee($prjUid, $actUid, $assUid);
$arrayData = $task->removeTaskAdhocAssignee($prjUid, $actUid, $adaUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());

View File

@@ -12,14 +12,20 @@ use \Luracast\Restler\RestException;
class Trigger extends Api
{
/**
* @url GET /:projectUid/activity/:activityUid/step/:stepUid/trigger/:triggerUid
* @url GET /:projectUid/activity/:activityUid/step/:stepUid/trigger/:triggerUid/:type
*
* @param string $triggerUid
* @param string $stepUid
* @param string $activityUid
* @param string $projectUid
* @param string $type {@from body}{@choice before,after}
*/
public function doGetActivityStepTrigger($triggerUid, $stepUid, $activityUid, $projectUid)
public function doGetActivityStepTrigger($triggerUid, $stepUid, $activityUid, $projectUid, $type)
{
try {
$trigger = new \BusinessModel\Trigger();
$stepTrigger = new \BusinessModel\Step\Trigger();
$response = $trigger->getTrigger($triggerUid);
$response = $stepTrigger->getTrigger($stepUid, strtoupper($type), $triggerUid);
return $response;
} catch (\Exception $e) {

View File

@@ -13,17 +13,113 @@ class ProcessSupervisors extends Api
{
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $filter
* @param int $start
* @param int $limit
*
* @url GET /:prjUid/supervisors
* @url GET /:prjUid/process-supervisors
*/
public function doGetSupervisors($prjUid, $filter = '', $start = null, $limit = null)
public function doGetProcessSupervisors($prjUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getSupervisors($prjUid, $filter, $start, $limit);
$arrayData = $supervisor->getProcessSupervisors($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 $puUid {@min 32} {@max 32}
*
* @url GET /:prjUid/process-supervisor/:puUid
*/
public function doGetProcessSupervisor($prjUid, $puUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$objectData = $supervisor->getProcessSupervisor($prjUid, $puUid);
//Response
$response = $objectData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $obj_type
*
* @url GET /:prjUid/available-process-supervisors
*/
public function doGetAvailableSupervisors($prjUid, $obj_type = '')
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getAvailableProcessSupervisors($prjUid, $obj_type);
//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/process-supervisor/dynaforms
*/
public function doGetProcessSupervisorDynaforms($prjUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getProcessSupervisorDynaforms($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 $pudUid {@min 32} {@max 32}
*
* @url GET /:prjUid/process-supervisor/dynaform/:pudUid
*/
public function doGetProcessSupervisorDynaform($prjUid, $pudUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$objectData = $supervisor->getProcessSupervisorDynaform($prjUid, $pudUid);
//Response
$response = $objectData;
} 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/process-supervisor/available-dynaforms
*/
public function doGetAvailableProcessSupervisorDynaform($prjUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getAvailableProcessSupervisorDynaform($prjUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
@@ -36,13 +132,13 @@ class ProcessSupervisors extends Api
/**
* @param string $prjUid {@min 32} {@max 32}
*
* @url GET /:prjUid/inputdocument-supervisor
* @url GET /:prjUid/process-supervisor/input-documents
*/
public function doGetInputDocumentSupervisor($prjUid)
public function doGetProcessSupervisorInputDocuments($prjUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getInputDocumentSupervisor($prjUid);
$arrayData = $supervisor->getProcessSupervisorInputDocuments($prjUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
@@ -54,38 +150,17 @@ class ProcessSupervisors extends Api
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $puiUid {@min 32} {@max 32}
*
* @url GET /:prjUid/dynaform-supervisor
* @url GET /:prjUid/process-supervisor/input-document/:puiUid
*/
public function doGetDynaformSupervisor($prjUid)
public function doGetProcessSupervisorInputDocument($prjUid, $puiUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getDynaformSupervisor($prjUid);
$objectData = $supervisor->getProcessSupervisorInputDocument($prjUid, $puiUid);
//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 $filter
* @param int $start
* @param int $limit
*
* @url GET /:prjUid/available-supervisors
*/
public function doGetAvailableSupervisors($prjUid, $filter = '', $start = null, $limit = null)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getAvailableSupervisors($prjUid, $filter, $start, $limit);
//Response
$response = $arrayData;
$response = $objectData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -96,13 +171,14 @@ class ProcessSupervisors extends Api
/**
* @param string $prjUid {@min 32} {@max 32}
*
* @url GET /:prjUid/available-dynaform-supervisor
* @url GET /:prjUid/process-supervisor/available-input-documents
*/
public function doGetAvailableDynaformSupervisor($prjUid)
public function doGetAvailableProcessSupervisorInputDocument($prjUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getAvailableDynaformSupervisors($prjUid);
$arrayData = $supervisor->getAvailableProcessSupervisorInputDocument($prjUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
@@ -113,98 +189,21 @@ class ProcessSupervisors extends Api
}
/**
* @url POST /:prjUid/process-supervisor
*
* @param string $prjUid {@min 32} {@max 32}
*
* @url GET /:prjUid/available-inputdocument-supervisor
*/
public function doGetAvailableInputDocumentSupervisor($prjUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->getAvailableInputDocumentSupervisor($prjUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @url DELETE /:prjUid/supervisor/:supUid
*
* @param string $prjUid
* @param string $supUid
*
*/
public function doDeleteSupervisor($prjUid, $supUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->removeProcessSupervisor($prjUid, $supUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @url DELETE /:prjUid/dynaform-supervisor/:dynUid
*
* @param string $prjUid
* @param string $dynUid
*
*/
public function doDeleteDynaformSupervisor($prjUid, $dynUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->removeDynaformSupervisor($prjUid, $dynUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @url DELETE /:prjUid/inputdocument-supervisor/:inputDocUid
*
* @param string $prjUid
* @param string $inputDocUid
*
*/
public function doDeleteInputDocumentSupervisor($prjUid, $inputDocUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->removeInputDocumentSupervisor($prjUid, $inputDocUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @url POST /:prjUid/supervisor
*
* @param string $prjUid
* @param string $sup_uid
* @param string $sup_type {@choice user,group}
* @param string $usr_uid {@min 32} {@max 32}
* @param string $pu_type {@choice SUPERVISOR,GROUP_SUPERVISOR}
*
* @status 201
*/
public function doPostSupervisors($prjUid, $sup_uid, $sup_type)
public function doPostProcessSupervisor($prjUid, $usr_uid, $pu_type)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$sup_type=ucwords($sup_type);
$arrayData = $supervisor->addSupervisor($prjUid, $sup_uid, $sup_type);
$objectData = $supervisor->addProcessSupervisor($prjUid, $usr_uid, $pu_type);
//Response
$response = $objectData;
} catch (\Exception $e) {
//Response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -213,18 +212,20 @@ class ProcessSupervisors extends Api
}
/**
* @url POST /:prjUid/dynaform-supervisor
* @url POST /:prjUid/process-supervisor/dynaform
*
* @param string $prjUid
* @param string $dyn_uid
* @param string $prjUid {@min 32} {@max 32}
* @param string $dyn_uid {@min 32} {@max 32}
*
* @status 201
*/
public function doPostDynaformSupervisors($prjUid, $dyn_uid)
public function doPostProcessSupervisorDynaform($prjUid, $dyn_uid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->addDynaformSupervisor($prjUid, $dyn_uid);
$objectData = $supervisor->addProcessSupervisorDynaform($prjUid, $dyn_uid);
//Response
$response = $objectData;
} catch (\Exception $e) {
//Response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -233,18 +234,20 @@ class ProcessSupervisors extends Api
}
/**
* @url POST /:prjUid/inputdocument-supervisor
* @url POST /:prjUid/process-supervisor/input-document
*
* @param string $prjUid
* @param string $inp_doc_uid
* @param string $prjUid {@min 32} {@max 32}
* @param string $inp_doc_uid {@min 32} {@max 32}
*
* @status 201
*/
public function doPostInputDocumentSupervisors($prjUid, $inp_doc_uid)
public function doPostProcessSupervisorInputDocument($prjUid, $inp_doc_uid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->addInputDocumentSupervisor($prjUid, $inp_doc_uid);
$objectData = $supervisor->addProcessSupervisorInputDocument($prjUid, $inp_doc_uid);
//Response
$response = $objectData;
} catch (\Exception $e) {
//Response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -252,4 +255,64 @@ class ProcessSupervisors extends Api
return $response;
}
/**
* @url DELETE /:prjUid/process-supervisor/:puUid
*
* @param string $prjUid {@min 32} {@max 32}
* @param string $puUid {@min 32} {@max 32}
*
*/
public function doDeleteSupervisor($prjUid, $puUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->removeProcessSupervisor($prjUid, $puUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @url DELETE /:prjUid/process-supervisor/dynaform/:pudUid
*
* @param string $prjUid {@min 32} {@max 32}
* @param string $pudUid {@min 32} {@max 32}
*
*/
public function doDeleteDynaformSupervisor($prjUid, $pudUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->removeDynaformSupervisor($prjUid, $pudUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @url DELETE /:prjUid/process-supervisor/input-document/:puiUid
*
* @param string $prjUid {@min 32} {@max 32}
* @param string $puiUid {@min 32} {@max 32}
*
*/
public function doDeleteInputDocumentSupervisor($prjUid, $puiUid)
{
try {
$supervisor = new \BusinessModel\ProcessSupervisor();
$arrayData = $supervisor->removeInputDocumentSupervisor($prjUid, $puiUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
}

View File

@@ -15,7 +15,7 @@ class Test3 extends Api
/**
* @status 201
*/
function post()
function post2()
{
return array('success' => true);
}