diff options
Diffstat (limited to 'rt/webrt/SelfService/Display.html')
-rwxr-xr-x | rt/webrt/SelfService/Display.html | 190 |
1 files changed, 190 insertions, 0 deletions
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 <jesse@fsck.com> + +<& /SelfService/Elements/Header, Title => 'Display ticket #'.$Ticket->id &> + + +<& /Elements/ListActions, actions => \@results &> + +<TABLE> + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Ticket Id + </TD> + <TD> + <%$Ticket->Id%> + </TD> + </TR> + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Requestors + </TD> + <TD> + <%$Ticket->RequestorsAsString%> + </TD> + </TR> + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Cc + </TD> + <TD> + <%$Ticket->CcAsString%> + </TD> + </TR> + + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Status + </TD> + <TD> + <%$Ticket->Status%> + </TD> + </TR> + + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Queue + </TD> + <TD> + <%$Ticket->QueueObj->Name%> (<%$Ticket->QueueObj->Description%>) + </TD> + </TR> + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Priority + </TD> + <TD> + <%$Ticket->Priority %> + </TD> + </TR> + +% if ($Ticket->TimeWorked) { + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + Worked + </TD> + <TD> + <%$Ticket->TimeWorked %> minutes + </TD> + </TR> +% } + +% my $selects = $Ticket->QueueObj->KeywordSelects; +% while (my $select = $selects->Next) { + <TR> + <TD VALIGN=TOP WIDTH="20%" ALIGN=RIGHT> + <%$select->Name%> + </TD> + <TD> +% my $object_keywords = $Ticket->KeywordsObj($select->id); +% while (my $keyword = $object_keywords->Next) { + <%$keyword->KeywordObj->RelativePath($select->KeywordObj)%> +% } +%} + </TD> + </TR> + + + + + </TABLE> +<TABLE BORDER=0 CELLSPACING=0> +% my ($i); +%while (my $Transaction = $Transactions->Next) { +% $i++; +% if ($Transactions->IsLast) { + <a name="lasttrans"></a> +% } + <& /Ticket/Elements/ShowTransaction, Transaction => $Transaction, + RowNum => $i, + Ticket => $Ticket &> + +%} +</TABLE> + + +<%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; + +</%INIT> + + +<%ARGS> +$id => undef +</%ARGS> |