Skip to content

Commit c980087

Browse files
committed
Patch: DateTimePicker defaultDate requires database timestamp format
1 parent 6f6cf37 commit c980087

2 files changed

Lines changed: 18 additions & 9 deletions

File tree

src/Controllers/TicketsController.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -803,25 +803,29 @@ public function search_form($parameters = null)
803803
}elseif(in_array($key, $this->a_search_fields_date)){
804804
// Decode strings in URL
805805
$date = urldecode($param);
806+
807+
// Reset Carbon instance
808+
unset($carbon_instance);
806809

807810
if (ctype_digit($date) and strlen($date) == 4){
808811
// Create a formatted date from year
809-
$search_fields[$key] = Carbon::createFromFormat('Y', $date)->startOfYear()->format(trans('panichd::lang.datetime-format'));
812+
$carbon_instance = Carbon::createFromFormat('Y', $date)->startOfYear();
813+
$search_fields[$key] = $carbon_instance->format(trans('panichd::lang.datetime-format'));
810814

811815
// Specify date type if it's not set
812816
if (!isset($search_fields[$key . '_type'])) $search_fields[$key . '_type'] = 'exact_year';
813817

814818
}else{
815819
try {
816820
// Check if it's a full and formatted date time string
817-
Carbon::createFromFormat(trans('panichd::lang.datetime-format'), $date);
818-
$search_fields[$key] = $date;
821+
$carbon_instance = Carbon::createFromFormat(trans('panichd::lang.datetime-format'), $date);
822+
$search_fields[$key] = $carbon_instance->format(trans('panichd::lang.datetime-format'));
819823

820824
} catch (\Exception $e) {
821825
try {
822826
// Check if it's a date string
823-
$datetime = Carbon::createFromFormat(trans('panichd::lang.date-format'), $date)->startOfDay()->format(trans('panichd::lang.datetime-format'));
824-
$search_fields[$key] = $datetime;
827+
$carbon_instance = Carbon::createFromFormat(trans('panichd::lang.date-format'), $date)->startOfDay();
828+
$search_fields[$key] = $carbon_instance->format(trans('panichd::lang.datetime-format'));
825829
if (!isset($search_fields[$key . '_type'])) $search_fields[$key . '_type'] = 'exact_day';
826830

827831
}catch (\Exception $e) {
@@ -830,6 +834,11 @@ public function search_form($parameters = null)
830834
}
831835
}
832836

837+
if (isset($carbon_instance)){
838+
// Pass DateTimeString for javascript DateTimePicker
839+
$search_fields['timestamp_' . $key] = $carbon_instance->toDateTimeString();
840+
}
841+
833842
}elseif(in_array(str_replace('_type', '', $key), $this->a_search_fields_date) and in_array($param, $this->a_search_fields_date_types)){
834843
// Get date field related type
835844
$search_fields[$key] = $param;

src/Views/tickets/partials/form_scripts.blade.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
@if (isset($ticket) && $a_current['start_date'] != "")
99
defaultDate: "{{ $a_current['start_date'] }}",
1010
11-
@elseif(isset($search_fields['start_date']))
12-
defaultDate: "{{ $search_fields['start_date'] }}",
11+
@elseif(isset($search_fields['timestamp_start_date']))
12+
defaultDate: "{{ $search_fields['timestamp_start_date'] }}",
1313
@endif
1414
keyBinds: { 'delete':null, 'left':null, 'right':null }
1515
});
@@ -21,8 +21,8 @@
2121
@if (isset($ticket) && $a_current['limit_date'] != "")
2222
defaultDate: "{{ $a_current['limit_date'] }}",
2323
24-
@elseif(isset($search_fields['limit_date']))
25-
defaultDate: "{{ $search_fields['limit_date'] }}",
24+
@elseif(isset($search_fields['timestamp_limit_date']))
25+
defaultDate: "{{ $search_fields['timestamp_limit_date'] }}",
2626
@endif
2727
keyBinds: { 'delete':null, 'left':null, 'right':null },
2828
useCurrent: false

0 commit comments

Comments
 (0)