diff --git a/workflow/engine/classes/class.pmDashlet.php b/workflow/engine/classes/class.pmDashlet.php index db0b725fe..988714c4a 100644 --- a/workflow/engine/classes/class.pmDashlet.php +++ b/workflow/engine/classes/class.pmDashlet.php @@ -108,13 +108,17 @@ class PMDashlet extends DashletInstance implements DashletInterface { public function getDashletsInstancesForUser($userUid) { try { // Include required classes - // + require_once 'classes/mode/Department.php' // Check for "public" dashlets // ToDo: Next release // Check for the direct assignments // ToDo: Next release // Check for department assigments - // + $departmentInstance = new Department(); + $departments = $departmentInstance->getDepartmentsForUser($userUid); + foreach ($departments as $department) { + // + } // Check for group assignments // ToDo: Next release // Check for role assigments diff --git a/workflow/engine/classes/model/Department.php b/workflow/engine/classes/model/Department.php index 1501fc72a..a87b4c89d 100755 --- a/workflow/engine/classes/model/Department.php +++ b/workflow/engine/classes/model/Department.php @@ -591,4 +591,27 @@ function getDepartments( $DepParent ) { return $aRows; } + function getDepartmentsForUser($userUid) { + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(DepartmentPeer::DEP_UID); + $criteria->addAsColumn('DEP_TITLE', 'C.CON_VALUE'); + $criteria->addAlias('C', 'CONTENT'); + $criteria->add(DepartmentPeer::USR_UID, $userUid); + $delimiter = DBAdapter::getStringDelimiter(); + $conditions = array(); + $conditions [] = array(DepartmentPeer::DEP_UID, 'C.CON_ID'); + $conditions [] = array('C.CON_CATEGORY', $delimiter . 'DEPO_TITLE' . $delimiter); + $conditions [] = array('C.CON_LANG', $delimiter . SYS_LANG . $delimiter); + $criteria->addJoinMC($conditions, Criteria::LEFT_JOIN); + $dataset = DepartmentPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); + $departments = array(); + while ($row = $dataset->getRow()) { + $departments[] = $row; + $dataset->next(); + } + return $departments; + } + } // Department