From dca03d0f83b7e404fa680ba9493a8b2b8e95730b Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 6 Nov 2015 18:05:20 -0400 Subject: [PATCH 1/5] PM-3918 --- workflow/engine/classes/model/Dynaform.php | 25 ++++++- .../ProcessMaker/BusinessModel/DynaForm.php | 70 ++++++++++++++++++- .../src/ProcessMaker/Project/Workflow.php | 19 +++++ .../Services/Api/Project/DynaForm.php | 21 ++++++ 4 files changed, 133 insertions(+), 2 deletions(-) diff --git a/workflow/engine/classes/model/Dynaform.php b/workflow/engine/classes/model/Dynaform.php index 9f30f063c..cd7442d7d 100755 --- a/workflow/engine/classes/model/Dynaform.php +++ b/workflow/engine/classes/model/Dynaform.php @@ -729,5 +729,28 @@ class Dynaform extends BaseDynaform } return $flag; } + + /** + * verify if a dynaform is assigned some dynaform + * + * @param string $proUid the uid of the process + * @param string $dynUid the uid of the dynaform + * + * @return array + */ + public function verifyDynaformAssignDynaform ($dynUid, $proUid) + { + $res = array(); + $oCriteria = new Criteria(); + $oCriteria->addSelectColumn(DynaformPeer::DYN_UID); + $oCriteria->add(DynaformPeer::PRO_UID, $proUid); + $oCriteria->add(DynaformPeer::DYN_UID, $dynUid, Criteria::NOT_EQUAL); + $oCriteria->add(DynaformPeer::DYN_CONTENT, "%" . $dynUid . "%", Criteria::LIKE); + $oDataset = DynaformPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + while ($oDataset->next()) { + $res[] = $oDataset->getRow(); + } + return $res; + } } - diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index 0ff269f4e..e0f14d8b0 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -227,10 +227,19 @@ class DynaForm $messageCaseTracker = "($countSteps) Depends in case traker"; } + $dynaformDepends = \Dynaform::verifyDynaformAssignDynaform($dynUid, $proUid); + $messageDynaform = '(0) Depends in case traker'; + if (!empty($dynaformDepends)) { + $flagDepend = true; + $countSteps = count($dynaformDepends); + $messageDynaform = "($countSteps) Depends in dynaform"; + } + if ($flagDepend) { $message = "You can not delete the dynaform '$dynUid', because it has the following dependencies: \n\n"; $message .= $messageSteps . ".\n" . $messageStepsSupervisors . ".\n"; - $message .= $messageObjectPermission . ".\n" . $messageCaseTracker; + $message .= $messageObjectPermission . ".\n" . $messageCaseTracker . "\n"; + $message .= $messageDynaform; return $message; } return ''; @@ -1138,4 +1147,63 @@ class DynaForm throw $e; } } + + /** + * Get data of a DynaForm History + * + * @param string $dynaFormUid Unique id of DynaForm + * + * return array Return an array with data of a DynaForm History + */ + public function getDynaFormHistory($prj_uid, $dynaFormUid, array $arrayData = array()) + { + try { + $filter = ""; + if (isset($arrayData["filter"])) { + $filter = $arrayData["filter"]; + } + $start = 0; + if (isset($arrayData["start"])) { + $start = $arrayData["start"]; + } + $limit = 50; + if (isset($arrayData["limit"])) { + $limit = $arrayData["limit"]; + } + $this->throwExceptionIfNotExistsDynaForm($dynaFormUid, "", $this->arrayFieldNameForException["dynaFormUid"]); + + $criteria = new \Criteria("workflow"); + + $subcriteria = $criteria->getNewCriterion(\AppHistoryPeer::HISTORY_DATE, "%" . $filter . "%", \Criteria::LIKE); + + $criteria->addSelectColumn(\AppHistoryPeer::DYN_UID); + $criteria->addSelectColumn(\AppHistoryPeer::HISTORY_DATA); + $criteria->addSelectColumn(\AppHistoryPeer::HISTORY_DATE); + $criteria->addAnd(\AppHistoryPeer::DYN_UID, $dynaFormUid, \Criteria::EQUAL); + $criteria->addAnd(\AppHistoryPeer::OBJ_TYPE, "DYNAFORM", \Criteria::EQUAL); + $criteria->addAnd(\AppHistoryPeer::HISTORY_DATA, "%DYN_CONTENT_HISTORY%", \Criteria::LIKE); + $criteria->addAnd($subcriteria); + + $criteria->addDescendingOrderByColumn(\AppHistoryPeer::HISTORY_DATE); + $criteria->setOffset($start); + $criteria->setLimit($limit); + + $rsCriteria = \AppHistoryPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $data = array(); + while ($rsCriteria->next()) { + $row = $rsCriteria->getRow(); + $d = @unserialize($row["HISTORY_DATA"]); + $data[] = array( + "history_date" => $row["HISTORY_DATE"], + "dyn_uid" => $row["DYN_UID"], + "dyn_content_history" => isset($d["DYN_CONTENT_HISTORY"]) ? $d["DYN_CONTENT_HISTORY"] : "" + ); + } + return $data; + } catch (\Exception $e) { + throw $e; + } + } + } diff --git a/workflow/engine/src/ProcessMaker/Project/Workflow.php b/workflow/engine/src/ProcessMaker/Project/Workflow.php index ffaebadfd..63af4a074 100755 --- a/workflow/engine/src/ProcessMaker/Project/Workflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Workflow.php @@ -1298,6 +1298,25 @@ class Workflow extends Handler $arrayWorkflowData = (array)($workflowData); + foreach ($arrayWorkflowData["dynaforms"] as $key => $value) { + if ($arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"] != "") { + $dynaFormContent = $arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"]; + + foreach ($arrayWorkflowData["uid"] as $value2) { + $arrayAux = $value2; + + foreach ($arrayAux as $key3 => $value3) { + $uidOld = $key3; + $uid = $value3; + + $dynaFormContent = str_replace($uidOld, $uid, $dynaFormContent); + } + } + + $arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"] = $dynaFormContent; + } + } + //Workflow files foreach ($arrayWorkflowFile as $key => $value) { $arrayFile = $value; diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index 81b145247..a509e7cb8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -181,4 +181,25 @@ class DynaForm extends Api } } + /** + * @url POST /:prj_uid/dynaform/:dyn_uid/history + * + * @param string $dyn_uid {@min 32}{@max 32} + * @param string $prj_uid {@min 32}{@max 32} + * @param array $request_data + */ + public function doGetDynaFormHistory($dyn_uid, $prj_uid, $request_data) + { + try { + $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); + $dynaForm->setFormatFieldNameInUppercase(false); + + $response = $dynaForm->getDynaFormHistory($prj_uid, $dyn_uid, $request_data); + + return $response; + } catch (\Exception $e) { + throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); + } + } + } From 4d80c2935ee7e06f4f29d33f8d69c225bf803975 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Mon, 9 Nov 2015 17:27:35 -0400 Subject: [PATCH 2/5] PM-3935 --- workflow/engine/classes/class.pmDynaform.php | 3 +++ workflow/engine/src/ProcessMaker/Services/Api/Light.php | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 2e2f76ab9..6c56a9e0d 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -485,6 +485,9 @@ class pmDynaform private function getValuesDependentFields($json) { + if (!isset($this->record["DYN_CONTENT"])) { + return array(); + } $data = array(); if (isset($json->dbConnection) && isset($json->sql)) { $salida = array(); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 1e7200ddb..f0f94a580 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -751,11 +751,11 @@ class Light extends Api $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); $dynaForm->setFormatFieldNameInUppercase(false); \G::LoadClass("pmDynaform"); - $pmDynaForm = new \pmDynaform(); $_SESSION['PROCESS'] = $prj_uid; $return = array(); foreach ($request_data['formId'] as $dyn_uid) { $response = $dynaForm->getDynaForm($dyn_uid); + $pmDynaForm = new \pmDynaform(array("CURRENT_DYNAFORM" => $dyn_uid)); $result = $this->parserDataDynaForm($response); $result['formContent'] = (isset($result['formContent']) && $result['formContent'] != null)?json_decode($result['formContent']):""; $pmDynaForm->jsonr($result['formContent']); From 7123b7dbd3c7e90a78cdfbff955575cb24a41d65 Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Tue, 10 Nov 2015 11:37:39 -0400 Subject: [PATCH 3/5] PM-3984 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PM-3984 Se ejecuta el trigger de un dynaform (con condición) y no los triggers del segundo --- workflow/engine/classes/model/Process.php | 3 +++ workflow/engine/config/schema.xml | 1 + workflow/engine/data/mysql/schema.sql | 1 + workflow/engine/methods/cases/cases_Open.php | 9 +-------- workflow/engine/methods/cases/cases_Step.php | 6 +----- 5 files changed, 7 insertions(+), 13 deletions(-) diff --git a/workflow/engine/classes/model/Process.php b/workflow/engine/classes/model/Process.php index 79de01e3e..a47a68306 100755 --- a/workflow/engine/classes/model/Process.php +++ b/workflow/engine/classes/model/Process.php @@ -923,6 +923,9 @@ class Process extends BaseProcess $webBotTrigger = ''; switch ($action) { + case 'OPEN': + $var = ProcessPeer::PRO_TRI_OPEN; + break; case 'DELETED': $var = ProcessPeer::PRO_TRI_DELETED; break; diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 24b53ef2c..8408509b1 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -840,6 +840,7 @@ + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index 1ddb40f2a..4aea764b5 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -409,6 +409,7 @@ CREATE TABLE `PROCESS` `PRO_SHOW_MAP` TINYINT default 1 NOT NULL, `PRO_SHOW_MESSAGE` TINYINT default 1 NOT NULL, `PRO_SUBPROCESS` TINYINT default 0 NOT NULL, + `PRO_TRI_OPEN` VARCHAR(32) default '' NOT NULL, `PRO_TRI_DELETED` VARCHAR(32) default '' NOT NULL, `PRO_TRI_CANCELED` VARCHAR(32) default '' NOT NULL, `PRO_TRI_PAUSED` VARCHAR(32) default '' NOT NULL, diff --git a/workflow/engine/methods/cases/cases_Open.php b/workflow/engine/methods/cases/cases_Open.php index acdea01ce..967cb4932 100755 --- a/workflow/engine/methods/cases/cases_Open.php +++ b/workflow/engine/methods/cases/cases_Open.php @@ -171,14 +171,7 @@ try { unset( $_SESSION['bNoShowSteps'] ); /* Execute Before Triggers for first Task*/ - $oStep = new Step; - $oStep = $oStep->loadByProcessTaskPosition($_SESSION['PROCESS'], $_SESSION['TASK'], 1); - if($oStep) { - $aFields['APP_DATA'] = array_merge( $aFields['APP_DATA'], G::getSystemConstants() ); - $triggerFields["APP_DATA"] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $oStep->getStepTypeObj(), $oStep->getStepUidObj(), 'BEFORE', $aFields['APP_DATA'] ); - $oCase->updateCase( $_SESSION['APPLICATION'], $triggerFields ); - $_SESSION['beforeTriggersExecuted'] = true; - } + $oCase->getExecuteTriggerProcess($sAppUid, 'OPEN'); /*end Execute Before Triggers for first Task*/ $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] ); diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index ad0326529..0bfade78b 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -160,11 +160,7 @@ if ($flagExecuteBeforeTriggers) { if (! isset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] )) { //Execute before triggers - Start - if (!isset($_SESSION['beforeTriggersExecuted']) || $triggers) { - $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] ); - } else { - unset($_SESSION['beforeTriggersExecuted']); - } + $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] ); //Execute before triggers - End } else { unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] ); From 161e31847de669585fb485c6f9f0ea8d9a1e1145 Mon Sep 17 00:00:00 2001 From: jennydmz Date: Wed, 11 Nov 2015 11:31:25 -0400 Subject: [PATCH 4/5] GI-138 New changes to pmgmail integration --- workflow/engine/classes/class.labelsGmail.php | 2 + workflow/engine/classes/class.wsBase.php | 10 +- .../engine/classes/model/AppDelegation.php | 2 + workflow/engine/classes/model/EmailServer.php | 23 ++++ .../engine/methods/cases/derivatedGmail.php | 21 ++-- .../ProcessMaker/BusinessModel/Pmgmail.php | 32 ++++- workflow/public_html/pmGmail/sso.php | 88 ++++++------- workflow/public_html/pmGmail/templateForm.php | 117 ++++++++++++++++++ 8 files changed, 222 insertions(+), 73 deletions(-) create mode 100644 workflow/public_html/pmGmail/templateForm.php diff --git a/workflow/engine/classes/class.labelsGmail.php b/workflow/engine/classes/class.labelsGmail.php index 84a672074..1bb5ed603 100644 --- a/workflow/engine/classes/class.labelsGmail.php +++ b/workflow/engine/classes/class.labelsGmail.php @@ -92,6 +92,8 @@ class labelsGmail //The Subject to search the email $subject = "[PM] " .$proName. " Case: ". $appNumber; + require_once PATH_TRUNK . 'vendor' . PATH_SEP . 'google' . PATH_SEP . 'apiclient' . PATH_SEP . 'src' . PATH_SEP . 'Google' . PATH_SEP . 'autoload.php'; + require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.pmGoogleApi.php"); $pmGoogle = new PMGoogleApi(); $pmGoogle->setUser($mail); diff --git a/workflow/engine/classes/class.wsBase.php b/workflow/engine/classes/class.wsBase.php index 163a90747..cc65076c0 100755 --- a/workflow/engine/classes/class.wsBase.php +++ b/workflow/engine/classes/class.wsBase.php @@ -914,7 +914,8 @@ class wsBase $aAttachment = null, $showMessage = true, $delIndex = 0, - $config = array() + $config = array(), + $gmail = 0 ) { try { if (!class_exists('System')) { @@ -969,8 +970,11 @@ class wsBase $oCase = new Cases(); $oldFields = $oCase->loadCase( $caseId ); - - $pathEmail = PATH_DATA_SITE . 'mailTemplates' . PATH_SEP . $oldFields['PRO_UID'] . PATH_SEP; + if($gmail == 1){ + $pathEmail = PATH_DATA_SITE . 'mailTemplates' . PATH_SEP; + }else { + $pathEmail = PATH_DATA_SITE . 'mailTemplates' . PATH_SEP . $oldFields['PRO_UID'] . PATH_SEP; + } $fileTemplate = $pathEmail . $sTemplate; G::mk_dir( $pathEmail, 0777, true ); diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php index 489b00c0c..0a8d46593 100755 --- a/workflow/engine/classes/model/AppDelegation.php +++ b/workflow/engine/classes/model/AppDelegation.php @@ -264,6 +264,7 @@ class AppDelegation extends BaseAppDelegation $c->addSelectColumn( AppDelegationPeer::DEL_INIT_DATE ); $c->addSelectColumn( AppDelegationPeer::DEL_TASK_DUE_DATE ); $c->addSelectColumn( AppDelegationPeer::DEL_FINISH_DATE ); + $c->addSelectColumn( AppDelegationPeer::DEL_PREVIOUS ); $c->add( AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN' ); $c->add( AppDelegationPeer::APP_UID, $AppUid ); @@ -287,6 +288,7 @@ class AppDelegation extends BaseAppDelegation $case['DEL_INIT_DATE'] = $row['DEL_INIT_DATE']; $case['DEL_TASK_DUE_DATE'] = $row['DEL_TASK_DUE_DATE']; $case['DEL_FINISH_DATE'] = $row['DEL_FINISH_DATE']; + $case['DEL_PREVIOUS'] = $row['DEL_PREVIOUS']; $aCases[] = $case; $rs->next(); $row = $rs->getRow(); diff --git a/workflow/engine/classes/model/EmailServer.php b/workflow/engine/classes/model/EmailServer.php index f961d4f1a..1aefd8582 100644 --- a/workflow/engine/classes/model/EmailServer.php +++ b/workflow/engine/classes/model/EmailServer.php @@ -1,5 +1,28 @@ clearSelectColumns(); + $c->addSelectColumn( EmailServerPeer::MESS_ACCOUNT ); + + $c->add( EmailServerPeer::MESS_DEFAULT, 1 ); + + $rs = EmailServerPeer::doSelectRS( $c, Propel::getDBConnection('workflow_ro') ); + $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $rs->next(); + $row = $rs->getRow(); + $response=$row; + + return $response; + } } diff --git a/workflow/engine/methods/cases/derivatedGmail.php b/workflow/engine/methods/cases/derivatedGmail.php index a02d3f0bc..4ddf8a457 100644 --- a/workflow/engine/methods/cases/derivatedGmail.php +++ b/workflow/engine/methods/cases/derivatedGmail.php @@ -1,19 +1,14 @@ make('session.store'); - $licensedFeatures = & PMLicensedFeatures::getSingleton(); if (!$licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::header( 'location: ../login/login' ); die; } -$caseId = $session->get('APPLICATION'); -$usrUid = $session->get('USER_LOGGED'); -$usrName = $session->get('USR_FULLNAME'); -$actualIndex = $session->get('INDEX'); +$caseId = $_SESSION['APPLICATION']; +$usrUid = $_SESSION['USER_LOGGED']; +$usrName = $_SESSION['USR_FULLNAME']; +$actualIndex = $_SESSION['INDEX']; $cont = 0; use \ProcessMaker\Services\Api; @@ -23,6 +18,7 @@ $actualThread = $appDel->Load($caseId, $actualIndex); $actualLastIndex = $actualThread['DEL_PREVIOUS']; $appDelPrev = $appDel->LoadParallel($caseId); + if($appDelPrev == array()){ $appDelPrev['0'] = $actualThread; } @@ -34,11 +30,12 @@ foreach ($appDelPrev as $app){ } } +require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.labelsGmail.php"); $oLabels = new labelsGmail(); $oResponse = $oLabels->setLabels($caseId, $actualIndex, $actualLastIndex, false); -if( $session->get('gmail') === 1 ){ - //$session->set('gmail', 0); - $mUrl = '/sys'. $session->get('WORKSPACE') .'/en/neoclassic/cases/cases_Open?APP_UID='.$caseId.'&DEL_INDEX='.$actualIndex.'&action=sent'; +if( $_SESSION['gmail'] === 1 ){ + //$_SESSION['gmail'] = 0; + $mUrl = '/sys'. $_SESSION['WORKSPACE'] .'/en/neoclassic/cases/cases_Open?APP_UID='.$caseId.'&DEL_INDEX='.$actualIndex.'&action=sent'; } else{ $mUrl = 'casesListExtJs'; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php index 713d3ab6b..897754591 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php @@ -105,13 +105,33 @@ class Pmgmail { */ public function getDraftApp($app_uid, $index=1) { - $response = \AppCacheViewQuery::create() - ->filterByAppUid($app_uid) - ->filterByDelIndex($index) - ->find() - ->toArray(null, false, \BasePeer::TYPE_FIELDNAME); + $c = new \Criteria( 'workflow' ); + + $c->clearSelectColumns(); + $c->addSelectColumn( \AppCacheViewPeer::APP_NUMBER ); + $c->addSelectColumn( \AppCacheViewPeer::APP_STATUS ); + $c->addSelectColumn( \AppCacheViewPeer::DEL_INDEX ); + $c->addSelectColumn( \AppCacheViewPeer::APP_DEL_PREVIOUS_USER ); + $c->addSelectColumn( \AppCacheViewPeer::DEL_DELEGATE_DATE ); + $c->addSelectColumn( \AppCacheViewPeer::USR_UID ); + $c->addSelectColumn( \AppCacheViewPeer::PRO_UID ); + $c->addSelectColumn( \AppCacheViewPeer::APP_PRO_TITLE ); + $c->addSelectColumn( \AppCacheViewPeer::APP_TAS_TITLE ); + $c->addSelectColumn( \AppCacheViewPeer::DEL_THREAD_STATUS ); + $c->addSelectColumn( \AppCacheViewPeer::TAS_UID ); + $c->addSelectColumn( \AppCacheViewPeer::DEL_LAST_INDEX ); + + $c->add( \AppCacheViewPeer::APP_UID, $app_uid ); + $c->add( \AppCacheViewPeer::DEL_INDEX, $index ); - return $response; + $rs = \AppCacheViewPeer::doSelectRS( $c ); + $rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC ); + + $rows = Array (); + while ($rs->next()) { + $rows[] = $rs->getRow(); + } + return $rows; } /** diff --git a/workflow/public_html/pmGmail/sso.php b/workflow/public_html/pmGmail/sso.php index dc928d692..2d371bf64 100644 --- a/workflow/public_html/pmGmail/sso.php +++ b/workflow/public_html/pmGmail/sso.php @@ -1,26 +1,22 @@ make('session.store'); -$request = $sc->make('request'); +require_once (dirname(__FILE__) . '/../../../gulliver/system/class.bootstrap.php'); -$gmailToken = $request->query->get('gmailToken'); -$gmail = $request->query->get('gmail'); -$pmtoken = $request->query->get('pmtoken'); -$pmws = $request->query->get('pmws'); -$appUid = $request->query->get('appUid'); -$delIndex = $request->query->get('delIndex'); -$action = $request->query->get('action'); -$proUid = $request->query->has('proUid') ? $request->query->get('proUid') : ''; -$server = $request->query->get('server'); +$gmailToken = $_GET['gmailToken']; +$gmail = $_GET['gmail']; +$pmtoken = $_GET['pmtoken']; +$pmws = $_GET['pmws']; +$appUid = $_GET['appUid']; +$delIndex = $_GET['delIndex']; +$action = $_GET['action']; +$proUid = $_GET['proUid']; +$server = isset($_GET['server']) ? $_GET['server'] : ''; //First check if the feature is enabled in the license. $gCurl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegration/verifyGmailfeature/' ); curl_setopt( $gCurl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) ); curl_setopt( $gCurl, CURLOPT_RETURNTRANSFER, true); -curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER,false); -curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT ,0); +curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER, false); +curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0); $gCurl_response = curl_exec( $gCurl ); curl_close($gCurl); @@ -37,7 +33,7 @@ $curl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegrati curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true); curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER,false); -curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT ,0); +curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, 0); $curl_response = curl_exec( $curl ); curl_close($curl); @@ -49,7 +45,7 @@ if(count($decodedResp) > 1){ } //validationg if there is an actual PM session -if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedResp['0']->USR_UID){ +if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp['0']->USR_UID){ $url = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='.$gmailToken; // init curl object @@ -72,32 +68,28 @@ if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedRes //If the email corresponds I get the username and with the gmail user_id the session is created. if($decodedResp['0']->USR_STATUS == "ACTIVE"){ //User Active! lets create the Session - $request = $sc->make('request'); - $session = $sc->make('session.store'); - - $session->setId($request->cookies->get($session->getName())); - $session->start(); - setcookie($session->getName(), $session->getId(), 0, '/'); - $request->setSession($session); - + @session_destroy(); + session_start(); + session_regenerate_id(); + if (PHP_VERSION < 5.2) { setcookie("workspaceSkin", "neoclasic", time() + (24 * 60 * 60), "/sys" . "neoclasic", "; HttpOnly"); } else { setcookie("workspaceSkin", "neoclasic", time() + (24 * 60 * 60), "/sys" . "neoclasic", null, false, true); } - $session->set('__EE_INSTALLATION__', 2); - $session->set('__EE_SW_PMLICENSEMANAGER__', 1); - $session->set('phpLastFileFound', ''); - $session->set('USERNAME_PREVIOUS1', 'admin'); - $session->set('USERNAME_PREVIOUS2', 'admin'); - $session->set('WORKSPACE', $pmws); - $session->set('USER_LOGGED', $decodedResp['0']->USR_UID); - $session->set('USR_USERNAME', $decodedResp['0']->USR_USERNAME); - $session->set('USR_FULLNAME', $decodedResp['0']->USR_FIRSTNAME. ' ' .$decodedResp['0']->USR_LASTNAME); - $session->set('__sw__', 1); - $session->save(); - //session created + $_SESSION = array(); + $_SESSION['__EE_INSTALLATION__'] = 2; + $_SESSION['__EE_SW_PMLICENSEMANAGER__'] = 1; + $_SESSION['phpLastFileFound'] = ''; + $_SESSION['USERNAME_PREVIOUS1'] = 'admin'; + $_SESSION['USERNAME_PREVIOUS2'] = 'admin'; + $_SESSION['WORKSPACE'] = $pmws; + $_SESSION['USER_LOGGED'] = $decodedResp['0']->USR_UID; + $_SESSION['USR_USERNAME'] = $decodedResp['0']->USR_USERNAME; + $_SESSION['USR_FULLNAME'] = $decodedResp['0']->USR_FIRSTNAME. ' ' .$decodedResp['0']->USR_LASTNAME; + $_SESSION['__sw__'] = 1; + //session created } else { echo Bootstrap::LoadTranslation( 'ID_USER_NOT_ACTIVE' ); die; @@ -115,7 +107,7 @@ if ($action == "draft"){ curl_setopt( $curlApp, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt( $curlApp, CURLOPT_RETURNTRANSFER, true); curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER,false); - curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT ,0); + curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT, 0); $curl_response_app = curl_exec( $curlApp ); curl_close( $curlApp ); @@ -124,20 +116,12 @@ if ($action == "draft"){ header( 'location:' . $mainUrl ); die; } -$session->set('server', 'https://' . $server . '/sys'. $pmws .'/en/neoclassic/'); -$session->set('PMCase', 'cases/cases_Open?APP_UID='.$appUid.'&DEL_INDEX='.$delIndex.'&action='.$action.'&gmail=1'); +$_SESSION['server'] = 'https://' . $server . '/sys'. $pmws .'/en/neoclassic/'; +$_SESSION['PMCase'] = 'cases/cases_Open?APP_UID='.$appUid.'&DEL_INDEX='.$delIndex.'&action='.$action.'&gmail=1'; +$_SESSION['PMProcessmap'] = 'designer?prj_uid=' . $proUid . '&prj_readonly=true&app_uid=' . $appUid; +$_SESSION['PMUploadedDocuments'] = 'cases/ajaxListener?action=uploadedDocuments'; +$_SESSION['PMGeneratedDocuments'] = 'cases/casesGenerateDocumentPage_Ajax.php?actionAjax=casesGenerateDocumentPage'; -$session->set('PMProcessmap', 'designer?prj_uid=' . $proUid . '&prj_readonly=true&app_uid=' . $appUid); - -$session->set('PMCasesHistory', 'cases/ajaxListener?action=caseHistory'); - -$session->set('PMHistoryDynaform', 'cases/casesHistoryDynaformPage_Ajax?actionAjax=historyDynaformPage'); - -$session->set('PMUploadedDocuments', 'cases/ajaxListener?action=uploadedDocuments'); - -$session->set('PMGeneratedDocuments', 'cases/casesGenerateDocumentPage_Ajax.php?actionAjax=casesGenerateDocumentPage'); -ob_end_flush(); -$session->save(); header( 'location:' . 'templateForm.php' ); diff --git a/workflow/public_html/pmGmail/templateForm.php b/workflow/public_html/pmGmail/templateForm.php new file mode 100644 index 000000000..1051db733 --- /dev/null +++ b/workflow/public_html/pmGmail/templateForm.php @@ -0,0 +1,117 @@ + + + + + + Interface Processmaker + + + + + + + + +
+ + +
+
+ +
+
+
+ + + From bebf0de6dedfcf3512d97498f04cc75d225c7c58 Mon Sep 17 00:00:00 2001 From: Ronald Quenta Date: Wed, 11 Nov 2015 16:06:03 -0400 Subject: [PATCH 5/5] add model --- .../engine/classes/model/om/BaseProcess.php | 286 +++++++++++------- .../classes/model/om/BaseProcessPeer.php | 23 +- 2 files changed, 186 insertions(+), 123 deletions(-) diff --git a/workflow/engine/classes/model/om/BaseProcess.php b/workflow/engine/classes/model/om/BaseProcess.php index 3924a7649..ec86bef92 100755 --- a/workflow/engine/classes/model/om/BaseProcess.php +++ b/workflow/engine/classes/model/om/BaseProcess.php @@ -93,6 +93,12 @@ abstract class BaseProcess extends BaseObject implements Persistent */ protected $pro_subprocess = 0; + /** + * The value for the pro_tri_open field. + * @var string + */ + protected $pro_tri_open = ''; + /** * The value for the pro_tri_deleted field. * @var string @@ -366,6 +372,17 @@ abstract class BaseProcess extends BaseObject implements Persistent return $this->pro_subprocess; } + /** + * Get the [pro_tri_open] column value. + * + * @return string + */ + public function getProTriOpen() + { + + return $this->pro_tri_open; + } + /** * Get the [pro_tri_deleted] column value. * @@ -897,6 +914,28 @@ abstract class BaseProcess extends BaseObject implements Persistent } // setProSubprocess() + /** + * Set the value of [pro_tri_open] column. + * + * @param string $v new value + * @return void + */ + public function setProTriOpen($v) + { + + // Since the native PHP type for this column is string, + // we will cast the input to a string (if it is not). + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->pro_tri_open !== $v || $v === '') { + $this->pro_tri_open = $v; + $this->modifiedColumns[] = ProcessPeer::PRO_TRI_OPEN; + } + + } // setProTriOpen() + /** * Set the value of [pro_tri_deleted] column. * @@ -1450,58 +1489,60 @@ abstract class BaseProcess extends BaseObject implements Persistent $this->pro_subprocess = $rs->getInt($startcol + 10); - $this->pro_tri_deleted = $rs->getString($startcol + 11); + $this->pro_tri_open = $rs->getString($startcol + 11); - $this->pro_tri_canceled = $rs->getString($startcol + 12); + $this->pro_tri_deleted = $rs->getString($startcol + 12); - $this->pro_tri_paused = $rs->getString($startcol + 13); + $this->pro_tri_canceled = $rs->getString($startcol + 13); - $this->pro_tri_reassigned = $rs->getString($startcol + 14); + $this->pro_tri_paused = $rs->getString($startcol + 14); - $this->pro_tri_unpaused = $rs->getString($startcol + 15); + $this->pro_tri_reassigned = $rs->getString($startcol + 15); - $this->pro_type_process = $rs->getString($startcol + 16); + $this->pro_tri_unpaused = $rs->getString($startcol + 16); - $this->pro_show_delegate = $rs->getInt($startcol + 17); + $this->pro_type_process = $rs->getString($startcol + 17); - $this->pro_show_dynaform = $rs->getInt($startcol + 18); + $this->pro_show_delegate = $rs->getInt($startcol + 18); - $this->pro_category = $rs->getString($startcol + 19); + $this->pro_show_dynaform = $rs->getInt($startcol + 19); - $this->pro_sub_category = $rs->getString($startcol + 20); + $this->pro_category = $rs->getString($startcol + 20); - $this->pro_industry = $rs->getInt($startcol + 21); + $this->pro_sub_category = $rs->getString($startcol + 21); - $this->pro_update_date = $rs->getTimestamp($startcol + 22, null); + $this->pro_industry = $rs->getInt($startcol + 22); - $this->pro_create_date = $rs->getTimestamp($startcol + 23, null); + $this->pro_update_date = $rs->getTimestamp($startcol + 23, null); - $this->pro_create_user = $rs->getString($startcol + 24); + $this->pro_create_date = $rs->getTimestamp($startcol + 24, null); - $this->pro_height = $rs->getInt($startcol + 25); + $this->pro_create_user = $rs->getString($startcol + 25); - $this->pro_width = $rs->getInt($startcol + 26); + $this->pro_height = $rs->getInt($startcol + 26); - $this->pro_title_x = $rs->getInt($startcol + 27); + $this->pro_width = $rs->getInt($startcol + 27); - $this->pro_title_y = $rs->getInt($startcol + 28); + $this->pro_title_x = $rs->getInt($startcol + 28); - $this->pro_debug = $rs->getInt($startcol + 29); + $this->pro_title_y = $rs->getInt($startcol + 29); - $this->pro_dynaforms = $rs->getString($startcol + 30); + $this->pro_debug = $rs->getInt($startcol + 30); - $this->pro_derivation_screen_tpl = $rs->getString($startcol + 31); + $this->pro_dynaforms = $rs->getString($startcol + 31); - $this->pro_cost = $rs->getFloat($startcol + 32); + $this->pro_derivation_screen_tpl = $rs->getString($startcol + 32); - $this->pro_unit_cost = $rs->getString($startcol + 33); + $this->pro_cost = $rs->getFloat($startcol + 33); + + $this->pro_unit_cost = $rs->getString($startcol + 34); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 34; // 34 = ProcessPeer::NUM_COLUMNS - ProcessPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 35; // 35 = ProcessPeer::NUM_COLUMNS - ProcessPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Process object", $e); @@ -1739,72 +1780,75 @@ abstract class BaseProcess extends BaseObject implements Persistent return $this->getProSubprocess(); break; case 11: - return $this->getProTriDeleted(); + return $this->getProTriOpen(); break; case 12: - return $this->getProTriCanceled(); + return $this->getProTriDeleted(); break; case 13: - return $this->getProTriPaused(); + return $this->getProTriCanceled(); break; case 14: - return $this->getProTriReassigned(); + return $this->getProTriPaused(); break; case 15: - return $this->getProTriUnpaused(); + return $this->getProTriReassigned(); break; case 16: - return $this->getProTypeProcess(); + return $this->getProTriUnpaused(); break; case 17: - return $this->getProShowDelegate(); + return $this->getProTypeProcess(); break; case 18: - return $this->getProShowDynaform(); + return $this->getProShowDelegate(); break; case 19: - return $this->getProCategory(); + return $this->getProShowDynaform(); break; case 20: - return $this->getProSubCategory(); + return $this->getProCategory(); break; case 21: - return $this->getProIndustry(); + return $this->getProSubCategory(); break; case 22: - return $this->getProUpdateDate(); + return $this->getProIndustry(); break; case 23: - return $this->getProCreateDate(); + return $this->getProUpdateDate(); break; case 24: - return $this->getProCreateUser(); + return $this->getProCreateDate(); break; case 25: - return $this->getProHeight(); + return $this->getProCreateUser(); break; case 26: - return $this->getProWidth(); + return $this->getProHeight(); break; case 27: - return $this->getProTitleX(); + return $this->getProWidth(); break; case 28: - return $this->getProTitleY(); + return $this->getProTitleX(); break; case 29: - return $this->getProDebug(); + return $this->getProTitleY(); break; case 30: - return $this->getProDynaforms(); + return $this->getProDebug(); break; case 31: - return $this->getProDerivationScreenTpl(); + return $this->getProDynaforms(); break; case 32: - return $this->getProCost(); + return $this->getProDerivationScreenTpl(); break; case 33: + return $this->getProCost(); + break; + case 34: return $this->getProUnitCost(); break; default: @@ -1838,29 +1882,30 @@ abstract class BaseProcess extends BaseObject implements Persistent $keys[8] => $this->getProShowMap(), $keys[9] => $this->getProShowMessage(), $keys[10] => $this->getProSubprocess(), - $keys[11] => $this->getProTriDeleted(), - $keys[12] => $this->getProTriCanceled(), - $keys[13] => $this->getProTriPaused(), - $keys[14] => $this->getProTriReassigned(), - $keys[15] => $this->getProTriUnpaused(), - $keys[16] => $this->getProTypeProcess(), - $keys[17] => $this->getProShowDelegate(), - $keys[18] => $this->getProShowDynaform(), - $keys[19] => $this->getProCategory(), - $keys[20] => $this->getProSubCategory(), - $keys[21] => $this->getProIndustry(), - $keys[22] => $this->getProUpdateDate(), - $keys[23] => $this->getProCreateDate(), - $keys[24] => $this->getProCreateUser(), - $keys[25] => $this->getProHeight(), - $keys[26] => $this->getProWidth(), - $keys[27] => $this->getProTitleX(), - $keys[28] => $this->getProTitleY(), - $keys[29] => $this->getProDebug(), - $keys[30] => $this->getProDynaforms(), - $keys[31] => $this->getProDerivationScreenTpl(), - $keys[32] => $this->getProCost(), - $keys[33] => $this->getProUnitCost(), + $keys[11] => $this->getProTriOpen(), + $keys[12] => $this->getProTriDeleted(), + $keys[13] => $this->getProTriCanceled(), + $keys[14] => $this->getProTriPaused(), + $keys[15] => $this->getProTriReassigned(), + $keys[16] => $this->getProTriUnpaused(), + $keys[17] => $this->getProTypeProcess(), + $keys[18] => $this->getProShowDelegate(), + $keys[19] => $this->getProShowDynaform(), + $keys[20] => $this->getProCategory(), + $keys[21] => $this->getProSubCategory(), + $keys[22] => $this->getProIndustry(), + $keys[23] => $this->getProUpdateDate(), + $keys[24] => $this->getProCreateDate(), + $keys[25] => $this->getProCreateUser(), + $keys[26] => $this->getProHeight(), + $keys[27] => $this->getProWidth(), + $keys[28] => $this->getProTitleX(), + $keys[29] => $this->getProTitleY(), + $keys[30] => $this->getProDebug(), + $keys[31] => $this->getProDynaforms(), + $keys[32] => $this->getProDerivationScreenTpl(), + $keys[33] => $this->getProCost(), + $keys[34] => $this->getProUnitCost(), ); return $result; } @@ -1926,72 +1971,75 @@ abstract class BaseProcess extends BaseObject implements Persistent $this->setProSubprocess($value); break; case 11: - $this->setProTriDeleted($value); + $this->setProTriOpen($value); break; case 12: - $this->setProTriCanceled($value); + $this->setProTriDeleted($value); break; case 13: - $this->setProTriPaused($value); + $this->setProTriCanceled($value); break; case 14: - $this->setProTriReassigned($value); + $this->setProTriPaused($value); break; case 15: - $this->setProTriUnpaused($value); + $this->setProTriReassigned($value); break; case 16: - $this->setProTypeProcess($value); + $this->setProTriUnpaused($value); break; case 17: - $this->setProShowDelegate($value); + $this->setProTypeProcess($value); break; case 18: - $this->setProShowDynaform($value); + $this->setProShowDelegate($value); break; case 19: - $this->setProCategory($value); + $this->setProShowDynaform($value); break; case 20: - $this->setProSubCategory($value); + $this->setProCategory($value); break; case 21: - $this->setProIndustry($value); + $this->setProSubCategory($value); break; case 22: - $this->setProUpdateDate($value); + $this->setProIndustry($value); break; case 23: - $this->setProCreateDate($value); + $this->setProUpdateDate($value); break; case 24: - $this->setProCreateUser($value); + $this->setProCreateDate($value); break; case 25: - $this->setProHeight($value); + $this->setProCreateUser($value); break; case 26: - $this->setProWidth($value); + $this->setProHeight($value); break; case 27: - $this->setProTitleX($value); + $this->setProWidth($value); break; case 28: - $this->setProTitleY($value); + $this->setProTitleX($value); break; case 29: - $this->setProDebug($value); + $this->setProTitleY($value); break; case 30: - $this->setProDynaforms($value); + $this->setProDebug($value); break; case 31: - $this->setProDerivationScreenTpl($value); + $this->setProDynaforms($value); break; case 32: - $this->setProCost($value); + $this->setProDerivationScreenTpl($value); break; case 33: + $this->setProCost($value); + break; + case 34: $this->setProUnitCost($value); break; } // switch() @@ -2062,95 +2110,99 @@ abstract class BaseProcess extends BaseObject implements Persistent } if (array_key_exists($keys[11], $arr)) { - $this->setProTriDeleted($arr[$keys[11]]); + $this->setProTriOpen($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { - $this->setProTriCanceled($arr[$keys[12]]); + $this->setProTriDeleted($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { - $this->setProTriPaused($arr[$keys[13]]); + $this->setProTriCanceled($arr[$keys[13]]); } if (array_key_exists($keys[14], $arr)) { - $this->setProTriReassigned($arr[$keys[14]]); + $this->setProTriPaused($arr[$keys[14]]); } if (array_key_exists($keys[15], $arr)) { - $this->setProTriUnpaused($arr[$keys[15]]); + $this->setProTriReassigned($arr[$keys[15]]); } if (array_key_exists($keys[16], $arr)) { - $this->setProTypeProcess($arr[$keys[16]]); + $this->setProTriUnpaused($arr[$keys[16]]); } if (array_key_exists($keys[17], $arr)) { - $this->setProShowDelegate($arr[$keys[17]]); + $this->setProTypeProcess($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { - $this->setProShowDynaform($arr[$keys[18]]); + $this->setProShowDelegate($arr[$keys[18]]); } if (array_key_exists($keys[19], $arr)) { - $this->setProCategory($arr[$keys[19]]); + $this->setProShowDynaform($arr[$keys[19]]); } if (array_key_exists($keys[20], $arr)) { - $this->setProSubCategory($arr[$keys[20]]); + $this->setProCategory($arr[$keys[20]]); } if (array_key_exists($keys[21], $arr)) { - $this->setProIndustry($arr[$keys[21]]); + $this->setProSubCategory($arr[$keys[21]]); } if (array_key_exists($keys[22], $arr)) { - $this->setProUpdateDate($arr[$keys[22]]); + $this->setProIndustry($arr[$keys[22]]); } if (array_key_exists($keys[23], $arr)) { - $this->setProCreateDate($arr[$keys[23]]); + $this->setProUpdateDate($arr[$keys[23]]); } if (array_key_exists($keys[24], $arr)) { - $this->setProCreateUser($arr[$keys[24]]); + $this->setProCreateDate($arr[$keys[24]]); } if (array_key_exists($keys[25], $arr)) { - $this->setProHeight($arr[$keys[25]]); + $this->setProCreateUser($arr[$keys[25]]); } if (array_key_exists($keys[26], $arr)) { - $this->setProWidth($arr[$keys[26]]); + $this->setProHeight($arr[$keys[26]]); } if (array_key_exists($keys[27], $arr)) { - $this->setProTitleX($arr[$keys[27]]); + $this->setProWidth($arr[$keys[27]]); } if (array_key_exists($keys[28], $arr)) { - $this->setProTitleY($arr[$keys[28]]); + $this->setProTitleX($arr[$keys[28]]); } if (array_key_exists($keys[29], $arr)) { - $this->setProDebug($arr[$keys[29]]); + $this->setProTitleY($arr[$keys[29]]); } if (array_key_exists($keys[30], $arr)) { - $this->setProDynaforms($arr[$keys[30]]); + $this->setProDebug($arr[$keys[30]]); } if (array_key_exists($keys[31], $arr)) { - $this->setProDerivationScreenTpl($arr[$keys[31]]); + $this->setProDynaforms($arr[$keys[31]]); } if (array_key_exists($keys[32], $arr)) { - $this->setProCost($arr[$keys[32]]); + $this->setProDerivationScreenTpl($arr[$keys[32]]); } if (array_key_exists($keys[33], $arr)) { - $this->setProUnitCost($arr[$keys[33]]); + $this->setProCost($arr[$keys[33]]); + } + + if (array_key_exists($keys[34], $arr)) { + $this->setProUnitCost($arr[$keys[34]]); } } @@ -2208,6 +2260,10 @@ abstract class BaseProcess extends BaseObject implements Persistent $criteria->add(ProcessPeer::PRO_SUBPROCESS, $this->pro_subprocess); } + if ($this->isColumnModified(ProcessPeer::PRO_TRI_OPEN)) { + $criteria->add(ProcessPeer::PRO_TRI_OPEN, $this->pro_tri_open); + } + if ($this->isColumnModified(ProcessPeer::PRO_TRI_DELETED)) { $criteria->add(ProcessPeer::PRO_TRI_DELETED, $this->pro_tri_deleted); } @@ -2374,6 +2430,8 @@ abstract class BaseProcess extends BaseObject implements Persistent $copyObj->setProSubprocess($this->pro_subprocess); + $copyObj->setProTriOpen($this->pro_tri_open); + $copyObj->setProTriDeleted($this->pro_tri_deleted); $copyObj->setProTriCanceled($this->pro_tri_canceled); diff --git a/workflow/engine/classes/model/om/BaseProcessPeer.php b/workflow/engine/classes/model/om/BaseProcessPeer.php index 294e51634..40addd748 100755 --- a/workflow/engine/classes/model/om/BaseProcessPeer.php +++ b/workflow/engine/classes/model/om/BaseProcessPeer.php @@ -25,7 +25,7 @@ abstract class BaseProcessPeer const CLASS_DEFAULT = 'classes.model.Process'; /** The total number of columns. */ - const NUM_COLUMNS = 34; + const NUM_COLUMNS = 35; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -64,6 +64,9 @@ abstract class BaseProcessPeer /** the column name for the PRO_SUBPROCESS field */ const PRO_SUBPROCESS = 'PROCESS.PRO_SUBPROCESS'; + /** the column name for the PRO_TRI_OPEN field */ + const PRO_TRI_OPEN = 'PROCESS.PRO_TRI_OPEN'; + /** the column name for the PRO_TRI_DELETED field */ const PRO_TRI_DELETED = 'PROCESS.PRO_TRI_DELETED'; @@ -144,10 +147,10 @@ abstract class BaseProcessPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('ProUid', 'ProParent', 'ProTime', 'ProTimeunit', 'ProStatus', 'ProTypeDay', 'ProType', 'ProAssignment', 'ProShowMap', 'ProShowMessage', 'ProSubprocess', 'ProTriDeleted', 'ProTriCanceled', 'ProTriPaused', 'ProTriReassigned', 'ProTriUnpaused', 'ProTypeProcess', 'ProShowDelegate', 'ProShowDynaform', 'ProCategory', 'ProSubCategory', 'ProIndustry', 'ProUpdateDate', 'ProCreateDate', 'ProCreateUser', 'ProHeight', 'ProWidth', 'ProTitleX', 'ProTitleY', 'ProDebug', 'ProDynaforms', 'ProDerivationScreenTpl', 'ProCost', 'ProUnitCost', ), - BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID, ProcessPeer::PRO_PARENT, ProcessPeer::PRO_TIME, ProcessPeer::PRO_TIMEUNIT, ProcessPeer::PRO_STATUS, ProcessPeer::PRO_TYPE_DAY, ProcessPeer::PRO_TYPE, ProcessPeer::PRO_ASSIGNMENT, ProcessPeer::PRO_SHOW_MAP, ProcessPeer::PRO_SHOW_MESSAGE, ProcessPeer::PRO_SUBPROCESS, ProcessPeer::PRO_TRI_DELETED, ProcessPeer::PRO_TRI_CANCELED, ProcessPeer::PRO_TRI_PAUSED, ProcessPeer::PRO_TRI_REASSIGNED, ProcessPeer::PRO_TRI_UNPAUSED, ProcessPeer::PRO_TYPE_PROCESS, ProcessPeer::PRO_SHOW_DELEGATE, ProcessPeer::PRO_SHOW_DYNAFORM, ProcessPeer::PRO_CATEGORY, ProcessPeer::PRO_SUB_CATEGORY, ProcessPeer::PRO_INDUSTRY, ProcessPeer::PRO_UPDATE_DATE, ProcessPeer::PRO_CREATE_DATE, ProcessPeer::PRO_CREATE_USER, ProcessPeer::PRO_HEIGHT, ProcessPeer::PRO_WIDTH, ProcessPeer::PRO_TITLE_X, ProcessPeer::PRO_TITLE_Y, ProcessPeer::PRO_DEBUG, ProcessPeer::PRO_DYNAFORMS, ProcessPeer::PRO_DERIVATION_SCREEN_TPL, ProcessPeer::PRO_COST, ProcessPeer::PRO_UNIT_COST, ), - BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'PRO_PARENT', 'PRO_TIME', 'PRO_TIMEUNIT', 'PRO_STATUS', 'PRO_TYPE_DAY', 'PRO_TYPE', 'PRO_ASSIGNMENT', 'PRO_SHOW_MAP', 'PRO_SHOW_MESSAGE', 'PRO_SUBPROCESS', 'PRO_TRI_DELETED', 'PRO_TRI_CANCELED', 'PRO_TRI_PAUSED', 'PRO_TRI_REASSIGNED', 'PRO_TRI_UNPAUSED', 'PRO_TYPE_PROCESS', 'PRO_SHOW_DELEGATE', 'PRO_SHOW_DYNAFORM', 'PRO_CATEGORY', 'PRO_SUB_CATEGORY', 'PRO_INDUSTRY', 'PRO_UPDATE_DATE', 'PRO_CREATE_DATE', 'PRO_CREATE_USER', 'PRO_HEIGHT', 'PRO_WIDTH', 'PRO_TITLE_X', 'PRO_TITLE_Y', 'PRO_DEBUG', 'PRO_DYNAFORMS', 'PRO_DERIVATION_SCREEN_TPL', 'PRO_COST', 'PRO_UNIT_COST', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, ) + BasePeer::TYPE_PHPNAME => array ('ProUid', 'ProParent', 'ProTime', 'ProTimeunit', 'ProStatus', 'ProTypeDay', 'ProType', 'ProAssignment', 'ProShowMap', 'ProShowMessage', 'ProSubprocess', 'ProTriOpen', 'ProTriDeleted', 'ProTriCanceled', 'ProTriPaused', 'ProTriReassigned', 'ProTriUnpaused', 'ProTypeProcess', 'ProShowDelegate', 'ProShowDynaform', 'ProCategory', 'ProSubCategory', 'ProIndustry', 'ProUpdateDate', 'ProCreateDate', 'ProCreateUser', 'ProHeight', 'ProWidth', 'ProTitleX', 'ProTitleY', 'ProDebug', 'ProDynaforms', 'ProDerivationScreenTpl', 'ProCost', 'ProUnitCost', ), + BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID, ProcessPeer::PRO_PARENT, ProcessPeer::PRO_TIME, ProcessPeer::PRO_TIMEUNIT, ProcessPeer::PRO_STATUS, ProcessPeer::PRO_TYPE_DAY, ProcessPeer::PRO_TYPE, ProcessPeer::PRO_ASSIGNMENT, ProcessPeer::PRO_SHOW_MAP, ProcessPeer::PRO_SHOW_MESSAGE, ProcessPeer::PRO_SUBPROCESS, ProcessPeer::PRO_TRI_OPEN, ProcessPeer::PRO_TRI_DELETED, ProcessPeer::PRO_TRI_CANCELED, ProcessPeer::PRO_TRI_PAUSED, ProcessPeer::PRO_TRI_REASSIGNED, ProcessPeer::PRO_TRI_UNPAUSED, ProcessPeer::PRO_TYPE_PROCESS, ProcessPeer::PRO_SHOW_DELEGATE, ProcessPeer::PRO_SHOW_DYNAFORM, ProcessPeer::PRO_CATEGORY, ProcessPeer::PRO_SUB_CATEGORY, ProcessPeer::PRO_INDUSTRY, ProcessPeer::PRO_UPDATE_DATE, ProcessPeer::PRO_CREATE_DATE, ProcessPeer::PRO_CREATE_USER, ProcessPeer::PRO_HEIGHT, ProcessPeer::PRO_WIDTH, ProcessPeer::PRO_TITLE_X, ProcessPeer::PRO_TITLE_Y, ProcessPeer::PRO_DEBUG, ProcessPeer::PRO_DYNAFORMS, ProcessPeer::PRO_DERIVATION_SCREEN_TPL, ProcessPeer::PRO_COST, ProcessPeer::PRO_UNIT_COST, ), + BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'PRO_PARENT', 'PRO_TIME', 'PRO_TIMEUNIT', 'PRO_STATUS', 'PRO_TYPE_DAY', 'PRO_TYPE', 'PRO_ASSIGNMENT', 'PRO_SHOW_MAP', 'PRO_SHOW_MESSAGE', 'PRO_SUBPROCESS', 'PRO_TRI_OPEN', 'PRO_TRI_DELETED', 'PRO_TRI_CANCELED', 'PRO_TRI_PAUSED', 'PRO_TRI_REASSIGNED', 'PRO_TRI_UNPAUSED', 'PRO_TYPE_PROCESS', 'PRO_SHOW_DELEGATE', 'PRO_SHOW_DYNAFORM', 'PRO_CATEGORY', 'PRO_SUB_CATEGORY', 'PRO_INDUSTRY', 'PRO_UPDATE_DATE', 'PRO_CREATE_DATE', 'PRO_CREATE_USER', 'PRO_HEIGHT', 'PRO_WIDTH', 'PRO_TITLE_X', 'PRO_TITLE_Y', 'PRO_DEBUG', 'PRO_DYNAFORMS', 'PRO_DERIVATION_SCREEN_TPL', 'PRO_COST', 'PRO_UNIT_COST', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, ) ); /** @@ -157,10 +160,10 @@ abstract class BaseProcessPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'ProParent' => 1, 'ProTime' => 2, 'ProTimeunit' => 3, 'ProStatus' => 4, 'ProTypeDay' => 5, 'ProType' => 6, 'ProAssignment' => 7, 'ProShowMap' => 8, 'ProShowMessage' => 9, 'ProSubprocess' => 10, 'ProTriDeleted' => 11, 'ProTriCanceled' => 12, 'ProTriPaused' => 13, 'ProTriReassigned' => 14, 'ProTriUnpaused' => 15, 'ProTypeProcess' => 16, 'ProShowDelegate' => 17, 'ProShowDynaform' => 18, 'ProCategory' => 19, 'ProSubCategory' => 20, 'ProIndustry' => 21, 'ProUpdateDate' => 22, 'ProCreateDate' => 23, 'ProCreateUser' => 24, 'ProHeight' => 25, 'ProWidth' => 26, 'ProTitleX' => 27, 'ProTitleY' => 28, 'ProDebug' => 29, 'ProDynaforms' => 30, 'ProDerivationScreenTpl' => 31, 'ProCost' => 32, 'ProUnitCost' => 33, ), - BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID => 0, ProcessPeer::PRO_PARENT => 1, ProcessPeer::PRO_TIME => 2, ProcessPeer::PRO_TIMEUNIT => 3, ProcessPeer::PRO_STATUS => 4, ProcessPeer::PRO_TYPE_DAY => 5, ProcessPeer::PRO_TYPE => 6, ProcessPeer::PRO_ASSIGNMENT => 7, ProcessPeer::PRO_SHOW_MAP => 8, ProcessPeer::PRO_SHOW_MESSAGE => 9, ProcessPeer::PRO_SUBPROCESS => 10, ProcessPeer::PRO_TRI_DELETED => 11, ProcessPeer::PRO_TRI_CANCELED => 12, ProcessPeer::PRO_TRI_PAUSED => 13, ProcessPeer::PRO_TRI_REASSIGNED => 14, ProcessPeer::PRO_TRI_UNPAUSED => 15, ProcessPeer::PRO_TYPE_PROCESS => 16, ProcessPeer::PRO_SHOW_DELEGATE => 17, ProcessPeer::PRO_SHOW_DYNAFORM => 18, ProcessPeer::PRO_CATEGORY => 19, ProcessPeer::PRO_SUB_CATEGORY => 20, ProcessPeer::PRO_INDUSTRY => 21, ProcessPeer::PRO_UPDATE_DATE => 22, ProcessPeer::PRO_CREATE_DATE => 23, ProcessPeer::PRO_CREATE_USER => 24, ProcessPeer::PRO_HEIGHT => 25, ProcessPeer::PRO_WIDTH => 26, ProcessPeer::PRO_TITLE_X => 27, ProcessPeer::PRO_TITLE_Y => 28, ProcessPeer::PRO_DEBUG => 29, ProcessPeer::PRO_DYNAFORMS => 30, ProcessPeer::PRO_DERIVATION_SCREEN_TPL => 31, ProcessPeer::PRO_COST => 32, ProcessPeer::PRO_UNIT_COST => 33, ), - BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'PRO_PARENT' => 1, 'PRO_TIME' => 2, 'PRO_TIMEUNIT' => 3, 'PRO_STATUS' => 4, 'PRO_TYPE_DAY' => 5, 'PRO_TYPE' => 6, 'PRO_ASSIGNMENT' => 7, 'PRO_SHOW_MAP' => 8, 'PRO_SHOW_MESSAGE' => 9, 'PRO_SUBPROCESS' => 10, 'PRO_TRI_DELETED' => 11, 'PRO_TRI_CANCELED' => 12, 'PRO_TRI_PAUSED' => 13, 'PRO_TRI_REASSIGNED' => 14, 'PRO_TRI_UNPAUSED' => 15, 'PRO_TYPE_PROCESS' => 16, 'PRO_SHOW_DELEGATE' => 17, 'PRO_SHOW_DYNAFORM' => 18, 'PRO_CATEGORY' => 19, 'PRO_SUB_CATEGORY' => 20, 'PRO_INDUSTRY' => 21, 'PRO_UPDATE_DATE' => 22, 'PRO_CREATE_DATE' => 23, 'PRO_CREATE_USER' => 24, 'PRO_HEIGHT' => 25, 'PRO_WIDTH' => 26, 'PRO_TITLE_X' => 27, 'PRO_TITLE_Y' => 28, 'PRO_DEBUG' => 29, 'PRO_DYNAFORMS' => 30, 'PRO_DERIVATION_SCREEN_TPL' => 31, 'PRO_COST' => 32, 'PRO_UNIT_COST' => 33, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, ) + BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'ProParent' => 1, 'ProTime' => 2, 'ProTimeunit' => 3, 'ProStatus' => 4, 'ProTypeDay' => 5, 'ProType' => 6, 'ProAssignment' => 7, 'ProShowMap' => 8, 'ProShowMessage' => 9, 'ProSubprocess' => 10, 'ProTriOpen' => 11, 'ProTriDeleted' => 12, 'ProTriCanceled' => 13, 'ProTriPaused' => 14, 'ProTriReassigned' => 15, 'ProTriUnpaused' => 16, 'ProTypeProcess' => 17, 'ProShowDelegate' => 18, 'ProShowDynaform' => 19, 'ProCategory' => 20, 'ProSubCategory' => 21, 'ProIndustry' => 22, 'ProUpdateDate' => 23, 'ProCreateDate' => 24, 'ProCreateUser' => 25, 'ProHeight' => 26, 'ProWidth' => 27, 'ProTitleX' => 28, 'ProTitleY' => 29, 'ProDebug' => 30, 'ProDynaforms' => 31, 'ProDerivationScreenTpl' => 32, 'ProCost' => 33, 'ProUnitCost' => 34, ), + BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID => 0, ProcessPeer::PRO_PARENT => 1, ProcessPeer::PRO_TIME => 2, ProcessPeer::PRO_TIMEUNIT => 3, ProcessPeer::PRO_STATUS => 4, ProcessPeer::PRO_TYPE_DAY => 5, ProcessPeer::PRO_TYPE => 6, ProcessPeer::PRO_ASSIGNMENT => 7, ProcessPeer::PRO_SHOW_MAP => 8, ProcessPeer::PRO_SHOW_MESSAGE => 9, ProcessPeer::PRO_SUBPROCESS => 10, ProcessPeer::PRO_TRI_OPEN => 11, ProcessPeer::PRO_TRI_DELETED => 12, ProcessPeer::PRO_TRI_CANCELED => 13, ProcessPeer::PRO_TRI_PAUSED => 14, ProcessPeer::PRO_TRI_REASSIGNED => 15, ProcessPeer::PRO_TRI_UNPAUSED => 16, ProcessPeer::PRO_TYPE_PROCESS => 17, ProcessPeer::PRO_SHOW_DELEGATE => 18, ProcessPeer::PRO_SHOW_DYNAFORM => 19, ProcessPeer::PRO_CATEGORY => 20, ProcessPeer::PRO_SUB_CATEGORY => 21, ProcessPeer::PRO_INDUSTRY => 22, ProcessPeer::PRO_UPDATE_DATE => 23, ProcessPeer::PRO_CREATE_DATE => 24, ProcessPeer::PRO_CREATE_USER => 25, ProcessPeer::PRO_HEIGHT => 26, ProcessPeer::PRO_WIDTH => 27, ProcessPeer::PRO_TITLE_X => 28, ProcessPeer::PRO_TITLE_Y => 29, ProcessPeer::PRO_DEBUG => 30, ProcessPeer::PRO_DYNAFORMS => 31, ProcessPeer::PRO_DERIVATION_SCREEN_TPL => 32, ProcessPeer::PRO_COST => 33, ProcessPeer::PRO_UNIT_COST => 34, ), + BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'PRO_PARENT' => 1, 'PRO_TIME' => 2, 'PRO_TIMEUNIT' => 3, 'PRO_STATUS' => 4, 'PRO_TYPE_DAY' => 5, 'PRO_TYPE' => 6, 'PRO_ASSIGNMENT' => 7, 'PRO_SHOW_MAP' => 8, 'PRO_SHOW_MESSAGE' => 9, 'PRO_SUBPROCESS' => 10, 'PRO_TRI_OPEN' => 11, 'PRO_TRI_DELETED' => 12, 'PRO_TRI_CANCELED' => 13, 'PRO_TRI_PAUSED' => 14, 'PRO_TRI_REASSIGNED' => 15, 'PRO_TRI_UNPAUSED' => 16, 'PRO_TYPE_PROCESS' => 17, 'PRO_SHOW_DELEGATE' => 18, 'PRO_SHOW_DYNAFORM' => 19, 'PRO_CATEGORY' => 20, 'PRO_SUB_CATEGORY' => 21, 'PRO_INDUSTRY' => 22, 'PRO_UPDATE_DATE' => 23, 'PRO_CREATE_DATE' => 24, 'PRO_CREATE_USER' => 25, 'PRO_HEIGHT' => 26, 'PRO_WIDTH' => 27, 'PRO_TITLE_X' => 28, 'PRO_TITLE_Y' => 29, 'PRO_DEBUG' => 30, 'PRO_DYNAFORMS' => 31, 'PRO_DERIVATION_SCREEN_TPL' => 32, 'PRO_COST' => 33, 'PRO_UNIT_COST' => 34, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, ) ); /** @@ -283,6 +286,8 @@ abstract class BaseProcessPeer $criteria->addSelectColumn(ProcessPeer::PRO_SUBPROCESS); + $criteria->addSelectColumn(ProcessPeer::PRO_TRI_OPEN); + $criteria->addSelectColumn(ProcessPeer::PRO_TRI_DELETED); $criteria->addSelectColumn(ProcessPeer::PRO_TRI_CANCELED);