From 204c8db60c24db98f5cfc8fe4a95de6993513a5b Mon Sep 17 00:00:00 2001
From: JediKev <kevin@enhancesoft.com>
Date: Thu, 14 Jun 2018 13:28:08 -0500
Subject: [PATCH] Feature :: Manage Referrals Role Permission

This feature adds a new Role permission called Manage Referrals. This
permission allows Agents to Manage Ticket Referrals. This permission
is configurable for each and every Role in the helpdesk.
---
 include/class.ticket.php          | 6 ++++++
 include/i18n/en_US/role.yaml      | 3 +++
 include/staff/ticket-view.inc.php | 2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/class.ticket.php b/include/class.ticket.php
index 5078b566e..92a7adf2a 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -99,6 +99,7 @@ implements RestrictedAccess, Threadable, Searchable {
     const PERM_EDIT     = 'ticket.edit';
     const PERM_ASSIGN   = 'ticket.assign';
     const PERM_TRANSFER = 'ticket.transfer';
+    const PERM_REFER    = 'ticket.refer';
     const PERM_REPLY    = 'ticket.reply';
     const PERM_CLOSE    = 'ticket.close';
     const PERM_DELETE   = 'ticket.delete';
@@ -124,6 +125,11 @@ implements RestrictedAccess, Threadable, Searchable {
                 /* @trans */ 'Transfer',
                 'desc'  =>
                 /* @trans */ 'Ability to transfer tickets between departments'),
+            self::PERM_REFER => array(
+                'title' =>
+                /* @trans */ 'Refer',
+                'desc'  =>
+                /* @trans */ 'Ability to manage ticket referrals'),
             self::PERM_REPLY => array(
                 'title' =>
                 /* @trans */ 'Post Reply',
diff --git a/include/i18n/en_US/role.yaml b/include/i18n/en_US/role.yaml
index ca76b2650..f1fbf8409 100644
--- a/include/i18n/en_US/role.yaml
+++ b/include/i18n/en_US/role.yaml
@@ -21,6 +21,7 @@
     ticket.edit,
     ticket.assign,
     ticket.transfer,
+    ticket.refer,
     ticket.reply,
     ticket.close,
     ticket.delete,
@@ -45,6 +46,7 @@
     ticket.edit,
     ticket.assign,
     ticket.transfer,
+    ticket.refer,
     ticket.reply,
     ticket.close,
     task.create,
@@ -65,6 +67,7 @@
     ticket.create,
     ticket.assign,
     ticket.transfer,
+    ticket.refer,
     ticket.reply
     task.create,
     task.assign,
diff --git a/include/staff/ticket-view.inc.php b/include/staff/ticket-view.inc.php
index 21d5646e9..87c2899d7 100644
--- a/include/staff/ticket-view.inc.php
+++ b/include/staff/ticket-view.inc.php
@@ -172,7 +172,7 @@ if($ticket->isOverdue())
                 } ?>
 
                 <?php
-                if ($role->hasPerm(Ticket::PERM_TRANSFER)) { ?>
+                if ($role->hasPerm(Ticket::PERM_REFER)) { ?>
                 <li><a href="#tickets/<?php echo $ticket->getId();
                     ?>/referrals" class="ticket-action"
                      data-redirect="tickets.php?id=<?php echo $ticket->getId(); ?>" >
-- 
GitLab