summaryrefslogtreecommitdiff
path: root/rt/lib
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib')
-rw-r--r--rt/lib/RT/Interface/Web_Vendor.pm24
-rwxr-xr-xrt/lib/RT/Ticket.pm7
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
);