Skip to content
Snippets Groups Projects
Commit 7cc6dc23 authored by Peter Rotich's avatar Peter Rotich
Browse files

Department Membership

Add ability get sorted department members. Extended members are sorted, annotated
and cached.
parent 62854f64
Branches
Tags
No related merge requests found
......@@ -51,6 +51,9 @@ implements TemplateVariable {
);
var $_members;
var $_primary_members;
var $_extended_members;
var $_groupids;
var $config;
......@@ -197,6 +200,42 @@ implements TemplateVariable {
return $this->getMembers(array('available'=>1));
}
function getPrimaryMembers() {
if (!isset($this->_primary_members)) {
$members = clone $this->getMembers();
$members->filter(array('dept_id' =>$this->getId()));
$members = Staff::nsort($members);
$this->_primary_members = $members->all()->asArray();
}
return $this->_primary_members;
}
function getExtendedMembers() {
if (!isset($this->_exended_members)) {
// We need a query set so we can sort the names
$members = StaffDeptAccess::objects();
$members->filter(array('dept_id' => $this->getId()));
$members = Staff::nsort($members, 'staff__');
$extended = array();
foreach($members->all()->asArray() as $member) {
if (!$member->staff) continue;
// Annoted the staff model with alerts and role
$extended[] = new AnnotatedModel($member->staff, array(
'alerts' => $member->isAlertsEnabled(),
'role_id' => $member->role_id,
)
);
}
$this->_extended_members = $extended;
}
return $this->_extended_members;
}
// Get members eligible members only
function getAssignees() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment