diff options
Diffstat (limited to 'rt/lib')
-rw-r--r-- | rt/lib/RT/Interface/Web_Vendor.pm | 24 | ||||
-rwxr-xr-x | rt/lib/RT/Ticket.pm | 7 |
2 files changed, 20 insertions, 11 deletions
diff --git a/rt/lib/RT/Interface/Web_Vendor.pm b/rt/lib/RT/Interface/Web_Vendor.pm index 7a4804bf9..0c061e2de 100644 --- a/rt/lib/RT/Interface/Web_Vendor.pm +++ b/rt/lib/RT/Interface/Web_Vendor.pm @@ -257,17 +257,19 @@ sub ProcessTicketBasics { WillResolve ); -# causes endless redirect loops and "WillResolve changed from Not set to Not set" on ticket view? -# # the UI for editing WillResolve through Ticket Basics should allow -# # setting it to null -# my $to_date = delete($ARGSRef->{'WillResolve_Date'}); -# my $DateObj = RT::Date->new($session{'CurrentUser'}); -# if ( $to_date ) { -# $DateObj->Set(Format => 'unknown', Value => $to_date); -# } else { -# $DateObj->Set(Value => 0); -# } -# $ARGSRef->{'WillResolve'} = $DateObj->ISO; + # the UI for editing WillResolve through Ticket Basics should allow + # setting it to null + if ( exists $ARGSRef->{'WillResolve_Date'} ) { + my $to_date = delete($ARGSRef->{'WillResolve_Date'}); + my $DateObj = RT::Date->new($session{'CurrentUser'}); + if ( $to_date ) { + $DateObj->Set(Format => 'unknown', Value => $to_date); + $ARGSRef->{'WillResolve'} = $DateObj->ISO; + } elsif ( $TicketObj and $TicketObj->WillResolveObj->Unix > 0 ) { + $DateObj->Set(Value => 0); + $ARGSRef->{'WillResolve'} = $DateObj->ISO; + } + } if ( $ARGSRef->{'Queue'} and ( $ARGSRef->{'Queue'} !~ /^(\d+)$/ ) ) { my $tempqueue = RT::Queue->new($RT::SystemUser); diff --git a/rt/lib/RT/Ticket.pm b/rt/lib/RT/Ticket.pm index 4da1d483b..61653789c 100755 --- a/rt/lib/RT/Ticket.pm +++ b/rt/lib/RT/Ticket.pm @@ -255,6 +255,7 @@ sub Create { Starts => undef, Started => undef, Resolved => undef, + WillResolve => undef, MIMEObj => undef, _RecordTransaction => 1, DryRun => 0, @@ -357,6 +358,11 @@ sub Create { $Started->Set( Format => 'ISO', Value => $args{'Started'} ); } + my $WillResolve = RT::Date->new($self->CurrentUser ); + if ( defined $args{'WillResolve'} ) { + $WillResolve->Set( Format => 'ISO', Value => $args{'WillResolve'} ); + } + # If the status is not an initial status, set the started date elsif ( !$cycle->IsInitial($args{'Status'}) ) { $Started->SetToNow; @@ -483,6 +489,7 @@ sub Create { Starts => $Starts->ISO, Started => $Started->ISO, Resolved => $Resolved->ISO, + WillResolve => $WillResolve->ISO, Due => $Due->ISO ); |