Пример #1
0
 /**
  * Create the step supervisor registry
  *
  * @param array $aData
  * @return boolean
  *
  */
 public function create ($aData)
 {
     $oConnection = Propel::getConnection( StepSupervisorPeer::DATABASE_NAME );
     try {
         if (isset( $aData['STEP_UID'] ) && $aData['STEP_UID'] == '') {
             unset( $aData['STEP_UID'] );
         }
         if (! isset( $aData['STEP_UID'] )) {
             $aData['STEP_UID'] = G::generateUniqueID();
         }
         $oStepSupervisor = new StepSupervisor();
         $oStepSupervisor->fromArray( $aData, BasePeer::TYPE_FIELDNAME );
         if ($oStepSupervisor->validate()) {
             $oConnection->begin();
             $iResult = $oStepSupervisor->save();
             $oConnection->commit();
             return true;
         } else {
             $sMessage = '';
             $aValidationFailures = $oStepSupervisor->getValidationFailures();
             foreach ($aValidationFailures as $oValidationFailure) {
                 $sMessage .= $oValidationFailure->getMessage() . '<br />';
             }
             throw (new Exception( 'The registry cannot be created!<br />' . $sMessage ));
         }
     } catch (Exception $oError) {
         $oConnection->rollback();
         throw ($oError);
     }
 }
 public function deleteInputDoc($params)
 {
     require_once 'classes/model/StepSupervisor.php';
     require_once 'classes/model/ObjectPermission.php';
     require_once 'classes/model/InputDocument.php';
     G::LoadClass('processMap');
     $oStepSupervisor = new StepSupervisor();
     $fields2 = $oStepSupervisor->loadInfo($params->IDOC_UID);
     $oStepSupervisor->remove($fields2['STEP_UID']);
     $oPermission = new ObjectPermission();
     $fields3 = $oPermission->loadInfo($params->IDOC_UID);
     if (is_array($fields3)) {
         $oPermission->remove($fields3['OP_UID']);
     }
     $oInputDocument = new InputDocument();
     $fields = $oInputDocument->load($params->IDOC_UID);
     $oInputDocument->remove($params->IDOC_UID);
     $oStep = new Step();
     $oStep->removeStep('INPUT_DOCUMENT', $params->IDOC_UID);
     $oOP = new ObjectPermission();
     $oOP->removeByObject('INPUT', $params->IDOC_UID);
     //refresh dbarray with the last change in inputDocument
     $oMap = new processMap();
     $oCriteria = $oMap->getInputDocumentsCriteria($params->PRO_UID);
     $this->success = true;
     $this->msg = G::LoadTranslation('ID_INPUT_DOC_SUCCESS_DELETE');
 }
Пример #3
0
         $result->passed = true;
         if (is_array($fields2)) {
             $result->passed = false;
         }
         $result->success = true;
         $result->msg = $result->passed ? '' : G::LoadTranslation('ID_INPUTDOCUMENT_TASK_RELATION_EXISTS');
     } catch (Exception $e) {
         $result->success = false;
         $result->passed = false;
         $result->msg = $e->getMessage();
     }
     print G::json_encode($result);
     break;
 case 'deleteInputDocument':
     try {
         $oStepSupervisor = new StepSupervisor();
         $fields2 = $oStepSupervisor->loadInfo($_POST['INP_DOC_UID']);
         $oStepSupervisor->remove($fields2['STEP_UID']);
         $oPermission = new ObjectPermission();
         $fields3 = $oPermission->loadInfo($_POST['INP_DOC_UID']);
         if (is_array($fields3)) {
             $oPermission->remove($fields3['OP_UID']);
         }
         $oInputDocument = new InputDocument();
         $fields = $oInputDocument->load($_POST['INP_DOC_UID']);
         $oInputDocument->remove($_POST['INP_DOC_UID']);
         $oStep = new Step();
         $oStep->removeStep('INPUT_DOCUMENT', $_POST['INP_DOC_UID']);
         $oOP = new ObjectPermission();
         $oOP->removeByObject('INPUT', $_POST['INP_DOC_UID']);
         //refresh dbarray with the last change in inputDocument
Пример #4
0
 /**
  * Delete InputDocument
  *
  * @param string $inputDocumentUid Unique id of InputDocument
  *
  * return void
  */
 public function delete($inputDocumentUid)
 {
     try {
         //Verify data
         $this->throwExceptionIfNotExistsInputDocument($inputDocumentUid, "", $this->arrayFieldNameForException["inputDocumentUid"]);
         $this->throwExceptionIfItsAssignedInOtherObjects($inputDocumentUid, $this->arrayFieldNameForException["inputDocumentUid"]);
         //Delete
         //StepSupervisor
         $stepSupervisor = new \StepSupervisor();
         $arrayData = $stepSupervisor->loadInfo($inputDocumentUid);
         $result = $stepSupervisor->remove($arrayData["STEP_UID"]);
         //ObjectPermission
         $objectPermission = new \ObjectPermission();
         $arrayData = $objectPermission->loadInfo($inputDocumentUid);
         if (is_array($arrayData)) {
             $result = $objectPermission->remove($arrayData["OP_UID"]);
         }
         //InputDocument
         $inputDocument = new \InputDocument();
         $result = $inputDocument->remove($inputDocumentUid);
         //Step
         $step = new \Step();
         $step->removeStep("INPUT_DOCUMENT", $inputDocumentUid);
         //ObjectPermission
         $objectPermission = new \ObjectPermission();
         $objectPermission->removeByObject("INPUT", $inputDocumentUid);
     } catch (\Exception $e) {
         throw $e;
     }
 }
Пример #5
0
    /**

     * Create Step Supervisor Rows for a Process from an array of data

     *

     * @param $aStepSupervisor array.

     * @return void.

     */

    public function createStepSupervisorRows ($aStepSupervisor)

    {

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

            $oStepSupervisor = new StepSupervisor();

            if ($oStepSupervisor->Exists( $row['STEP_UID'] )) {

                $oStepSupervisor->remove( $row['STEP_UID'] );

            }

            $oStepSupervisor->create( $row );

        }

    } #@!Neyek
Пример #6
0
        try {
            if (!isset($_POST['DYN_UID'])) {
                throw new Exception('DYN_UID was not set!');
            }
            $DYN_UIDS = explode(',', $_POST['DYN_UID']);
            foreach ($DYN_UIDS as $i => $DYN_UID) {
                $dynaform = new dynaform();
                //in table dynaform
                $dynaform->remove($DYN_UID);
                //in table Step
                $oStep = new Step();
                $oStep->removeStep('DYNAFORM', $DYN_UID);
                //in table ObjectPermission
                $oOP = new ObjectPermission();
                $oOP->removeByObject('DYNAFORM', $DYN_UID);
                //in table Step_supervisor
                $oSS = new StepSupervisor();
                $oSS->removeByObject('DYNAFORM', $DYN_UID);
                //in table case_tracker_object
                $oCTO = new CaseTrackerObject();
                $oCTO->removeByObject('DYNAFORM', $DYN_UID);
            }
            $result->success = true;
            $result->msg = G::LoadTranslation('ID_DYNAFORM_REMOVED');
        } catch (Exception $e) {
            $result->success = false;
            $result->msg = $e->getMessage();
        }
        print G::json_encode($result);
        break;
}
Пример #7
0
 /**
  * removeSupervisorStep
  *
  * @param string $sStepUID
  * @param string $sProcessUID
  * @param string $sObjType
  * @param string $sObjUID
  * @param integer $iPosition
  * @return void
  */
 public function removeSupervisorStep($sStepUID, $sProcessUID, $sObjType, $sObjUID, $iPosition)
 {
     $oStepSupervisor = new StepSupervisor();
     $oStepSupervisor->remove($sStepUID);
     $oStepSupervisor->reorderPositions($sProcessUID, $iPosition, $sObjType);
 }
 /**
  * Validates all modified columns of given StepSupervisor object.
  * If parameter $columns is either a single column name or an array of column names
  * than only those columns are validated.
  *
  * NOTICE: This does not apply to primary or foreign keys for now.
  *
  * @param      StepSupervisor $obj The object to validate.
  * @param      mixed $cols Column name or array of column names.
  *
  * @return     mixed TRUE if all columns are valid or the error message of the first invalid column.
  */
 public static function doValidate(StepSupervisor $obj, $cols = null)
 {
     $columns = array();
     if ($cols) {
         $dbMap = Propel::getDatabaseMap(StepSupervisorPeer::DATABASE_NAME);
         $tableMap = $dbMap->getTable(StepSupervisorPeer::TABLE_NAME);
         if (!is_array($cols)) {
             $cols = array($cols);
         }
         foreach ($cols as $colName) {
             if ($tableMap->containsColumn($colName)) {
                 $get = 'get' . $tableMap->getColumn($colName)->getPhpName();
                 $columns[$colName] = $obj->{$get}();
             }
         }
     } else {
         if ($obj->isNew() || $obj->isColumnModified(StepSupervisorPeer::STEP_TYPE_OBJ)) {
             $columns[StepSupervisorPeer::STEP_TYPE_OBJ] = $obj->getStepTypeObj();
         }
     }
     return BasePeer::doValidate(StepSupervisorPeer::DATABASE_NAME, StepSupervisorPeer::TABLE_NAME, $columns);
 }
Пример #9
0
 /**
  * Delete DynaForm
  *
  * @param string $dynaFormUid Unique id of DynaForm
  *
  * return void
  */
 public function delete($dynaFormUid)
 {
     try {
         //Verify data
         $this->throwExceptionIfNotExistsDynaForm($dynaFormUid, "", $this->arrayFieldNameForException["dynaFormUid"]);
         //Load DynaForm
         $dynaForm = new \Dynaform();
         $arrayDynaFormData = $dynaForm->Load($dynaFormUid);
         $processUid = $arrayDynaFormData["PRO_UID"];
         //Verify dependences dynaforms
         $resultDepends = $this->dynaFormDepends($dynaFormUid, $processUid);
         if ($resultDepends != "") {
             throw new \Exception($resultDepends);
         }
         //Delete
         //In table DYNAFORM
         $result = $dynaForm->remove($dynaFormUid);
         //In table STEP
         $step = new \Step();
         $step->removeStep("DYNAFORM", $dynaFormUid);
         //In table OBJECT_PERMISSION
         $objPermission = new \ObjectPermission();
         $objPermission->removeByObject("DYNAFORM", $dynaFormUid);
         //In table STEP_SUPERVISOR
         $stepSupervisor = new \StepSupervisor();
         $stepSupervisor->removeByObject("DYNAFORM", $dynaFormUid);
         //In table CASE_TRACKER_OBJECT
         $caseTrackerObject = new \CaseTrackerObject();
         $caseTrackerObject->removeByObject("DYNAFORM", $dynaFormUid);
     } catch (\Exception $e) {
         throw $e;
     }
 }
Пример #10
0
    /**
     * Assign a inputdocument supervisor of a process
     *
     * @param string $sProcessUID
     * @param string $sInputDocumentUID
     * @param int $sPuiPosition
     * @access public
     */

    public function addProcessSupervisorInputDocument($sProcessUID, $sInputDocumentUID, $sPuiPosition)
    {
        $oTypeInputDocument= \InputDocumentPeer::retrieveByPK($sInputDocumentUID);
        if (is_null( $oTypeInputDocument )) {
            throw new \Exception(\G::LoadTranslation("ID_DOES NOT_INPUT_DOCUMENT", array($sInputDocumentUID)));
        }
        $aResp = array();
        $sPuUIDT = array();
        $sDelimiter = \DBAdapter::getStringDelimiter();
        $oCriteria = new \Criteria('workflow');
        $oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
        $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()) {
            $sPuUIDT = $aRow['STEP_UID'];
            $oDataset->next();
        }
        if (sizeof($sPuUIDT) == 0) {
            $oStepSupervisor = new \StepSupervisor();
            $oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
                                           'STEP_TYPE_OBJ' => "INPUT_DOCUMENT",
                                           'STEP_UID_OBJ' => $sInputDocumentUID,
                                           'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "INPUT_DOCUMENT")));
            $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']);
                $oDataset->next();
                $aRespPosition = $this->updateProcessSupervisorInputDocument($sProcessUID ,$aRow['STEP_UID'], $sPuiPosition);
                $aResp = array_merge(array('input_doc_title' => $aRow['INP_DOC_TITLE']), $aRespPosition);
            }
            return $aResp;
        } else {
            throw new \Exception(\G::LoadTranslation("ID_RELATION_EXIST"));
        }
    }