From b104f87e7e5e4dd812994a65de79e974d8d51cfa Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Fri, 11 Apr 2014 08:46:53 -0500 Subject: [PATCH] Always notify managers on new ticket --- include/class.ticket.php | 35 ++++++++++++------- .../i18n/en_US/help/tips/settings.alerts.yaml | 6 ++++ scp/css/scp.css | 12 ++++--- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/include/class.ticket.php b/include/class.ticket.php index 7852ec094..625ddb1cf 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -2383,11 +2383,18 @@ class Ticket { // Configure service-level-agreement for this ticket $ticket->selectSLAId($vars['slaId']); - //Auto assign staff or team - auto assignment based on filter rules. - if($vars['staffId'] && !$vars['assignId']) - $ticket->assignToStaff($vars['staffId'], 'Auto Assignment'); - if($vars['teamId'] && !$vars['assignId']) - $ticket->assignToTeam($vars['teamId'], 'Auto Assignment'); + // Assign ticket to staff or team (new ticket by staff) + if($vars['assignId']) { + $ticket->assign($vars['assignId'], $vars['note']); + } + else { + // Auto assign staff or team - auto assignment based on filter + // rules. Both team and staff can be assigned + if ($vars['staffId']) + $ticket->assignToStaff($vars['staffId'], 'Auto Assignment'); + if ($vars['teamId']) + $ticket->assignToTeam($vars['teamId'], 'Auto Assignment'); + } /********** double check auto-response ************/ //Override auto responder if the FROM email is one of the internal emails...loop control. @@ -2454,7 +2461,10 @@ class Ticket { $errors['name'] = 'Name required'; } - if(!($ticket=Ticket::create($vars, $errors, 'staff', false, (!$vars['assignId'])))) + if (!$thisstaff->canAssignTickets()) + unset($vars['assignId']); + + if(!($ticket=Ticket::create($vars, $errors, 'staff', false))) return false; $vars['msgId']=$ticket->getLastMsgId(); @@ -2475,13 +2485,14 @@ class Ticket { } } - //Post Internal note - if($vars['assignId'] && $thisstaff->canAssignTickets()) { //Assign ticket to staff or team. - $ticket->assign($vars['assignId'], $vars['note']); - } elseif($vars['note']) { //Not assigned...save optional note if any + // Not assigned...save optional note if any + if (!$vars['assignId'] && $vars['note']) { $ticket->logNote('New Ticket', $vars['note'], $thisstaff, false); - } else { //Not assignment and no internal note - log activity - $ticket->logActivity('New Ticket by Staff','Ticket created by staff -'.$thisstaff->getName()); + } + else { + // Not assignment and no internal note - log activity + $ticket->logActivity('New Ticket by Staff', + 'Ticket created by staff -'.$thisstaff->getName()); } $ticket->reload(); diff --git a/include/i18n/en_US/help/tips/settings.alerts.yaml b/include/i18n/en_US/help/tips/settings.alerts.yaml index 19fb979c9..c0532f1ac 100644 --- a/include/i18n/en_US/help/tips/settings.alerts.yaml +++ b/include/i18n/en_US/help/tips/settings.alerts.yaml @@ -16,8 +16,14 @@ new_ticket: title: New Ticket Alert content: > + <p> Alert sent out to staff members when new tickets are created in the system. + </p><p class="info-banner"> + <i class="icon-info-sign"></i> + Staff members (department members) are not + notified with this alert if the ticket is automatically assigned. + </p> links: - title: Default New Ticket Alert Template href: /scp/templates.php?default_for=ticket.alert diff --git a/scp/css/scp.css b/scp/css/scp.css index ea1a1ddde..db6935577 100644 --- a/scp/css/scp.css +++ b/scp/css/scp.css @@ -47,13 +47,17 @@ a { color: #555; } -#msg_info { margin: 0; padding: 5px; margin-bottom: 10px; color: #3a87ad; border: 1px solid #bce8f1; background-color: #d9edf7; } +#msg_info, +.info-banner { margin: 0; padding: 5px; margin-bottom: 10px; color: #3a87ad; border: 1px solid #bce8f1; background-color: #d9edf7; } -#msg_notice { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #0a0; background: url('../images/icons/ok.png') 10px 50% no-repeat #e0ffe0; } +#msg_notice, +.notice-banner { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #0a0; background: url('../images/icons/ok.png') 10px 50% no-repeat #e0ffe0; } -#msg_warning { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #f26522; background: url('../images/icons/alert.png') 10px 50% no-repeat #ffffdd; } +#msg_warning, +.warning-banner { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #f26522; background: url('../images/icons/alert.png') 10px 50% no-repeat #ffffdd; } -#msg_error { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #a00; background: url('../images/icons/error.png') 10px 50% no-repeat #fff0f0; } +#msg_error, +.error-banner { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #a00; background: url('../images/icons/error.png') 10px 50% no-repeat #fff0f0; } #notice_bar { margin: 0; padding: 5px 10px 5px 36px; height: 16px; line-height: 16px; border: 1px solid #0a0; background: url('../images/icons/ok.png') 10px 50% no-repeat #e0ffe0; } -- GitLab