From 98c686e005036ef5b9abf052155e2ec1ecb25547 Mon Sep 17 00:00:00 2001 From: Fernando Ontiveros Date: Fri, 4 Feb 2011 20:38:49 +0000 Subject: [PATCH] small change in process list, and re-add the insert class removed previously by mistake --- workflow/engine/classes/class.insert.php | 104 ++++++++++++++++++++++ workflow/engine/classes/class.spool.php | 4 +- workflow/engine/classes/model/Process.php | 79 ++++++++++------ 3 files changed, 159 insertions(+), 28 deletions(-) create mode 100644 workflow/engine/classes/class.insert.php diff --git a/workflow/engine/classes/class.insert.php b/workflow/engine/classes/class.insert.php new file mode 100644 index 000000000..ca6641150 --- /dev/null +++ b/workflow/engine/classes/class.insert.php @@ -0,0 +1,104 @@ + + * @copyright Copyright (c) 2007, Ian K Armstrong + * @license http://www.opensource.org/licenses/gpl-3.0.html GNU Public License + * @link http://www.openmail.cc + * + * @category web_mail + * @subpackage send + * @filesource + * @version + * + * @file class.insert.php + * + */ + + require_once ( "classes/model/AppMessage.php" ); + +class insert +{ + private $db_spool; + private $status; + + /** + * construct of insert + * + * @param string $pPRO_UID + * @return void + */ + function __construct($db_spool=array()) + { + if(count($db_spool)>0) + $db_spool = $this->db_insert($db_spool); + + } + + /** + * returnStatus + * + * @return $this->status; + */ + public function returnStatus() + { + return $this->status; + + } + + /** + * db_insert + * + * @param array $db_spool + * @return string $sUID; + */ + public function db_insert($db_spool) + { + $sUID = G::generateUniqueID(); + $spool = new AppMessage(); + $spool->setAppMsgUid($sUID); + $spool->setMsgUid($db_spool['msg_uid']); + $spool->setAppUid($db_spool['app_uid']); + $spool->setDelIndex($db_spool['del_index']); + $spool->setAppMsgType($db_spool['app_msg_type']); + $spool->setAppMsgSubject($db_spool['app_msg_subject']); + $spool->setAppMsgFrom($db_spool['app_msg_from']); + $spool->setAppMsgTo($db_spool['app_msg_to']); + $spool->setAppMsgBody($db_spool['app_msg_body']); + $spool->setAppMsgDate(date('Y-m-d H:i:s')); + $spool->setAppMsgCc($db_spool['app_msg_cc']); + $spool->setAppMsgBcc($db_spool['app_msg_bcc']); + $spool->setappMsgAttach($db_spool['app_msg_attach']); + $spool->setAppMsgTemplate($db_spool['app_msg_template']); + $spool->setAppMsgStatus($db_spool['app_msg_status']); + + if(!$spool->validate()) { + $errors = $spool->getValidationFailures(); + $this->status = 'error'; + + foreach($errors as $key => $value) { + echo "Validation error - " . $value->getMessage($key) . "\n"; + } + } + else { + //echo "Saving - validation ok\n"; + $this->status = 'success'; + $spool->save(); + } + return $sUID; + + } + + + + +} // end of class + + + +?> diff --git a/workflow/engine/classes/class.spool.php b/workflow/engine/classes/class.spool.php index 8fafa19a0..f8790ccd2 100755 --- a/workflow/engine/classes/class.spool.php +++ b/workflow/engine/classes/class.spool.php @@ -1,7 +1,7 @@ addSelectColumn(ProcessPeer::PRO_UID); - $oCriteria->addSelectColumn(ProcessPeer::TABLE_NAME . '.*'); - $oCriteria->addSelectColumn(UsersPeer::TABLE_NAME . '.*'); - $oCriteria->addSelectColumn(ProcessCategoryPeer::TABLE_NAME . '.*'); + //$oCriteria->addSelectColumn(ProcessPeer::TABLE_NAME . '.*'); + $oCriteria->addSelectColumn(ProcessPeer::PRO_UID ); + $oCriteria->addSelectColumn(ProcessPeer::PRO_PARENT ); + $oCriteria->addSelectColumn(ProcessPeer::PRO_STATUS ); + $oCriteria->addSelectColumn(ProcessPeer::PRO_CATEGORY ); + //$oCriteria->addSelectColumn(ProcessPeer::PRO_SUB_CATEGORY); + $oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_DATE ); + $oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_USER ); + $oCriteria->addSelectColumn(ProcessPeer::PRO_DEBUG ); + + //$oCriteria->addSelectColumn(UsersPeer::TABLE_NAME . '.*'); + $oCriteria->addSelectColumn(UsersPeer::USR_UID ); + $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME ); + $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME ); + $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME ); + + //$oCriteria->addSelectColumn(ProcessCategoryPeer::TABLE_NAME . '.*'); + $oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_UID ); + $oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_NAME ); $oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL); + if( isset($category) ) + $oCriteria->add(ProcessPeer::PRO_CATEGORY, $category, Criteria::EQUAL); + $oCriteria->addJoin(ProcessPeer::PRO_CREATE_USER, UsersPeer::USR_UID, Criteria::LEFT_JOIN); $oCriteria->addJoin(ProcessPeer::PRO_CATEGORY, ProcessCategoryPeer::CATEGORY_UID, Criteria::LEFT_JOIN); $oCriteria->addDescendingOrderByColumn(ProcessPeer::PRO_CREATE_DATE); - if( isset($category) ) - $oCriteria->add(ProcessPeer::PRO_CATEGORY, $category, Criteria::EQUAL); /*if($start != '') $oCriteria->setOffset($start); if($limit != '') $oCriteria->setLimit($limit); */ - + + //execute a query to obtain numbers, how many cases there are by process + $casesCnt = $this->getCasesCountInAllProcesses(); + + //execute the query $this->tmpCriteria = $oCriteria; $oDataset = ProcessPeer::doSelectRS ( $oCriteria ); $oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC ); - $casesCnt = $this->getCasesCountInAllProcesses(); $processes = Array(); $uids=array(); while( $oDataset->next() ) { @@ -516,6 +534,10 @@ class Process extends BaseProcess { $uids[] = $processes[sizeof($processes)-1]['PRO_UID']; } + //process details will have the info about the processes + $processesDetails = Array(); + + //now get the labels for all process, using an array of Uids, $c = new Criteria('workflow'); //$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $c->add ( ContentPeer::CON_LANG, defined('SYS_LANG')?SYS_LANG:'en', Criteria::EQUAL ); @@ -524,10 +546,9 @@ class Process extends BaseProcess { $dt = ContentPeer::doSelectRS ($c); $dt->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $processesDetails = Array(); while( $dt->next() ) { $row = $dt->getRow(); - $processesDetails[$row['CON_ID']][$row['CON_CATEGORY']] = $row['CON_VALUE']; + $processesDetails[ $row['CON_ID']] [$row['CON_CATEGORY']] = $row['CON_VALUE']; } G::loadClass('configuration'); @@ -535,10 +556,10 @@ class Process extends BaseProcess { $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); foreach( $processes as $process ) { - - $proTitle = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_TITLE']) ? $processesDetails[$process['PRO_UID']]['PRO_TITLE']: ''; + $proTitle = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_TITLE']) ? $processesDetails[$process['PRO_UID']]['PRO_TITLE'] : ''; $proDescription = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION']) ? $processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION']: ''; + //filtering by $processName if( isset($processName) && $processName != '' && stripos($proTitle, $processName) === false){ continue; } @@ -550,17 +571,21 @@ class Process extends BaseProcess { } } + //get user format from configuration $userOwner = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: ''; $creationDateMask = isset($oConf->aConfig['dateFormat'])? $oConf->aConfig['dateFormat']: ''; if( $userOwner != '' ){ - $userOwner = str_replace('@userName', $process['USR_USERNAME'], $userOwner); + $userOwner = str_replace('@userName', $process['USR_USERNAME'], $userOwner); $userOwner = str_replace('@firstName', $process['USR_FIRSTNAME'], $userOwner); - $userOwner = str_replace('@lastName', $process['USR_LASTNAME'], $userOwner); - } else { + $userOwner = str_replace('@lastName', $process['USR_LASTNAME'], $userOwner); + if ( $userOwner == " ( )" ) $userOwner = '-'; + } + else { $userOwner = $process['USR_FIRSTNAME'].' '.$process['USR_LASTNAME']; } + //get date format from configuration if( $creationDateMask != '' ){ list($date, $time) = explode(' ', $process['PRO_CREATE_DATE']); list($y, $m, $d) = explode('-', $date); @@ -569,18 +594,20 @@ class Process extends BaseProcess { $process['PRO_CREATE_DATE'] = date($creationDateMask, mktime($h, $i, $s, $m, $d, $y)); } - - $process['PRO_CATEGORY_LABEL'] = trim($process['PRO_CATEGORY']) != ''? $process['CATEGORY_NAME']: G::LoadTranslation('ID_PROCESS_NO_CATEGORY'); - $process['PRO_TITLE'] = $proTitle; - $process['PRO_DESCRIPTION'] = $proDescription; - $process['PRO_DEBUG_LABEL'] = ($process['PRO_DEBUG']=="1")? G::LoadTranslation('ID_ON'): G::LoadTranslation('ID_OFF'); - $process['PRO_STATUS_LABEL'] = $process ['PRO_STATUS'] == 'ACTIVE'? G::LoadTranslation ('ID_ACTIVE'): G::LoadTranslation('ID_INACTIVE'); + $process['PRO_CATEGORY_LABEL'] = trim($process['PRO_CATEGORY']) != ''? $process['CATEGORY_NAME']: G::LoadTranslation('ID_PROCESS_NO_CATEGORY'); + $process['PRO_TITLE'] = $proTitle; + $process['PRO_DESCRIPTION'] = $proDescription; + $process['PRO_DEBUG_LABEL'] = ($process['PRO_DEBUG']=="1")? G::LoadTranslation('ID_ON'): G::LoadTranslation('ID_OFF'); + $process['PRO_STATUS_LABEL'] = $process ['PRO_STATUS'] == 'ACTIVE'? G::LoadTranslation ('ID_ACTIVE'): G::LoadTranslation('ID_INACTIVE'); $process['PRO_CREATE_USER_LABEL'] = $userOwner; - $process['CASES_COUNT_TO_DO'] = (isset($casesCnt[$process['PRO_UID']]['TO_DO'])? $casesCnt[$process['PRO_UID']]['TO_DO']: 0); + $process['CASES_COUNT_TO_DO'] = (isset($casesCnt[$process['PRO_UID']]['TO_DO'])? $casesCnt[$process['PRO_UID']]['TO_DO']: 0); $process['CASES_COUNT_COMPLETED'] = (isset($casesCnt[$process['PRO_UID']]['COMPLETED'])? $casesCnt[$process['PRO_UID']]['COMPLETED']: 0); - $process['CASES_COUNT_DRAFT'] = (isset($casesCnt[$process['PRO_UID']]['DRAFT'])? $casesCnt[$process['PRO_UID']]['DRAFT']: 0); + $process['CASES_COUNT_DRAFT'] = (isset($casesCnt[$process['PRO_UID']]['DRAFT'])? $casesCnt[$process['PRO_UID']]['DRAFT']: 0); $process['CASES_COUNT_CANCELLED'] = (isset($casesCnt[$process['PRO_UID']]['CANCELLED'])? $casesCnt[$process['PRO_UID']]['CANCELLED']: 0); - $process['CASES_COUNT'] = $casesCountTotal; + $process['CASES_COUNT'] = $casesCountTotal; + + unset( $process['PRO_CREATE_USER']); + unset( $process['PRO_DEBUG']); $aProcesses[] = $process; }