diff --git a/include/staff/ticket-view.inc.php b/include/staff/ticket-view.inc.php index 9568dbf656c5513a28980f101ee35089368643f3..fc636f515dee5388adaa6ee20d554137238f3b0a 100644 --- a/include/staff/ticket-view.inc.php +++ b/include/staff/ticket-view.inc.php @@ -54,7 +54,7 @@ if($ticket->isOverdue()) <?php } ?> <?php if($thisstaff->canDeleteTickets()) { ?> - <a id="ticket-delete" class="action-button" href="#delete"><i class="icon-trash"></i> Delete</a> + <a id="ticket-delete" class="action-button confirm-action" href="#delete"><i class="icon-trash"></i> Delete</a> <?php } ?> <?php if($thisstaff->canCloseTickets()) { @@ -74,7 +74,7 @@ if($ticket->isOverdue()) } ?> <?php if($ticket->isOpen() && !$ticket->isAssigned() && $thisstaff->canAssignTickets()) {?> - <a id="ticket-claim" class="action-button" href="#claim"><i class="icon-user"></i> Claim</a> + <a id="ticket-claim" class="action-button confirm-action" href="#claim"><i class="icon-user"></i> Claim</a> <?php }?> @@ -91,30 +91,32 @@ if($ticket->isOverdue()) if($ticket->isOpen() && ($dept && $dept->isManager($thisstaff))) { if($ticket->isAssigned()) { ?> - <li><a id="ticket-release" href="#release"><i class="icon-user"></i> Release (unassign) Ticket</a></li> + <li><a class="confirm-action" id="ticket-release" href="#release"><i class="icon-user"></i> Release (unassign) Ticket</a></li> <?php } if(!$ticket->isOverdue()) { ?> - <li><a id="ticket-overdue" href="#overdue"><i class="icon-bell"></i> Mark as Overdue</a></li> + <li><a class="confirm-action" id="ticket-overdue" href="#overdue"><i class="icon-bell"></i> Mark as Overdue</a></li> <?php } if($ticket->isAnswered()) { ?> - <li><a id="ticket-unanswered" href="#unanswered"><i class="icon-circle-arrow-left"></i> Mark as Unanswered</a></li> + <li><a class="confirm-action" id="ticket-unanswered" href="#unanswered"><i class="icon-circle-arrow-left"></i> Mark as Unanswered</a></li> <?php } else { ?> - <li><a id="ticket-answered" href="#answered"><i class="icon-circle-arrow-right"></i> Mark as Answered</a></li> + <li><a class="confirm-action" id="ticket-answered" href="#answered"><i class="icon-circle-arrow-right"></i> Mark as Answered</a></li> <?php } } if($thisstaff->canBanEmails()) { if(!$emailBanned) {?> - <li><a id="ticket-banemail" href="#banemail"><i class="icon-ban-circle"></i> Ban Email (<?php echo $ticket->getEmail(); ?>)</a></li> + <li><a class="confirm-action" id="ticket-banemail" + href="#banemail"><i class="icon-ban-circle"></i> Ban Email (<?php echo $ticket->getEmail(); ?>)</a></li> <?php } elseif($unbannable) { ?> - <li><a id="ticket-banemail" href="#unbanemail"><i class="icon-undo"></i> Unban Email (<?php echo $ticket->getEmail(); ?>)</a></li> + <li><a class="confirm-action" id="ticket-banemail" + href="#unbanemail"><i class="icon-undo"></i> Unban Email (<?php echo $ticket->getEmail(); ?>)</a></li> <?php } }?> diff --git a/scp/js/scp.js b/scp/js/scp.js index d067b05d581cf153bf0a958d1c91a02897c0a8b9..92100b60d405713e44eb0c1cc73abdc7fbc457e9 100644 --- a/scp/js/scp.js +++ b/scp/js/scp.js @@ -103,6 +103,24 @@ $(document).ready(function(){ return false; }); + $('a.confirm-action').click(function(e) { + $dialog = $('.dialog#confirm-action'); + if ($($(this).attr('href')+'-confirm', $dialog).length) { + e.preventDefault(); + var action = $(this).attr('href').substr(1, $(this).attr('href').length); + + $('input#action', $dialog).val(action); + $('#overlay').show(); + $('.confirm-action', $dialog).hide(); + $('p'+$(this).attr('href')+'-confirm', $dialog) + .show() + .parent('div').show().trigger('click'); + + return false; + } + }); + + if($.browser.msie) { $('.inactive').mouseenter(function() { var elem = $(this); diff --git a/scp/js/ticket.js b/scp/js/ticket.js index 357031c9e00f4dd506c1d93346f7c0bea3e901df..7199d0829ef136a746413894d3584d3ad66234f1 100644 --- a/scp/js/ticket.js +++ b/scp/js/ticket.js @@ -336,7 +336,7 @@ jQuery(function($) { return false; }); - //ticket status (close & reopen) + //ticket status (close & reopen) xxx: move to backend ticket-action $('a#ticket-close, a#ticket-reopen').click(function(e) { e.preventDefault(); $('#overlay').show(); @@ -344,25 +344,6 @@ jQuery(function($) { return false; }); - //ticket actions confirmation - Delete + more - $('a#ticket-delete, a#ticket-claim, #action-dropdown-more li a:not(.change-user)').click(function(e) { - e.preventDefault(); - if($('.dialog#confirm-action '+$(this).attr('href')+'-confirm').length) { - var action = $(this).attr('href').substr(1, $(this).attr('href').length); - $('.dialog#confirm-action #action').val(action); - $('#overlay').show(); - $('.dialog#confirm-action .confirm-action').hide(); - $('.dialog#confirm-action p'+$(this).attr('href')+'-confirm') - .show() - .parent('div').show().trigger('click'); - - } else { - alert('Unknown action '+$(this).attr('href')+'- get technical help.'); - } - - return false; - }); - $(document).on('change', 'form#reply select#emailreply', function(e) { var $cc = $('form#reply tbody#cc_sec'); if($(this).val() == 0)