%# $Header: /raid/cvsroot/rt/webrt/Ticket/Attic/Display.html,v 1.1.2.44 2000/11/28 05:12:46 jesse Exp $ %# Copyright 1996-2000 Jesse Vincent <& /Elements/Header, Title => "Ticket #".$Ticket->Id.($Ticket->Subject&&(", ".$Ticket->Subject))."" &> <& /Elements/Tabs &> % for (@Actions) { <%$_%>
% } <& /Ticket/Elements/TicketToolBox, Ticket => $Ticket&> <& /Ticket/Elements/ShowSummary, Ticket => $Ticket &> <& /Elements/TitleBoxEnd &> <& /Elements/TitleBoxStart, title =>'Ticket History' &> <& /Ticket/Elements/ShowHistory , Ticket => $Ticket, ShowHeaders => $ARGS{'ShowHeaders'} &> <& /Elements/TitleBoxEnd &> <& /Elements/TitleBoxEnd &> <%ARGS> $id => undef $Create => undef <%INIT> my ($linkid, $message, $tid, $Ticket, @Actions); $Ticket = new RT::Ticket($session{'CurrentUser'}); unless ($id) { Abort('No ticket specified'); } if ($ARGS{'id'} eq 'new') { # {{{ Create a new ticket my $Queue = new RT::Queue($session{'CurrentUser'}); unless ($Queue->Load($ARGS{'queue'})) { Abort('Queue not found'); } unless ($Queue->CurrentUserHasRight('CreateTicket')) { Abort('You have no permission to create tickets in that queue.'); } my @Requestors = split(/,/,$ARGS{'Requestors'}); my @Cc = split(/,/,$ARGS{'Cc'}); my @AdminCc = split(/,/,$ARGS{'AdminCc'}); 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}, Owner=>$ARGS{ValueOfOwner}, Requestor=> \@Requestors, Cc => \@Cc, AdminCc => \@AdminCc, Subject=>$ARGS{Subject}, Status=>$ARGS{Status}, MIMEObj => $MIMEObj ); unless ($id && $Trans) { Abort($ErrMsg); } push(@Actions, $ErrMsg); # }}} } else { unless ($Ticket->Load($ARGS{id})) { Abort("Ticket couldn't be loaded"); } unless ($Ticket->CurrentUserHasRight('ShowTicket')) { Abort("No permission to view ticket"); } } ProcessOwnerChangeRequest(ARGS=>\%ARGS, Ticket=>$Ticket, Actions=>\@Actions); ProcessUpdateMessage(ARGS=>\%ARGS, Ticket=>$Ticket, Actions=>\@Actions); # update the told, take, steal, kill the ticket: ProcessSimpleActions(ARGS=>\%ARGS, Actions=>\@Actions, Ticket=>$Ticket); # {{{ process links if ($ARGS{'DependsOn'}){ ($linkid, $message, $tid) = $Ticket->LinkFrom( Base => $ARGS{'DependsOn'}, Type => 'DependsOn'); push @Actions, $message; } if ($ARGS{'DependedOnBy'}){ ($linkid, $message, $tid) = $Ticket->LinkTo( Target => $ARGS{'DependedOnBy'}, Type => 'DependsOn'); push @Actions, $message; } if ($ARGS{'MemberOf'}){ ($linkid, $message, $tid) = $Ticket->LinkTo( Target => $ARGS{'MemberOf'}, Type => 'MemberOf'); push @Actions, $message; } # }}} # {{{ Process ticket links if ($ARGS{'LinkType'}) { # There is some redundant information from the forms now - we\'ll # ignore one bit of it: if ($ARGS{'Base'} == $Ticket->Id) { for my $target (split(/ /, $ARGS{'Target'})) { my ( $linkid, $message) = $Ticket->LinkTo(Target => $target, Type => $ARGS{'LinkType'}); push (@Actions, $message); } } elsif ($ARGS{'Target'} == $Ticket->Id) { for my $base (split(/ /, $ARGS{'Base'})) { my ( $linkid, $message)= $Ticket->LinkFrom(Base => $base, Type => $ARGS{'LinkType'}); push (@Actions, $message); } } } # }}}