rt 4.0.23
[freeside.git] / rt / share / html / Ticket / Elements / EditBasics
index 0d4159f..a54caac 100755 (executable)
@@ -2,7 +2,7 @@
 %#
 %# COPYRIGHT:
 %#
-%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
 %#                                          <sales@bestpractical.com>
 %#
 %# (Except where explicitly superseded by other copyright notices)
@@ -52,10 +52,12 @@ $InTable => 0
 %defaults => ()
 </%ARGS>
 <%INIT>
+my $WillResolveObj = $TicketObj->WillResolveObj if defined $TicketObj;
 unless ( @fields ) {
+    my $subject = $defaults{'Subject'} || $TicketObj->Subject;
     @fields = (
         {   name => 'Subject',
-            html => '<input name="Subject" value="'.$m->interp->apply_escapes( $defaults{'Subject'} || $TicketObj->Subject, 'h' ).'" />',
+            html => '<input name="Subject" value="'.(defined($subject) ? $m->interp->apply_escapes( $subject, 'h' ) : '').'" />',
         },
         {   name => 'Status',
             comp => '/Elements/SelectStatus',
@@ -65,6 +67,19 @@ 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'} || 
+                           (defined($WillResolveObj) 
+                            and $WillResolveObj->Unix > 0 ?
+                              $WillResolveObj->Date : ''),
+                current => 0,
+                ShowTime => 0,
             },
         },
         {   name => 'Queue',
@@ -141,4 +156,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>