%# $Header: /raid/cvsroot/rt/webrt/SelfService/Attic/Details.html,v 1.1.2.10 2001/07/18 19:53:15 jesse 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)%> % } %}
%while (my $Transaction = $Transactions->Next) { % if ($Transactions->IsLast) { % } <& /Ticket/Elements/ShowTransaction, Transaction => $Transaction, 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'}); require MIME::Entity; my $MIMEObj = MIME::Entity->build(Subject => $ARGS{Subject}, From => $ARGS{Requestors}, Cc => $ARGS{Cc}, Data => $ARGS{Content} ); #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