Added "USER" and "GROUP" options for the assignment of the dashboards
This commit is contained in:
@@ -55,12 +55,24 @@ class PMDashlet extends DashletInstance implements DashletInterface {
|
||||
while ($row = $dataset->getRow()) {
|
||||
$row['DAS_INS_STATUS_LABEL'] = ($row['DAS_INS_STATUS'] == '1' ? G::LoadTranslation('ID_ACTIVE') : G::LoadTranslation('ID_INACTIVE'));
|
||||
switch ($row['DAS_INS_OWNER_TYPE']) {
|
||||
case 'USER':
|
||||
require_once 'classes/model/Users.php';
|
||||
$userInstance = new Users();
|
||||
$user = $userInstance->load($row['DAS_INS_OWNER_UID']);
|
||||
$row['DAS_INS_OWNER_TITLE'] = $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME'];
|
||||
break;
|
||||
case 'DEPARTMENT':
|
||||
require_once 'classes/model/Department.php';
|
||||
$departmentInstance = new Department();
|
||||
$department = $departmentInstance->load($row['DAS_INS_OWNER_UID']);
|
||||
$row['DAS_INS_OWNER_TITLE'] = $department['DEPO_TITLE'];
|
||||
break;
|
||||
case 'GROUP':
|
||||
require_once 'classes/model/Groupwf.php';
|
||||
$groupInstance = new Groupwf();
|
||||
$group = $groupInstance->load($row['DAS_INS_OWNER_UID']);
|
||||
$row['DAS_INS_OWNER_TITLE'] = $group['GRP_TITLE'];
|
||||
break;
|
||||
default:
|
||||
$row['DAS_INS_OWNER_TITLE'] = $row['DAS_INS_OWNER_TYPE'];
|
||||
break;
|
||||
@@ -125,11 +137,28 @@ class PMDashlet extends DashletInstance implements DashletInterface {
|
||||
// Check for "public" dashlets
|
||||
// ToDo: Next release
|
||||
// Check for the direct assignments
|
||||
// ToDo: Next release
|
||||
require_once 'classes/model/Users.php';
|
||||
$usersInstance = new Users();
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
|
||||
$criteria->addSelectColumn(DashletPeer::DAS_TITLE);
|
||||
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_CONTEXT_TIME);
|
||||
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'USER');
|
||||
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $userUid);
|
||||
$dataset = DashletInstancePeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$dataset->next();
|
||||
while ($row = $dataset->getRow()) {
|
||||
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
|
||||
$row['DAS_TITLE'] .= ' (' . $row['DAS_INS_CONTEXT_TIME'] . ')';
|
||||
$dashletsInstances[$row['DAS_INS_UID']] = $row;
|
||||
}
|
||||
$dataset->next();
|
||||
}
|
||||
// Check for department assigments
|
||||
$departmentInstance = new Department();
|
||||
$departments = $departmentInstance->getDepartmentsForUser($userUid);
|
||||
foreach ($departments as $depUid => $department) {
|
||||
foreach ($departments as $depUid => $department) {
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
|
||||
$criteria->addSelectColumn(DashletPeer::DAS_TITLE);
|
||||
@@ -148,7 +177,27 @@ class PMDashlet extends DashletInstance implements DashletInterface {
|
||||
}
|
||||
}
|
||||
// Check for group assignments
|
||||
// ToDo: Next release
|
||||
G::LoadClass('groups');
|
||||
$groupsInstance = new Groups();
|
||||
$groups = $groupsInstance->getGroupsForUser($userUid);
|
||||
foreach ($groups as $grpUid => $group) {
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
|
||||
$criteria->addSelectColumn(DashletPeer::DAS_TITLE);
|
||||
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_CONTEXT_TIME);
|
||||
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'GROUP');
|
||||
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $grpUid);
|
||||
$dataset = DashletInstancePeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$dataset->next();
|
||||
while ($row = $dataset->getRow()) {
|
||||
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
|
||||
$row['DAS_TITLE'] .= ' (' . $row['DAS_INS_CONTEXT_TIME'] . ')';
|
||||
$dashletsInstances[$row['DAS_INS_UID']] = $row;
|
||||
}
|
||||
$dataset->next();
|
||||
}
|
||||
}
|
||||
// Check for role assigments
|
||||
// ToDo: Next release
|
||||
// Check for permission assigments
|
||||
|
||||
Reference in New Issue
Block a user