* Code for update user view.

This commit is contained in:
Yagami
2020-10-15 17:34:30 +08:00
parent 72008ca246
commit 0cbfddb802
2 changed files with 548 additions and 175 deletions
+58
View File
@@ -228,6 +228,64 @@ class stakeholderModel extends model
return $stakeholders;
}
/**
* Get self stakeholders by object id list.
*
* @param array $objectIdList
* @param string $objectType
* @access public
* @return array
*/
public function getStakeholderGroup($objectIdList)
{
$stakeholders = $this->dao->select('objectID, user')->from(TABLE_STAKEHOLDER)->where('objectID')->in($objectIdList)->fetchAll();
$stakeholderGroup = array();
foreach($stakeholders as $stakeholder)
{
$stakeholderGroup[$stakeholder->objectID][$stakeholder->user] = $stakeholder->user;
}
return $stakeholderGroup;
}
/**
* Get parent stakeholder group by object id list.
*
* @param array $objectIdList
* @param string $objectType
* @access public
* @return array
*/
public function getParentStakeholderGroup($objectIdList)
{
$objects = $this->dao->select('id, path, parent')->from(TABLE_PROJECT)->where('id')->in($objectIdList)->andWhere('acl')->ne('open')->fetchAll('id');
$parents = '';
foreach($objects as $object)
{
if($object->parent == 0) continue;
foreach(explode(',', $object->path) as $objectID)
{
if(empty($objectID)) continue;
if($objectID == $object->id) continue;
$parents[$objectID][] = $object->id;
}
}
/* Get all parent stakeholders.*/
$parentStakeholders = $this->dao->select('objectID, user')->from(TABLE_STAKEHOLDER)->where('objectID')->in(array_keys($parents))->fetchAll();
$parentStakeholderGroup = array();
foreach($parentStakeholders as $parentStakeholder)
{
$subPrograms = zget($parentPrograms, $parentStakeholder->objectID, array());
foreach($subPrograms as $subProgramID) $parentStakeholderGroup[$subProgramID][$parentStakeholder->user] = $parentStakeholder->user;
}
return $parentStakeholderGroup;
}
/**
* Get stakeholder group by type.
*