diff --git a/include/class.organization.php b/include/class.organization.php index a68060d0f6721e2770e65f2975794bce798ae68b..9e11b212f6037623d1d17fbb12ab40771330624b 100644 --- a/include/class.organization.php +++ b/include/class.organization.php @@ -71,6 +71,10 @@ class OrganizationModel extends VerySimpleModel { return $this->check(self::COLLAB_ALL_MEMBERS); } + function autoAssignAccountManager() { + return $this->check(self::ASSIGN_AGENT_MANAGER); + } + function getUpdateDate() { return $this->updated; } diff --git a/include/class.ticket.php b/include/class.ticket.php index f0d4c770f251741bd386c28512599da2ed6aaa2b..bc4bd9745b5a5772d6163d7cf084d9b0df174dc3 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -2411,15 +2411,6 @@ class Ticket { $source = 'Email'; } - // Auto assignment to organization account manager - if (($org = $user->getOrganization()) - && ($code = $org->getAccountManagerId())) { - if (!isset($vars['staffId']) && $code[0] == 's') - $vars['staffId'] = substr($code, 1); - elseif (!isset($vars['teamId']) && $code[0] == 't') - $vars['teamId'] = substr($code, 1); - } - if (!isset($topic)) { // This may return NULL, no big deal $topic = $cfg->getDefaultTopic(); @@ -2448,6 +2439,16 @@ class Ticket { $vars['slaId'] = $topic->getSLAId(); } + // Auto assignment to organization account manager + if (($org = $user->getOrganization()) + && $org->autoAssignAccountManager() + && ($code = $org->getAccountManagerId())) { + if (!isset($vars['staffId']) && $code[0] == 's') + $vars['staffId'] = substr($code, 1); + elseif (!isset($vars['teamId']) && $code[0] == 't') + $vars['teamId'] = substr($code, 1); + } + // Last minute checks $priority = $form->getAnswer('priority'); if (!$priority || !$priority->getIdValue())