diff --git a/include/class.staff.php b/include/class.staff.php index 0deedfefc4568e579f211d098f07899ec8991822..2618730bcb985800fb3a46766af83738232e089c 100644 --- a/include/class.staff.php +++ b/include/class.staff.php @@ -597,6 +597,10 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable { $visibility = Q::any(new Q(array('status__state'=>'open', $assigned))); + // -- If access is limited to assigned only, return assigned + if ($this->isAccessLimited()) + return $visibility; + // -- Routed to a department of mine if (($depts=$this->getDepts()) && count($depts)) { $visibility->add(array('dept_id__in' => $depts)); diff --git a/include/class.ticket.php b/include/class.ticket.php index d50bba7f1ed8a89d27206f7c0c9eb80581823cdc..895aa16d5b9fc0ea7ff594441da0c10b03f57b6a 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -261,7 +261,6 @@ implements RestrictedAccess, Threadable, Searchable { } function isAssigned($to=null) { - if (!$this->isOpen()) return false; @@ -308,8 +307,6 @@ implements RestrictedAccess, Threadable, Searchable { // check department access first if (!$staff->canAccessDept($this->getDept()) - // no restrictions - && !$staff->isAccessLimited() // check assignment && !$this->isAssigned($staff) // check referral