diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index b9a624610..98445fc75 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -4631,16 +4631,26 @@ class Cases //permissions per user $oCriteria = new Criteria('workflow'); $oCriteria->add( - $oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, $USR_UID)-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, '')) + $oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, $USR_UID)->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, '')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::USR_UID, '0') + ) + ) ); $oCriteria->add(ObjectPermissionPeer::PRO_UID, $PRO_UID); $oCriteria->add(ObjectPermissionPeer::OP_ACTION, $ACTION); $oCriteria->add( - $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, $TAS_UID)-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, ''))-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL'))) + $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, $TAS_UID)->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '0') + ) + )->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '0') + ) + ) + ) ); $rs = ObjectPermissionPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); @@ -4665,10 +4675,17 @@ class Cases $oCriteria->add(ObjectPermissionPeer::PRO_UID, $PRO_UID); $oCriteria->add(ObjectPermissionPeer::OP_ACTION, $ACTION); $oCriteria->add( - $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, $TAS_UID)-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, ''))-> - addOr($oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL'))) + $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, $TAS_UID)->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '0') + ) + )->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '')->addOr( + $oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '0') + ) + ) + ) ); $rs = ObjectPermissionPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); @@ -4690,7 +4707,7 @@ class Cases // here!,. we should verify $PARTICIPATE $sw_participate = false; // must be false for default - if (($row['OP_CASE_STATUS'] != 'COMPLETED') && ($row['OP_CASE_STATUS'] != '')) { + if (($row['OP_CASE_STATUS'] != 'COMPLETED') && ($row['OP_CASE_STATUS'] != '') && ($row['OP_CASE_STATUS'] != '0')) { if ($PARTICIPATE == 1) { $oCriteriax = new Criteria('workflow'); $oCriteriax->add(AppDelegationPeer::USR_UID, $USR_UID); @@ -4772,7 +4789,7 @@ class Cases $oCriteria->add(StepPeer::TAS_UID, $TASK_SOURCE); } } - if ($O_UID != '') { + if ($O_UID != '' && $O_UID != '0') { $oCriteria->add(DynaformPeer::DYN_UID, $O_UID); } $oCriteria->addJoin(ApplicationPeer::PRO_UID, StepPeer::PRO_UID); @@ -4809,7 +4826,7 @@ class Cases $oCriteria->add(AppDelegationPeer::TAS_UID, $TASK_SOURCE); } } - if ($O_UID != '') { + if ($O_UID != '' && $O_UID != '0') { $oCriteria->add(AppDocumentPeer::DOC_UID, $O_UID); } if ($obj_type == 'INPUT') { diff --git a/workflow/engine/classes/class.groups.php b/workflow/engine/classes/class.groups.php index a942e90f1..e6f5fdb8e 100755 --- a/workflow/engine/classes/class.groups.php +++ b/workflow/engine/classes/class.groups.php @@ -224,6 +224,7 @@ class Groups $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID); $oCriteria->addSelectColumn(GroupwfPeer::GRP_STATUS); + $oCriteria->addSelectColumn(GroupwfPeer::GRP_LDAP_DN); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE); $oCriteria->addJoin(GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN); $oCriteria->addJoin(GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN); diff --git a/workflow/engine/classes/model/AppHistory.php b/workflow/engine/classes/model/AppHistory.php index 672c80c1b..c363b19df 100755 --- a/workflow/engine/classes/model/AppHistory.php +++ b/workflow/engine/classes/model/AppHistory.php @@ -6,11 +6,11 @@ require_once 'classes/model/om/BaseAppHistory.php'; - + /** * Skeleton subclass for representing a row from the 'APP_HISTORY' table. * - * + * * * You should add additional methods to this class to meet the * application requirements. This class will only be generated as @@ -19,7 +19,7 @@ require_once 'classes/model/om/BaseAppHistory.php'; * @package workflow.engine.classes.model */ class AppHistory extends BaseAppHistory { - + function insertHistory($aData){ $this->setAppUid($aData['APP_UID']); @@ -27,14 +27,14 @@ class AppHistory extends BaseAppHistory { $this->setProUid($aData['PRO_UID']); $this->setTasUid($aData['TAS_UID']); $this->setDynUid($aData['CURRENT_DYNAFORM']); - $this->setUsrUid($aData['USER_UID']); + $this->setUsrUid($aData['USER_UID']); $this->setAppStatus($aData['APP_STATUS']); $this->setHistoryDate($aData['APP_UPDATE_DATE']); $this->setHistoryData($aData['APP_DATA']); - - + + if ($this->validate() ) { - $res = $this->save(); + $res = $this->save(); } else { // Something went wrong. We can now get the validationFailures and handle them. @@ -46,21 +46,21 @@ class AppHistory extends BaseAppHistory { krumo($msg); //return array ( 'codError' => -100, 'rowsAffected' => 0, 'message' => $msg ); } - - - - - + + + + + } - + function getDynaformHistory($PRO_UID,$TAS_UID,$APP_UID,$DYN_UID=""){ G::LoadClass('case'); $oCase = new Cases(); - + $oCase->verifyTable(); - + $aObjectPermissions = $oCase->getAllObjects($PRO_UID, $APP_UID, $TAS_UID, $_SESSION['USER_LOGGED']); - + if (!is_array($aObjectPermissions)) { $aObjectPermissions = array('DYNAFORMS' => array(-1), 'INPUT_DOCUMENTS' => array(-1), 'OUTPUT_DOCUMENTS' => array(-1)); } @@ -88,13 +88,13 @@ class AppHistory extends BaseAppHistory { $aObjectPermissions['OUTPUT_DOCUMENTS'] = array(-1); } } - - - - - - $c = new Criteria('workflow'); - $c->addSelectColumn(AppHistoryPeer::APP_UID); + + + + + + $c = new Criteria('workflow'); + $c->addSelectColumn(AppHistoryPeer::APP_UID); $c->addSelectColumn(AppHistoryPeer::DEL_INDEX); $c->addSelectColumn(AppHistoryPeer::PRO_UID); $c->addSelectColumn(AppHistoryPeer::TAS_UID); @@ -104,37 +104,36 @@ class AppHistory extends BaseAppHistory { $c->addSelectColumn(AppHistoryPeer::HISTORY_DATE); $c->addSelectColumn(AppHistoryPeer::HISTORY_DATA); $c->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $c->addSelectColumn(UsersPeer::USR_LASTNAME); + $c->addSelectColumn(UsersPeer::USR_LASTNAME); $c->addAsColumn('USR_NAME', "CONCAT(USR_LASTNAME, ' ', USR_FIRSTNAME)"); $c->addJoin(AppHistoryPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); - - + + //WHERE $c->add(AppHistoryPeer::DYN_UID, $aObjectPermissions['DYNAFORMS'], Criteria::IN); $c->add(AppHistoryPeer::PRO_UID, $PRO_UID); - $c->add(AppHistoryPeer::TAS_UID, $TAS_UID); $c->add(AppHistoryPeer::APP_UID, $APP_UID); if((isset($DYN_UID))&&($DYN_UID!="")){ $c->add(AppHistoryPeer::DYN_UID, $DYN_UID); } - + //ORDER BY $c->clearOrderByColumns(); $c->addDescendingOrderByColumn(AppHistoryPeer::HISTORY_DATE); - - + + //Execute $oDataset = AppHistoryPeer::doSelectRS($c); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); - + $aDynHistory = array(); $aDynHistory[] = array( 'DYN_TITLE' => 'char' ); - + while ($aRow = $oDataset->getRow()) { - + $o = new Dynaform(); $o->setDynUid($aRow['DYN_UID']); $aRow['DYN_TITLE'] = $o->getDynTitle(); @@ -149,12 +148,12 @@ class AppHistory extends BaseAppHistory { $html.="
| $key1 | "; $html.=""; @@ -171,24 +170,24 @@ class AppHistory extends BaseAppHistory { } $html.=" | "; $html.="