Ejemplo n.º 1
0
    public function getCurrentDelegation($sApplicationUID = '', $sUserUID = '')

    {

        $oCriteria = new Criteria();

        $oCriteria->add(AppDelegationPeer::APP_UID, $sApplicationUID);

        $oCriteria->add(AppDelegationPeer::USR_UID, $sUserUID);

        $oCriteria->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');

        $oCriteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_DELEGATE_DATE);

        $oApplication = AppDelegationPeer::doSelectOne($oCriteria);

        if (!is_null($oApplication)) {

            return $oApplication->getDelIndex();

        }



        //if the user is not in the task, we need to return a valid del index, so we are returning the latest delindex

        $oCriteria = new Criteria();

        $oCriteria->add(AppDelegationPeer::APP_UID, $sApplicationUID);

        $oCriteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_DELEGATE_DATE);

        $oApplication = AppDelegationPeer::doSelectOne($oCriteria);

        if (!is_null($oApplication)) {

            return $oApplication->getDelIndex();

        }

        throw ( new Exception('this case has 0 delegations') );

    }
Ejemplo n.º 2
0
 public function getValidateSelfService($data)
 {
     $paused = false;
     $data = array_change_key_case($data, CASE_LOWER);
     $sTaskUID = $data['act_uid'];
     $caseType = isset($data['case_type']) ? $data['case_type'] == 'assigned' ? $data['case_type'] : 'unassigned' : 'unassigned';
     $response = new \stdclass();
     $oCriteria = new \Criteria();
     $arrayCondition = array();
     $arrayCondition[] = array(\AppDelegationPeer::APP_UID, \AppDelayPeer::APP_UID);
     $arrayCondition[] = array(\AppDelegationPeer::DEL_INDEX, \AppDelayPeer::APP_DEL_INDEX);
     $oCriteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
     $oCriteria->add(\AppDelegationPeer::TAS_UID, $sTaskUID);
     $oCriteria->add(\AppDelayPeer::APP_DISABLE_ACTION_USER, "0");
     $oResult = \AppDelegationPeer::doSelectOne($oCriteria);
     if (!empty($oResult)) {
         $paused = true;
     }
     $response->paused = $paused;
     $oCriteria = new \Criteria();
     $oCriteria->add(\AppDelegationPeer::DEL_THREAD_STATUS, "OPEN");
     $oCriteria->add(\AppDelegationPeer::TAS_UID, $sTaskUID);
     if ($caseType == 'unassigned') {
         $oCriteria->add(\AppDelegationPeer::USR_UID, "", \Criteria::EQUAL);
     }
     $oApplication = \AppDelegationPeer::doSelectOne($oCriteria);
     $response->result = true;
     if (!empty($oApplication) || $paused) {
         $response->result = false;
         $response->message = G::LoadTranslation('ID_CURRENT_ASSING_TYPE_WITH_CASES');
     }
     return $response;
 }
Ejemplo n.º 3
0
 public function validateAssignType($newValues, $oldValues)
 {
     if (isset($newValues['TAS_ASSIGN_TYPE']) && isset($oldValues['TAS_ASSIGN_TYPE'])) {
         $newAssigType = $newValues['TAS_ASSIGN_TYPE'];
         $oldAssigType = $oldValues['TAS_ASSIGN_TYPE'];
         if ($newAssigType == 'SELF_SERVICE') {
             $newAssigType = isset($newValues['TAS_GROUP_VARIABLE']) ? empty($newValues['TAS_GROUP_VARIABLE']) ? 'SELF_SERVICE' : 'SELF_SERVICE_VALUE_BASED' : 'SELF_SERVICE';
         }
         if ($oldAssigType == 'SELF_SERVICE') {
             $oldAssigType = isset($oldValues['TAS_GROUP_VARIABLE']) ? empty($oldValues['TAS_GROUP_VARIABLE']) ? 'SELF_SERVICE' : 'SELF_SERVICE_VALUE_BASED' : 'SELF_SERVICE';
         }
         if ($oldAssigType == 'SELF_SERVICE' && $newAssigType != 'SELF_SERVICE' || $oldAssigType == 'SELF_SERVICE_VALUE_BASED' && $newAssigType != 'SELF_SERVICE_VALUE_BASED') {
             $oCriteria = new Criteria();
             $oCriteria->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN");
             $oCriteria->add(AppDelegationPeer::TAS_UID, $newValues['TAS_UID']);
             $oCriteria->add(AppDelegationPeer::USR_UID, "");
             $oApplication = AppDelegationPeer::doSelectOne($oCriteria);
             if (!empty($oApplication)) {
                 throw new Exception(G::LoadTranslation('ID_CURRENT_ASSING_TYPE_WITH_CASES'));
             }
         }
     }
 }