X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FUpdate.html;h=f922c23ecf72954e2a8a321a3b232a93b6d203c3;hp=c4e8c256a816da5acb680eb2a792986fa7e0d989;hb=de9d037528895f7151a9aead6724ce2df95f9586;hpb=919e930aa9279b3c5cd12b593889cd6de79d67bf diff --git a/rt/share/html/Ticket/Update.html b/rt/share/html/Ticket/Update.html index c4e8c256a..f922c23ec 100755 --- a/rt/share/html/Ticket/Update.html +++ b/rt/share/html/Ticket/Update.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -56,9 +56,10 @@ % $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS, Ticket => $TicketObj, CanRespond => $CanRespond, CanComment => $CanComment, ResponseDefault => $ResponseDefault, CommentDefault => $CommentDefault ); - + + -<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &> +<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
<&|/Widgets/TitleBox, title => loc('Ticket and Transaction') &> @@ -88,16 +89,8 @@ @@ -127,13 +120,11 @@ function changeStatus() { InTable => 1, fields => [ { name => 'Status', - comp => '/Elements/SelectStatus', + comp => '/Ticket/Elements/SelectStatus', args => { Name => 'Status', - DefaultLabel => loc("[_1] (Unchanged)", loc($TicketObj->Status)), - Default => $ARGS{'Status'} || ($TicketObj->Status eq $DefaultStatus ? undef : $DefaultStatus), + Default => $DefaultStatus, TicketObj => $TicketObj, - QueueObj => $TicketObj->QueueObj, onchange => 'changeStatus()' }, }, @@ -151,7 +142,7 @@ function changeStatus() { Name => "Owner", TicketObj => $TicketObj, QueueObj => $TicketObj->QueueObj, - DefaultLabel => loc("[_1] (Unchanged)", $m->scomp('/Elements/ShowUser', User => $TicketObj->OwnerObj)), + DefaultLabel => loc("[_1] (Unchanged)", $TicketObj->OwnerObj->Format), Default => $ARGS{'Owner'} } }, @@ -160,7 +151,6 @@ function changeStatus() { args => { Name => 'UpdateTimeWorked', Default => $ARGS{UpdateTimeWorked}||'', - InUnits => $ARGS{'UpdateTimeWorked-TimeUnits'}||'minutes', } }, ] @@ -172,10 +162,13 @@ changeStatus(); % $m->callback( %ARGS, CallbackName => 'AfterWorked', Ticket => $TicketObj ); -<& /Ticket/Elements/EditTransactionCustomFields, %ARGS, TicketObj => $TicketObj, AsTable => 1, KeepValue => 1 &> +<& /Ticket/Elements/EditTransactionCustomFields, %ARGS, TicketObj => $TicketObj, InTable => 1, KeepValue => 1, &> - + + +% $m->callback( %ARGS, CallbackName => 'RightColumnBottom', Ticket => $TicketObj ); +
@@ -187,7 +180,7 @@ changeStatus(); % if ( $gnupg_widget ) {   -<& /Elements/GnuPG/SignEncryptWidget, +<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, TicketObj => $TicketObj, &> @@ -255,6 +248,7 @@ my $TicketObj = LoadTicket($id); my @results; $m->callback( Ticket => $TicketObj, ARGSRef => \%ARGS, checks_failure => \$checks_failure, results => \@results, CallbackName => 'Initial' ); +$m->scomp( '/Articles/Elements/SubjectOverride', Ticket => $TicketObj, ARGSRef => \%ARGS, results => \@results ); unless($DefaultStatus){ $DefaultStatus=($ARGS{'Status'} ||$TicketObj->Status()); @@ -275,8 +269,8 @@ if ($Action ne 'Respond') { } my $type = $ARGS{'UpdateType'} ? $ARGS{'UpdateType'} : - lc $ARGS{'Action'} eq 'respond' ? 'response' : - lc $ARGS{'Action'} eq 'comment' ? 'private' : + lc $Action eq 'respond' ? 'response' : + lc $Action eq 'comment' ? 'private' : 'none' ; @@ -286,35 +280,30 @@ $CanRespond = 1 if ( $TicketObj->CurrentUserHasRight('ReplyToTicket') or $CanComment = 1 if ( $TicketObj->CurrentUserHasRight('CommentOnTicket') or $TicketObj->CurrentUserHasRight('ModifyTicket') ); - ProcessAttachments(ARGSRef => \%ARGS); -my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS ); -$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process', +my %squelched = ProcessTransactionSquelching( \%ARGS ); +$ARGS{'SquelchMailTo'} = [keys %squelched] if keys %squelched; + +my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS ); +$m->comp( '/Elements/Crypt/SignEncryptWidget:Process', self => $gnupg_widget, TicketObj => $TicketObj, ); if ( $ARGS{'SubmitTicket'} ) { - my %squelched = ProcessTransactionSquelching( \%ARGS ); - $ARGS{'SquelchMailTo'} = [keys %squelched] if keys %squelched; - - my $CFs = $TicketObj->TransactionCustomFields; - my $ValidCFs = $m->comp( + my ($status, @msg) = $m->comp( '/Elements/ValidateCustomFields', - CustomFields => $CFs, - NamePrefix => "Object-RT::Transaction--CustomField-", + CustomFields => $TicketObj->TransactionCustomFields, + Object => RT::Transaction->new( $session{'CurrentUser'} ), ARGSRef => \%ARGS ); - unless ( $ValidCFs ) { + unless ( $status ) { + push @results, @msg; $checks_failure = 1; - while (my $CF = $CFs->Next) { - my $msg = $m->notes('InvalidField-' . $CF->Id) or next; - push @results, loc($CF->Name) . ': ' . $msg; - } } - my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check', + $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check', self => $gnupg_widget, TicketObj => $TicketObj, ); @@ -336,6 +325,9 @@ if ( $ARGS{'SubmitTicket'} ) { $ARGS{ $field } = join ', ', map $_->format, grep defined, @emails; } } + +# $skip_update is provided below by reference to allow a final check to stop +# the update and print a message for the user to fix something. my $skip_update = 0; $m->callback( CallbackName => 'BeforeUpdate', ARGSRef => \%ARGS, skip_update => \$skip_update, checks_failure => $checks_failure, results => \@results, TicketObj => $TicketObj ); @@ -348,6 +340,6 @@ if ( !$checks_failure && !$skip_update && exists $ARGS{SubmitTicket} ) { <%ARGS> $id => undef -$Action => undef +$Action => '' $DefaultStatus => undef