Browse Source

Fix daterangepicker in form validator that only save the default date values - Refs BT#12319

José Loguercio 8 years ago
parent
commit
2ba03bba63

+ 3 - 3
main/admin/system_announcements.php

@@ -91,8 +91,8 @@ switch($action) {
         // Add an announcement.
         $values['action'] = 'add';
         // Set default time window: NOW -> NEXT WEEK
-        $values['start'] = date('Y-m-d H:i:s', api_strtotime(api_get_local_time()));
-        $values['end']   = date('Y-m-d H:i:s', api_strtotime(api_get_local_time()) + (7 * 24 * 60 * 60));
+        $values['range_start'] = date('Y-m-d H:i:s', api_strtotime(api_get_local_time()));
+        $values['range_end']   = date('Y-m-d H:i:s', api_strtotime(api_get_local_time()) + (7 * 24 * 60 * 60));
 
         $values['range'] =
             substr(api_get_local_time(time()), 0, 16).' / '.
@@ -158,7 +158,7 @@ if ($action_todo) {
             'Height' => '300',
         )
     );
-    $form->addDateRangePicker('range', get_lang('StartTimeWindow'), true, array('id' => 'date_range'));
+    $form->addDateRangePicker('range', get_lang('StartTimeWindow'), true, array('id' => 'range'));
 
     $group = array();
 

+ 9 - 0
main/inc/lib/formvalidator/Element/DateRangePicker.php

@@ -119,6 +119,15 @@ class DateRangePicker extends HTML_QuickForm_text
                         customRangeLabel: '".addslashes(get_lang('CustomRange'))."',
                     }
                 });
+                
+                $('#$id').on('change', function() {
+                    var myPickedDates = $('#$id').val().split('/');
+                    var {$id}_start = myPickedDates[0].trim();
+                    var {$id}_end = myPickedDates[1].trim();
+                    
+                    $('input[name={$id}_start]').val({$id}_start);
+                    $('input[name={$id}_end]').val({$id}_end);
+                });
             });
         </script>";