%# $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