From f493d9a5655cd4f951955e6d9aa7332774b01375 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@enhancesoft.com> Date: Tue, 26 Nov 2013 03:55:12 +0000 Subject: [PATCH] Use the new user modal dialog --- include/staff/ticket-view.inc.php | 67 ++++++++++++++++++------------- scp/css/scp.css | 5 +++ scp/js/scp.js | 3 +- scp/js/ticket.js | 2 +- 4 files changed, 46 insertions(+), 31 deletions(-) diff --git a/include/staff/ticket-view.inc.php b/include/staff/ticket-view.inc.php index 719d19f9e..38db1af32 100644 --- a/include/staff/ticket-view.inc.php +++ b/include/staff/ticket-view.inc.php @@ -67,28 +67,9 @@ if($ticket->isOverdue()) } ?> <?php if($thisstaff->canEditTickets()) { ?> - <a class="action-button" href="#" - onclick="javascript: - $.userLookup('ajax.php/tickets/<?php echo $ticket->getId(); ?>/change-user', - function(user) { - var cid = <?php echo $ticket->getOwnerId(); ?>; - if(cid!=user.id && $('.dialog#confirm-action #changeuser-confirm').length) { - $('#newuser').html(user.name +' <'+user.email+'>'); - $('.dialog#confirm-action #action').val('changeuser'); - $('#confirm-form').append('<input type=hidden name=user_id value='+user.id+' />'); - $('#overlay').show(); - $('.dialog#confirm-action .confirm-action').hide(); - $('.dialog#confirm-action p#changeuser-confirm') - .show() - .parent('div').show().trigger('click'); - } - }); - return false; - "><i class="icon-edit"></i> Change Owner</a> <a class="action-button" href="tickets.php?id=<?php echo $ticket->getId(); ?>&a=edit"><i class="icon-edit"></i> Edit</a> <?php } ?> - <?php if($ticket->isOpen() && !$ticket->isAssigned() && $thisstaff->canAssignTickets()) {?> <a id="ticket-claim" class="action-button" href="#claim"><i class="icon-user"></i> Claim</a> @@ -101,6 +82,10 @@ if($ticket->isOverdue()) <div id="action-dropdown-more" class="action-dropdown anchor-right"> <ul> <?php + if($thisstaff->canEditTickets()) { ?> + <li><a class="change-user" href="#tickets/<?php echo $ticket->getId(); ?>/change-user"><i class="icon-user"></i> Change Ticket Owner</a></li> + <?php + } if($ticket->isOpen() && ($dept && $dept->isManager($thisstaff))) { if($ticket->isAssigned()) { ?> @@ -162,12 +147,15 @@ if($ticket->isOverdue()) <table border="0" cellspacing="" cellpadding="4" width="100%"> <tr> <th width="100">Client:</th> - <td><a href="ajax.php/form/user-info/<?php - echo $ticket->getOwnerId(); ?>" + <td><a href="#tickets/<?php echo $ticket->getId(); ?>/user" onclick="javascript: - $('#overlay').show(); - $('#user-info .body').load(this.href); - $('#user-info').show(); + $.userLookup('ajax.php/tickets/<?php echo $ticket->getId(); ?>/user', + function (user) { + $('#user-'+user.id+'-name').text(user.name); + $('#user-'+user.id+'-email').text(user.email); + $('#user-to-name').text(user.name); + $('#user-to-email').text(user.email); + }); return false; "><i class="icon-user"></i> <span id="user-<?php echo $ticket->getOwnerId(); ?>-name" ><?php echo Format::htmlchars($ticket->getName()); @@ -198,7 +186,7 @@ if($ticket->isOverdue()) <tr> <th>Email:</th> <td> - <?php echo $ticket->getEmail(); ?> + <span id="user-<?php echo $ticket->getOwnerId(); ?>-email"><?php echo $ticket->getEmail(); ?></span> </td> </tr> <tr> @@ -423,10 +411,8 @@ $tcount+= $ticket->getNumNotes(); </td> <td> <?php - $to = $ticket->getReplyToEmail(); - if(($name=$ticket->getName()) && !strpos($name,'@')) - $to =sprintf('%s <em><%s></em>', $name, $to); - echo $to; + echo sprintf('<span id="user-to-name">%s</span> <em><<span id="user-to-email">%s</span>></em>', + $ticket->getName(), $ticket->getReplyToEmail()); ?> <label><input type='checkbox' value='1' name="emailreply" id="remailreply" @@ -926,3 +912,26 @@ $tcount+= $ticket->getNumNotes(); <div class="clear"></div> </div> <script type="text/javascript" src="js/ticket.js"></script> +<script type="text/javascript"> +$(function() { + $(document).on('click', 'a.change-user', function(e) { + e.preventDefault(); + var tid = <?php echo $ticket->getOwnerId(); ?>; + var cid = <?php echo $ticket->getOwnerId(); ?>; + var url = 'ajax.php/'+$(this).attr('href').substr(1); + $.userLookup(url, function(user) { + if(cid!=user.id + && $('.dialog#confirm-action #changeuser-confirm').length) { + $('#newuser').html(user.name +' <'+user.email+'>'); + $('.dialog#confirm-action #action').val('changeuser'); + $('#confirm-form').append('<input type=hidden name=user_id value='+user.id+' />'); + $('#overlay').show(); + $('.dialog#confirm-action .confirm-action').hide(); + $('.dialog#confirm-action p#changeuser-confirm') + .show() + .parent('div').show().trigger('click'); + } + }); + }); +}); +</script> diff --git a/scp/css/scp.css b/scp/css/scp.css index d99c0ecb4..43387a443 100644 --- a/scp/css/scp.css +++ b/scp/css/scp.css @@ -1277,6 +1277,11 @@ time { padding-right: 3em; } +.dialog a { + color:#184E81; +} + + .dialog a.close { position: absolute; display:inline-block; diff --git a/scp/js/scp.js b/scp/js/scp.js index 05b528a19..70700a4b4 100644 --- a/scp/js/scp.js +++ b/scp/js/scp.js @@ -404,7 +404,8 @@ $(document).ready(function(){ $('.dialog#popup .body').load(url, function () { $('#overlay').show(); $('.dialog#popup').show(); - $(document).on('submit', '.dialog#popup form.user',function(e) { + $(document).off('.user'); + $(document).on('submit.user', '.dialog#popup form.user',function(e) { e.preventDefault(); var $form = $(this); var $dialog = $form.closest('.dialog'); diff --git a/scp/js/ticket.js b/scp/js/ticket.js index 619becddf..c2110121a 100644 --- a/scp/js/ticket.js +++ b/scp/js/ticket.js @@ -345,7 +345,7 @@ jQuery(function($) { }); //ticket actions confirmation - Delete + more - $('a#ticket-delete, a#ticket-claim, #action-dropdown-more li a').click(function(e) { + $('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); -- GitLab