From 65cf35036770cec4264ef1c8a572347c0b31ab1b Mon Sep 17 00:00:00 2001 From: javieralapps4up Date: Sat, 27 Aug 2022 11:48:05 +0200 Subject: [PATCH 1/5] Date filters are lost when clicking on a title When filtering on a date, $param ONLY contains that entire date. I don't know if it's better to fill $param with month, day and year or get the full date (unix time) --- htdocs/modulebuilder/template/myobject_list.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index d9af4add8ce..87ecc59d33c 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -145,8 +145,16 @@ foreach ($object->fields as $key => $val) { $search[$key] = GETPOST('search_'.$key, 'alpha'); } if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { - $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); - $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + if (empty(GETPOST('search_'.$key.'_dtstart', 'int'))) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + } else { + $search[$key.'_dtstart'] = GETPOST('search_'.$key.'_dtstart', 'int'); + } + if (empty(GETPOST('search_'.$key.'_dtend', 'int'))) { + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } else { + $search[$key.'_dtend'] = GETPOST('search_'.$key.'_dtend', 'int'); + } } } From b01dbdb3a2b0acef1c40dec34b03a6919bdab968 Mon Sep 17 00:00:00 2001 From: javieralapps4up Date: Tue, 6 Sep 2022 15:25:25 +0200 Subject: [PATCH 2/5] Update myobject_list.php --- htdocs/modulebuilder/template/myobject_list.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index 87ecc59d33c..3f24016ffe6 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -147,13 +147,9 @@ foreach ($object->fields as $key => $val) { if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { if (empty(GETPOST('search_'.$key.'_dtstart', 'int'))) { $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); - } else { - $search[$key.'_dtstart'] = GETPOST('search_'.$key.'_dtstart', 'int'); } if (empty(GETPOST('search_'.$key.'_dtend', 'int'))) { $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); - } else { - $search[$key.'_dtend'] = GETPOST('search_'.$key.'_dtend', 'int'); } } } @@ -465,6 +461,14 @@ foreach ($search as $key => $val) { $param .= '&search_'.$key.'[]='.urlencode($skey); } } + } elseif (preg_match('/dtstart/', $key) && !empty($val)) { + $param .= '&search'.$key.'month='.urlencode(GETPOST('search_'.$key.'month', 'int')); + $param .= '&search_'.$key.'day='.urlencode(GETPOST('search_'.$key.'day', 'int')); + $param .= '&search_'.$key.'year='.urlencode(GETPOST('search_'.$key.'year', 'int')); + } elseif (preg_match('/dtend/', $key) && !empty($val)) { + $param .= '&search'.$key.'month='.urlencode(GETPOST('search_'.$key.'month', 'int')); + $param .= '&search_'.$key.'day='.urlencode(GETPOST('search_'.$key.'day', 'int')); + $param .= '&search_'.$key.'year='.urlencode(GETPOST('search_'.$key.'year', 'int')); } elseif ($search[$key] != '') { $param .= '&search_'.$key.'='.urlencode($search[$key]); } From d65c955d8d8a2cbf74b39e5da789f6a42d6dfe1d Mon Sep 17 00:00:00 2001 From: javieralapps4up Date: Tue, 6 Sep 2022 15:27:24 +0200 Subject: [PATCH 3/5] Update myobject_list.php --- htdocs/modulebuilder/template/myobject_list.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index 3f24016ffe6..9049df31a5d 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -145,12 +145,8 @@ foreach ($object->fields as $key => $val) { $search[$key] = GETPOST('search_'.$key, 'alpha'); } if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { - if (empty(GETPOST('search_'.$key.'_dtstart', 'int'))) { - $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); - } - if (empty(GETPOST('search_'.$key.'_dtend', 'int'))) { - $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); - } + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); } } From 585a936154f42856300d6748d48a77259147556c Mon Sep 17 00:00:00 2001 From: javieralapps4up Date: Wed, 7 Sep 2022 00:34:22 +0200 Subject: [PATCH 4/5] Update myobject_list.php Better code now --- htdocs/modulebuilder/template/myobject_list.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index 9049df31a5d..5a22268cf07 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -457,12 +457,8 @@ foreach ($search as $key => $val) { $param .= '&search_'.$key.'[]='.urlencode($skey); } } - } elseif (preg_match('/dtstart/', $key) && !empty($val)) { - $param .= '&search'.$key.'month='.urlencode(GETPOST('search_'.$key.'month', 'int')); - $param .= '&search_'.$key.'day='.urlencode(GETPOST('search_'.$key.'day', 'int')); - $param .= '&search_'.$key.'year='.urlencode(GETPOST('search_'.$key.'year', 'int')); - } elseif (preg_match('/dtend/', $key) && !empty($val)) { - $param .= '&search'.$key.'month='.urlencode(GETPOST('search_'.$key.'month', 'int')); + } elseif (preg_match('/(_dtstart|_dtend)$/', $key) && !empty($val)) { + $param .= '&search_'.$key.'month='.urlencode(GETPOST('search_'.$key.'month', 'int')); $param .= '&search_'.$key.'day='.urlencode(GETPOST('search_'.$key.'day', 'int')); $param .= '&search_'.$key.'year='.urlencode(GETPOST('search_'.$key.'year', 'int')); } elseif ($search[$key] != '') { From d776d36e8bd4cb23d99451ac36467ab7eb1ed214 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 7 Sep 2022 14:36:50 +0200 Subject: [PATCH 5/5] Update myobject_list.php --- htdocs/modulebuilder/template/myobject_list.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index 5a22268cf07..d774680d166 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -458,9 +458,9 @@ foreach ($search as $key => $val) { } } } elseif (preg_match('/(_dtstart|_dtend)$/', $key) && !empty($val)) { - $param .= '&search_'.$key.'month='.urlencode(GETPOST('search_'.$key.'month', 'int')); - $param .= '&search_'.$key.'day='.urlencode(GETPOST('search_'.$key.'day', 'int')); - $param .= '&search_'.$key.'year='.urlencode(GETPOST('search_'.$key.'year', 'int')); + $param .= '&search_'.$key.'month='.((int) GETPOST('search_'.$key.'month', 'int')); + $param .= '&search_'.$key.'day='.((int) GETPOST('search_'.$key.'day', 'int')); + $param .= '&search_'.$key.'year='.((int) GETPOST('search_'.$key.'year', 'int')); } elseif ($search[$key] != '') { $param .= '&search_'.$key.'='.urlencode($search[$key]); }