diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-09-03 22:52:26 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-09-03 22:52:26 -0700 |
commit | 36ad5e538cb56de33c779e34baf9abdf63c4312e (patch) | |
tree | de42d922496c881b69643656f055b68e64e96d72 /rt/lib/RT/Interface/Web_Vendor.pm | |
parent | 04c1a98c9bcf2b6f0da8f18b627eec703dbafd49 (diff) | |
parent | aae697565c071b2880d0106b00a4a01d0ddab7bf (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/lib/RT/Interface/Web_Vendor.pm')
-rw-r--r-- | rt/lib/RT/Interface/Web_Vendor.pm | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/rt/lib/RT/Interface/Web_Vendor.pm b/rt/lib/RT/Interface/Web_Vendor.pm index 0c061e2de..3aad3fee2 100644 --- a/rt/lib/RT/Interface/Web_Vendor.pm +++ b/rt/lib/RT/Interface/Web_Vendor.pm @@ -264,7 +264,12 @@ sub ProcessTicketBasics { my $DateObj = RT::Date->new($session{'CurrentUser'}); if ( $to_date ) { $DateObj->Set(Format => 'unknown', Value => $to_date); - $ARGSRef->{'WillResolve'} = $DateObj->ISO; + if ( $DateObj->Unix > time ) { + $ARGSRef->{'WillResolve'} = $DateObj->ISO; + } else { + warn "Ticket ".$TicketObj->Id.": WillResolve date '$to_date' not accepted.\n"; + # and then don't set it in ARGSRef + } } elsif ( $TicketObj and $TicketObj->WillResolveObj->Unix > 0 ) { $DateObj->Set(Value => 0); $ARGSRef->{'WillResolve'} = $DateObj->ISO; @@ -343,6 +348,13 @@ sub ProcessTicketDates { Value => $ARGSRef->{ $field . '_Date' } ); + if ( $field eq 'WillResolve' + and $DateObj->Unix > 0 + and $DateObj->Unix <= time ) { + push @results, "Can't set WillResolve date in the past."; + next; + } + my $obj = $field . "Obj"; if ( ( defined $DateObj->Unix ) and ( $DateObj->Unix != $Ticket->$obj()->Unix() ) ) |