diff --git a/include/class.staff.php b/include/class.staff.php index 3833c63533505f740f8ca1da3ed13d494e9fec96..c9aa07dac6c2b09169c9fddbcd1f832d66e791ad 100644 --- a/include/class.staff.php +++ b/include/class.staff.php @@ -91,6 +91,7 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable { 'datetime_format' => '', 'thread_view_order' => '', 'default_ticket_queue_id' => 0, + 'reply_redirect' => 'Ticket', )); $this->_config = $_config->getInfo(); } @@ -347,6 +348,10 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable { return $this->default_paper_size; } + function getReplyRedirect() { + return $this->reply_redirect; + } + function forcePasswdChange() { return $this->change_passwd; } @@ -744,6 +749,7 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable { 'default_from_name' => $vars['default_from_name'], 'thread_view_order' => $vars['thread_view_order'], 'default_ticket_queue_id' => $vars['default_ticket_queue_id'], + 'reply_redirect' => ($vars['reply_redirect'] == 'Queue') ? 'Queue' : 'Ticket', ) ); $this->_config = $_config->getInfo(); diff --git a/include/staff/profile.inc.php b/include/staff/profile.inc.php index 78bab30bf2c38abdd2638522e96cc6526fa6cae1..1acb99a263f6dd060bd834d5084f364ee7e80d49 100644 --- a/include/staff/profile.inc.php +++ b/include/staff/profile.inc.php @@ -300,6 +300,23 @@ if ($avatar->isChangeable()) { ?> <div class="error"><?php echo $errors['default_paper_size']; ?></div> </td> </tr> + <tr> + <td><?php echo __('Reply Redirect'); ?>: + <div class="faded"><?php echo __('Redirect URL used after replying to a ticket.');?></div> + </td> + <td> + <select name="reply_redirect"> + <?php + $options=array('Queue'=>__('Queue'),'Ticket'=>__('Ticket')); + foreach($options as $key=>$opt) { + echo sprintf('<option value="%s" %s>%s</option>', + $key,($staff->reply_redirect==$key)?'selected="selected"':'',$opt); + } + ?> + </select> + <div class="error"><?php echo $errors['reply_redirect']; ?></div> + </td> + </tr> </tbody> <tbody> <tr class="header"> diff --git a/scp/tickets.php b/scp/tickets.php index 8881874e897217bbea32e02ba8735e482ee937ab..27179c0befe768bcfbfea7654772b45d16b12b3e 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -214,7 +214,7 @@ if($_POST && !$errors): $ticket = null; $redirect = 'tickets.php'; - if ($ticket) + if ($ticket && $thisstaff->getReplyRedirect() == 'Ticket') $redirect = 'tickets.php?id='.$ticket->getId(); } elseif (!$errors['err']) {