コード例 #1
0
 function createTest($aTestData, $aFields)
 {
     $oTaskUser = new TaskUser();
     try {
         return $oTaskUser->create($aFields);
     } catch (Exception $oError) {
         return $oError;
     }
 }
コード例 #2
0
ファイル: Task.php プロジェクト: emildev35/processmaker
 /**
  * Assign a Adhoc user or group to an activity
  *
  * @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
  *
  * @access public
  */
 public function addTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID, $assType)
 {
     try {
         Validator::proUid($sProcessUID, '$prj_uid');
         $this->validateActUid($sTaskUID);
         $iType = 2;
         $iRelation = '';
         $oCriteria = new \Criteria('workflow');
         $oCriteria->addSelectColumn(\TaskUserPeer::TU_RELATION);
         $oCriteria->add(\TaskUserPeer::USR_UID, $sAssigneeUID);
         $oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID);
         $oCriteria->add(\TaskUserPeer::TU_TYPE, $iType);
         $oTaskUser = \TaskUserPeer::doSelectRS($oCriteria);
         $oTaskUser->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
         while ($oTaskUser->next()) {
             $aRow = $oTaskUser->getRow();
             $iRelation = $aRow['TU_RELATION'];
         }
         $oTaskUser = \TaskUserPeer::retrieveByPK($sTaskUID, $sAssigneeUID, $iType, $iRelation);
         if (!is_null($oTaskUser)) {
             throw new \Exception(\G::LoadTranslation("ID_ALREADY_ASSIGNED", array($sAssigneeUID, $sTaskUID)));
         } else {
             $oTypeAssigneeG = \GroupwfPeer::retrieveByPK($sAssigneeUID);
             $oTypeAssigneeU = \UsersPeer::retrieveByPK($sAssigneeUID);
             if (is_null($oTypeAssigneeG) && is_null($oTypeAssigneeU)) {
                 throw new \Exception(\G::LoadTranslation("ID_DOES_NOT_CORRESPOND", array($sAssigneeUID, $assType)));
             }
             if (is_null($oTypeAssigneeG) && !is_null($oTypeAssigneeU)) {
                 $type = "user";
                 if ($type != $assType) {
                     throw new \Exception(\G::LoadTranslation("ID_DOES_NOT_CORRESPOND", array($sAssigneeUID, $assType)));
                 }
             }
             if (!is_null($oTypeAssigneeG) && is_null($oTypeAssigneeU)) {
                 $type = "group";
                 if ($type != $assType) {
                     throw new \Exception(\G::LoadTranslation("ID_DOES_NOT_CORRESPOND", array($sAssigneeUID, $assType)));
                 }
             }
             $oTaskUser = new \TaskUser();
             if ($assType == "user") {
                 $oTaskUser->create(array('TAS_UID' => $sTaskUID, 'USR_UID' => $sAssigneeUID, 'TU_TYPE' => $iType, 'TU_RELATION' => 1));
             } else {
                 $oTaskUser->create(array('TAS_UID' => $sTaskUID, 'USR_UID' => $sAssigneeUID, 'TU_TYPE' => $iType, 'TU_RELATION' => 2));
             }
             $task = new \Task();
             $result = $task->update(array("TAS_UID" => $sTaskUID, "TAS_TYPE" => "ADHOC"));
         }
     } catch (\Exception $e) {
         throw $e;
     }
 }
コード例 #3
0
ファイル: class.processes.php プロジェクト: rrsc/processmaker
    /**

     * Get Task User Rows from an array of data

     *

     * @param array $aTaskUser

     * @return array $aStepTrigger

     */

    public function createTaskUserRows ($aTaskUser)

    {

        if (is_array($aTaskUser)) {

            foreach ($aTaskUser as $key => $row) {

                $oTaskUser = new TaskUser();

                if ($oTaskUser->TaskUserExists( $row['TAS_UID'], $row['USR_UID'], $row['TU_TYPE'], $row['TU_RELATION'] )) {

                    $oTaskUser->remove( $row['TAS_UID'], $row['USR_UID'], $row['TU_TYPE'], $row['TU_RELATION'] );

                }

                $res = $oTaskUser->create( $row );

            }

        }

        return;

    }
コード例 #4
0
ファイル: processProxy.php プロジェクト: bqevin/processmaker
 /**
  * Assign actors to task
  *
  * @param unknown_type $param
  */
 public function assignActorsTask($param)
 {
     require_once 'classes/model/TaskUser.php';
     require_once 'classes/model/Task.php';
     $oTaskUser = new TaskUser();
     $UIDS = explode(',', $param->UIDS);
     $TU_TYPE = $param->TU_TYPE;
     $TAS_UID = $param->TAS_UID;
     foreach ($UIDS as $UID) {
         if ($param->TU_RELATION == '1') {
             $res[] = $oTaskUser->create(array('TAS_UID' => $TAS_UID, 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 1));
         } else {
             $res[] = $oTaskUser->create(array('TAS_UID' => $TAS_UID, 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 2));
         }
     }
     $task = TaskPeer::retrieveByPk($TAS_UID);
     $this->success = true;
     if (!in_array('-1', $res)) {
         if (count($UIDS) == 1) {
             $this->msg = __('ID_ACTOR_ASSIGNED_SUCESSFULLY', SYS_LANG, array('tas_title' => $task->getTasTitle()));
         } else {
             $this->msg = __('ID_ACTORS_ASSIGNED_SUCESSFULLY', SYS_LANG, array(count($UIDS), $task->getTasTitle()));
         }
     } else {
         if (count($UIDS) == 1) {
             $this->msg = __('ID_ACTOR_ALREADY_ASSIGNED', SYS_LANG, array($task->getTasTitle()));
         } else {
             $this->msg = __('ID_SOME_ACTORS_ALREADY_ASSIGNED', SYS_LANG, array($task->getTasTitle()));
         }
     }
 }
コード例 #5
0
 public function assignUsersTask($param)
 {
     try {
         require_once 'classes/model/TaskUser.php';
         require_once 'classes/model/Task.php';
         $oTaskUser = new TaskUser();
         $UIDS = explode(',', $param['UIDS']);
         $TU_TYPE = 1;
         foreach ($UIDS as $UID) {
             if ($_POST['TU_RELATION'] == 1) {
                 $oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 1));
             } else {
                 $oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 2));
             }
         }
         $task = TaskPeer::retrieveByPk($param['TAS_UID']);
         $result->success = true;
         if (count($UIDS) > 1) {
             $result->msg = __('ID_ACTORS_ASSIGNED_SUCESSFULLY', SYS_LANG, array(count($UIDS), $task->getTasTitle()));
         } else {
             $result->msg = __('ID_ACTOR_ASSIGNED_SUCESSFULLY', SYS_LANG, array('tas_title' => $task->getTasTitle()));
         }
     } catch (Exception $e) {
         $result->success = false;
         $result->msg = $e->getMessage();
     }
     print G::json_encode($result);
 }
コード例 #6
0
ファイル: class.tasks.php プロジェクト: nshong/processmaker
 /**
  * Assign a group to task
  * @param string $sTaskUID
  * @param string $sGroupUID
  * @param string $iType
  * @return integer
  */
 public function assignGroup($sTaskUID = '', $sGroupUID = '', $iType = '')
 {
     try {
         $oTaskUser = new TaskUser();
         /*$oCriteria = new Criteria('workflow');
           $oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID);
           $oDataset = GroupUserPeer::doSelectRS($oCriteria);
           $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
           $oDataset->next();
           while ($aGroupUser = $oDataset->getRow()) {
             $oCriteria = new Criteria('workflow');
             $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
             $oCriteria->add(TaskUserPeer::USR_UID, $aGroupUser['USR_UID']);
             $oDataset2 = TaskUserPeer::doSelectRS($oCriteria);
             $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
             $oDataset2->next();
             $aRow = $oDataset2->getRow();
             if (!is_array($aRow)) {
               $this->assignUser($sTaskUID, $aGroupUser['USR_UID'], $iType);
             }
             $oDataset->next();
           }*/
         return $oTaskUser->create(array('TAS_UID' => $sTaskUID, 'USR_UID' => $sGroupUID, 'TU_TYPE' => $iType, 'TU_RELATION' => 2));
     } catch (Exception $oError) {
         throw $oError;
     }
 }