diff --git a/share/html/Ticket/ModifyDates.html b/share/html/Ticket/ModifyDates.html index 845615f3ca1..3d87a1326f3 100644 --- a/share/html/Ticket/ModifyDates.html +++ b/share/html/Ticket/ModifyDates.html @@ -66,11 +66,29 @@ my $TicketObj = LoadTicket($id); my @results; -$m->callback( TicketObj => $TicketObj, ARGSRef => \%ARGS, results => \@results ); -$TicketObj->Atomic(sub{ - push @results, ProcessTicketDates( TicketObj => $TicketObj, ARGSRef => \%ARGS); - push @results, ProcessObjectCustomFieldUpdates(Object => $TicketObj, ARGSRef => \%ARGS); -}); +my $skip_update; +$m->callback( TicketObj => $TicketObj, ARGSRef => \%ARGS, results => \@results, skip_update => \$skip_update ); + +if ( $ARGS{SubmitTicket} ) { + my $CFs = $TicketObj->CustomFields; + $CFs->LimitToGrouping( $TicketObj => "Dates" ); + my ($cf_ok, @cf_errors) = $m->comp( + '/Elements/ValidateCustomFields', + Object => $TicketObj, + CustomFields => $CFs, + ARGSRef => \%ARGS + ); + unless ( $cf_ok ) { + $skip_update = 1; + push @results, @cf_errors; + } + unless ( $skip_update ) { + $TicketObj->Atomic(sub{ + push @results, ProcessTicketDates( TicketObj => $TicketObj, ARGSRef => \%ARGS); + push @results, ProcessObjectCustomFieldUpdates(Object => $TicketObj, ARGSRef => \%ARGS); + }); + } +} $TicketObj->CurrentUser->AddRecentlyViewedTicket($TicketObj);