From 3ef62a0570055da710328937e7f65dbb2c027c62 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 12 Aug 2002 06:17:09 +0000 Subject: import rt 2.0.14 --- rt/webrt/SelfService/Display.html | 190 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100755 rt/webrt/SelfService/Display.html (limited to 'rt/webrt/SelfService/Display.html') diff --git a/rt/webrt/SelfService/Display.html b/rt/webrt/SelfService/Display.html new file mode 100755 index 000000000..2d44f148e --- /dev/null +++ b/rt/webrt/SelfService/Display.html @@ -0,0 +1,190 @@ +%# $Header: /home/cvs/cvsroot/freeside/rt/webrt/SelfService/Attic/Display.html,v 1.1 2002-08-12 06:17:09 ivan Exp $ +%# Copyright 1996-2001 Jesse Vincent + +<& /SelfService/Elements/Header, Title => 'Display ticket #'.$Ticket->id &> + + +<& /Elements/ListActions, actions => \@results &> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +% if ($Ticket->TimeWorked) { + + + + +% } + +% my $selects = $Ticket->QueueObj->KeywordSelects; +% while (my $select = $selects->Next) { + + + + + + + + +
+ Ticket Id + + <%$Ticket->Id%> +
+ Requestors + + <%$Ticket->RequestorsAsString%> +
+ Cc + + <%$Ticket->CcAsString%> +
+ Status + + <%$Ticket->Status%> +
+ Queue + + <%$Ticket->QueueObj->Name%> (<%$Ticket->QueueObj->Description%>) +
+ Priority + + <%$Ticket->Priority %> +
+ Worked + + <%$Ticket->TimeWorked %> minutes +
+ <%$select->Name%> + +% my $object_keywords = $Ticket->KeywordsObj($select->id); +% while (my $keyword = $object_keywords->Next) { + <%$keyword->KeywordObj->RelativePath($select->KeywordObj)%> +% } +%} +
+ +% my ($i); +%while (my $Transaction = $Transactions->Next) { +% $i++; +% if ($Transactions->IsLast) { + +% } + <& /Ticket/Elements/ShowTransaction, Transaction => $Transaction, + RowNum => $i, + Ticket => $Ticket &> + +%} +
+ + +<%INIT> + +my ($field, @results); + +# {{{ Load the ticket +#If we get handed two ids, mason will make them an array. bleck. +# We want teh first one. Just because there's no other sensible way +# to deal +my @id = (ref $id eq 'ARRAY') ? @{$id} : ($id); + + +my $Ticket = new RT::Ticket($session{'CurrentUser'}); +if ($id[0] eq 'new') { + # {{{ Create a new ticket + + my $Queue = new RT::Queue($session{'CurrentUser'}); + unless ($Queue->Load($ARGS{'Queue'})) { + $m->comp('Error.html', Why => 'Queue not found'); + $m->abort; + } + + unless ($Queue->CurrentUserHasRight('CreateTicket')) { + $m->comp('Error.html', Why => 'You have no permission to create tickets in that queue.'); + $m->abort; + } + + my @Requestors = split(/,/,$ARGS{'Requestors'}); + my @Cc = split(/,/,$ARGS{'Cc'}); + + + my $MIMEObj = MakeMIMEEntity ( Subject => $ARGS{'Subject'}, + From => $ARGS{'From'}, + Cc => $ARGS{'Cc'}, + Body => $ARGS{'Content'}, + AttachmentFieldName => 'Attach'); + + #TODO in Create_Details.html: priorities and due-date + my ($id, $Trans, $ErrMsg)= $Ticket->Create(Queue=>$ARGS{Queue}, + Requestor=> \@Requestors, + Cc => \@Cc, + Subject=>$ARGS{Subject}, + MIMEObj => $MIMEObj + ); + unless ($id && $Trans) { + $m->comp('Error.html', Why => $ErrMsg); + $m->abort(); + } + + push(@results, $ErrMsg); + + # }}} +} +else { + unless ($Ticket->Load($id[0])) { + $m->comp('Error.html', Why =>"Couldn't load ticket '$id'"); + $m->abort(); + } +} +# }}} + +unless ($session{'CurrentUser'}->HasQueueRight ( TicketObj => $Ticket, + Right => 'ShowTicket')) { + $m->comp('Error.html', Why => "No permission to display that ticket"); + $m->abort(); +} + +my ($code, $msg); + +#Update the status +if ((defined $ARGS{'Status'}) and + ($ARGS{'Status'} ne $Ticket->Status)) { + ($code, $msg) = $Ticket->SetStatus($ARGS{'Status'}); + push @results, "$msg"; +} + +ProcessUpdateMessage(ARGSRef=>\%ARGS, Actions=>\@results, TicketObj=>$Ticket); + +my $Transactions = $Ticket->Transactions; + + + + +<%ARGS> +$id => undef + -- cgit v1.2.1