From: Mark Wells Date: Thu, 15 Aug 2013 22:33:41 +0000 (-0700) Subject: set default WillResolve dates on all tickets, #23309 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=7a51c5cf922048cf1478920b3fec496e0bb26aef set default WillResolve dates on all tickets, #23309 --- diff --git a/FS/FS/TicketSystem.pm b/FS/FS/TicketSystem.pm index c1c69fa3f..3aeadb37f 100644 --- a/FS/FS/TicketSystem.pm +++ b/FS/FS/TicketSystem.pm @@ -342,6 +342,11 @@ sub _upgrade_data { or die $dbh->errstr; $cve_2013_3373_sth->execute or die $cve_2013_3373_sth->errstr; + # fix null WillResolve fields to avoid spurious transactions the + # first time they get updated + my $fix_null_sql = "UPDATE Tickets SET WillResolve = '1970-01-01 00:00:00' WHERE WillResolve IS NULL"; + $dbh->do($fix_null_sql) or die $dbh->errstr; + return; } 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 );