var draggable = ui.draggable;
var droppable = $(this);
- draggable.effect( "transfer", { to: droppable }, 1000 );
+ draggable.effect( "transfer", { to: droppable }, 420 );
% #tell the backend to reschedule it
var url = "<% popurl(3) %>misc/xmlhttp-ticket-update.html?" +
% #remove their droppable
$('#'+n_td_id).droppable('destroy');
if ( d == 0 ) {
- $('#'+n_td_id).text(label);
+ var title =
+ label +
+ ' <A HREF="<%$RT::WebPath%>/Ticket/Display.html?id=' + ticketid + '" target="_blank">view</A> ' +
+ <% include('/elements/popup_link.html',
+ action=>$RT::WebPath.'/Ticket/ModifyCustomFieldsPopup.html?id=__MAGIC_TICKET_ID__',
+ label =>'edit',
+ actionlabel => 'Edit appointment',
+ height => 436, # better: A + B * (num_custom_fields)
+ ) |n,js_string
+ %>;
+ title = title.replace( /__MAGIC_TICKET_ID__/, ticketid );
+ $('#'+n_td_id).html( title );
% #(and make the top draggable, so we could do it all over again)
$('#'+n_td_id).draggable({
containment: '.titlebox-content',
<& /Search/Calendar.html,
@_,
Query => "( Status = 'new' OR Status = 'open' OR Status = 'stalled')
- AND ( Type = 'reminder' OR 'Type' = 'ticket' )",
- #XXX and we have the magic custom field
+ AND ( Type = 'reminder' OR 'Type' = 'ticket' )
+ AND Queue = $queueid ",
slots => scalar(@usernames),
Embed => 'Schedule.html',
DimPast => 1,
#oops, more freeside abstraction-leaking
custnum => $ARGS{custnum},
pkgnum => $ARGS{pkgnum},
+ RedirectToBasics => $ARGS{RedirectToBasics},
],
&>
</%ONCE>
<%init>
+#abstraction-leaking
+my $conf = new FS::Conf;
+my $queueid = $conf->config('ticket_system-appointment-queueid')
+ or die "ticket_system-appointment-queueid configuration not set";
+
my @files = ();
#if ( ! $initialized ) {
push @files, map "overlibmws$_", ( '', qw( _iframe _draggable _crossframe ) );