fix WillResolve date editing in ticket basics, #23309
authorMark Wells <mark@freeside.biz>
Wed, 7 Aug 2013 23:39:21 +0000 (16:39 -0700)
committerMark Wells <mark@freeside.biz>
Wed, 7 Aug 2013 23:39:21 +0000 (16:39 -0700)
rt/lib/RT/Interface/Web.pm
rt/lib/RT/Interface/Web_Vendor.pm
rt/share/html/Ticket/Elements/EditBasics

index bdad213..4a6bfda 100644 (file)
@@ -2983,6 +2983,7 @@ sub ProcessTicketDates {
         Starts
         Started
         Due
+        WillResolve
     );
 
     #Run through each field in this list. update the value if apropriate
index fb2b807..a5f5b88 100644 (file)
@@ -254,8 +254,20 @@ sub ProcessTicketBasics {
         TimeLeft
         Type
         Queue
+        WillResolve
     );
 
+    # 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;
+
     if ( $ARGSRef->{'Queue'} and ( $ARGSRef->{'Queue'} !~ /^(\d+)$/ ) ) {
         my $tempqueue = RT::Queue->new($RT::SystemUser);
         $tempqueue->Load( $ARGSRef->{'Queue'} );
index ae70bd8..a86bb6c 100755 (executable)
@@ -52,6 +52,7 @@ $InTable => 0
 %defaults => ()
 </%ARGS>
 <%INIT>
+my $WillResolveObj = $TicketObj->WillResolveObj;
 unless ( @fields ) {
     @fields = (
         {   name => 'Subject',
@@ -72,7 +73,9 @@ unless ( @fields ) {
             comp => '/Elements/SelectDate',
             args => {
                 menu_prefix => 'WillResolve',
-                Default => $ARGS{'WillResolve'} || $TicketObj->WillResolveObj->Date,
+                Default => $ARGS{'WillResolve'} || 
+                           ($WillResolveObj->Unix > 0 ?
+                              $WillResolveObj->Date : ''),
                 current => 0,
                 ShowTime => 0,
             },