X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FEditBasics;h=a54caacbb0767f6a1714c8df4a642206953d72ef;hb=31f3763747b82764bb019cfab5b2a2945fc9a99d;hp=b91329870a6ad619b1b2aa6a7667531617db1561;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git diff --git a/rt/share/html/Ticket/Elements/EditBasics b/rt/share/html/Ticket/Elements/EditBasics index b91329870..a54caacbb 100755 --- a/rt/share/html/Ticket/Elements/EditBasics +++ b/rt/share/html/Ticket/Elements/EditBasics @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -45,86 +45,130 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -% $m->callback( CallbackName => 'EndOfList', TicketObj => $TicketObj, %ARGS ); -
<&|/l&>Subject:
<&|/l&>Status:<%$SelectStatus|n%>
<&|/l&>Queue:<%$SelectQueue|n%>
<&|/l&>Owner:<& /Elements/SelectOwner, - Name => 'Owner', - QueueObj => $TicketObj->QueueObj, - TicketObj => $TicketObj, - Default => $TicketObj->OwnerObj->Id, - DefaultValue => 0, - &>
<&|/l&>Time Estimated: - <& /Elements/EditTimeValue, - Name => 'TimeEstimated', - Default => $TicketObj->TimeEstimated, - &> -
<&|/l&>Time Worked: - <& /Elements/EditTimeValue, - Name => 'TimeWorked', - Default => $TicketObj->TimeWorked, - &> -
<&|/l&>Time Left: - <& /Elements/EditTimeValue, - Name => 'TimeLeft', - Default => $TicketObj->TimeLeft, - &> -
<&|/l&>Priority:<& /Elements/SelectPriority, - Default => $TicketObj->Priority, - &>
<&|/l&>Final Priority:<& /Elements/SelectPriority, - Name => "FinalPriority", - Default => $TicketObj->FinalPriority, - &>
- +<%ARGS> +$TicketObj => undef +@fields => () +$InTable => 0 +%defaults => () + <%INIT> -#It's hard to do this inline, so we'll preload the html of the selectstatus in here. -my $SelectStatus = $m->scomp("/Elements/SelectStatus", Name => 'Status', DefaultLabel => loc("[_1] (Unchanged)",loc($TicketObj->Status))); -my $SelectQueue = $m->scomp("/Elements/SelectQueue", Name => 'Queue', Default =>$TicketObj->QueueObj->Id, ShowNullOption => 0); +my $WillResolveObj = $TicketObj->WillResolveObj if defined $TicketObj; +unless ( @fields ) { + my $subject = $defaults{'Subject'} || $TicketObj->Subject; + @fields = ( + { name => 'Subject', + html => '', + }, + { name => 'Status', + comp => '/Elements/SelectStatus', + args => { + Name => 'Status', + DefaultLabel => loc("[_1] (Unchanged)",loc($TicketObj->Status)), + Default => $defaults{'Status'} || undef, + TicketObj => $TicketObj, + QueueObj => $TicketObj->QueueObj, + onchange => 'changeStatus()', + }, + }, + { name => 'Resolve this Ticket on', + comp => '/Elements/SelectDate', + args => { + menu_prefix => 'WillResolve', + Default => $ARGS{'WillResolve'} || + (defined($WillResolveObj) + and $WillResolveObj->Unix > 0 ? + $WillResolveObj->Date : ''), + current => 0, + ShowTime => 0, + }, + }, + { name => 'Queue', + comp => '/Elements/SelectQueue', + args => { + Name => 'Queue', + Default => $defaults{'Queue'} || $TicketObj->QueueObj->Id, + ShowNullOption => 0, + } + }, + { name => 'Owner', + comp => '/Elements/SelectOwner', + args => { + Name => 'Owner', + QueueObj => $TicketObj->QueueObj, + TicketObj => $TicketObj, + Default => $defaults{'Owner'} || $TicketObj->OwnerObj->Id, + DefaultValue => 0, + } + }, + # Time Estimated, Worked, and Left + ( + map { + (my $field = $_) =~ s/ //g; + { + name => $_, + comp => '/Elements/EditTimeValue', + args => { + Name => $field, + Default => $defaults{$field} || $TicketObj->$field, + } + } + } ('Time Estimated', 'Time Worked', 'Time Left') + ), + # Priority and Final Priority + ( + map { + (my $field = $_) =~ s/ //g; + { + name => $_, + comp => '/Elements/SelectPriority', + args => { + Name => $field, + Default => $defaults{$field} || $TicketObj->$field, + } + } + } ('Priority', 'Final Priority') + ), + ); +} +$m->callback( CallbackName => 'MassageFields', %ARGS, TicketObj => $TicketObj, Fields => \@fields ); + +# Process the field list, skipping if html is provided and running the +# components otherwise +for my $field (@fields) { + next if defined $field->{'html'}; + if ( $field->{'comp'} ) { + $field->{'html'} = $m->scomp($field->{'comp'}, %{$field->{'args'} || {}}); + } +} -<%ARGS> -$TicketObj => undef - +% unless ($InTable) { + +% } +% for my $field (@fields) { + \ +\ +\ + +% } +% $m->callback( CallbackName => 'EndOfList', TicketObj => $TicketObj, %ARGS, Fields => \@fields ); +% unless ($InTable) { +
<&|/l&><% $field->{'name'} %>:<% $field->{'html'} |n %>
+% } +