add RT WillResolve date to ticket search and Edit Basics, #23309
authorMark Wells <mark@freeside.biz>
Wed, 31 Jul 2013 21:17:46 +0000 (14:17 -0700)
committerMark Wells <mark@freeside.biz>
Wed, 31 Jul 2013 21:17:46 +0000 (14:17 -0700)
rt/share/html/Elements/RT__Ticket/ColumnMap
rt/share/html/Elements/SelectDateType
rt/share/html/Search/Elements/BuildFormatString
rt/share/html/Ticket/Elements/EditBasics
rt/share/html/Ticket/Modify.html

index 202a11a..dd1fd39 100644 (file)
@@ -212,6 +212,11 @@ $COLUMN_MAP = {
             }
         }
     },
+    WillResolveRelative => {
+        title     => 'Will Resolve',
+        attribute => 'WillResolve',
+        value     => sub { return $_[0]->WillResolveObj->AgeAsString },
+    },
     ResolvedRelative => {
         title     => 'Resolved', # loc
         attribute => 'Resolved',
@@ -237,6 +242,11 @@ $COLUMN_MAP = {
         attribute => 'Due',
         value     => sub { return $_[0]->DueObj },
     },
+    WillResolve => {
+        title     => 'Will Resolve',
+        attribute => 'WillResolve',
+        value     => sub { return $_[0]->WillResolveObj },
+    },
     Resolved => {
         title     => 'Resolved', # loc
         attribute => 'Resolved',
index 59a7b15..92ae2fc 100755 (executable)
@@ -53,6 +53,7 @@
 <option value="LastUpdated"><&|/l&>Last Updated</&></option>
 <option value="Starts"><&|/l&>Starts</&></option>
 <option value="Due"><&|/l&>Due</&></option>
+<option value="WillResolve"><&|/l&>Will Resolve</&></option>
 <option value="Updated"><&|/l&>Updated</&></option>
 </select>
 <%ARGS>
index 7224793..6bc12f4 100644 (file)
@@ -94,6 +94,7 @@ my @fields = (
     LastUpdated LastUpdatedRelative
     Told        ToldRelative
     Due         DueRelative
+    WillResolve WillResolveRelative
     Resolved    ResolvedRelative
 
     RefersTo    ReferredToBy
index 0d4159f..ae70bd8 100755 (executable)
@@ -65,6 +65,16 @@ unless ( @fields ) {
                 Default => $defaults{'Status'} || undef,
                 TicketObj => $TicketObj,
                 QueueObj => $TicketObj->QueueObj,
+                onchange => 'changeStatus()',
+            },
+        },
+        {   name => 'Resolve this Ticket on',
+            comp => '/Elements/SelectDate',
+            args => {
+                menu_prefix => 'WillResolve',
+                Default => $ARGS{'WillResolve'} || $TicketObj->WillResolveObj->Date,
+                current => 0,
+                ShowTime => 0,
             },
         },
         {   name => 'Queue',
@@ -141,4 +151,19 @@ for my $field (@fields) {
 % unless ($InTable) {
 </table>
 % }
-
+<script type="text/javascript">
+function changeStatus() {
+  var Status_select = document.getElementById('Status');
+  var x = Status_select.options[Status_select.selectedIndex].value;
+  var text = document.getElementById('WillResolve_Date');
+  var button = document.getElementById('WillResolve_Date_date_button');
+  if (x == 'resolved' || x == 'rejected' || x == 'deleted') {
+    text.disabled = true;
+    button.style.display = 'none';
+  }
+  else {
+    text.disabled = false;
+    button.style.display = 'inline';
+  }
+}
+</script>
index 146384e..4b24b89 100755 (executable)
@@ -82,6 +82,8 @@ my @results;
 push @results, ProcessTicketBasics(TicketObj => $TicketObj, ARGSRef => \%ARGS);
 push @results, ProcessObjectCustomFieldUpdates(Object => $TicketObj, ARGSRef => \%ARGS);
 push @results, ProcessTicketStatus(TicketObj => $TicketObj, ARGSRef => \%ARGS);
+# for WillResolve
+push @results, ProcessTicketDates( TicketObj => $TicketObj, ARGSRef => \%ARGS);
 
 $TicketObj->ApplyTransactionBatch;