From 2859070c5c40564a344e71033786635d45198353 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 17 Jan 2021 15:47:43 +0100 Subject: [PATCH] Fix filet on extrafields date --- htdocs/contrat/list.php | 1 - htdocs/core/tpl/extrafields_list_search_sql.tpl.php | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index 72a8ec2974d..c05953f498b 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -275,7 +275,6 @@ if ($search_dfyear > 0 && $search_op2df) else $sql .= " HAVING MIN(".$db->ifsql("cd.statut=4", "cd.date_fin_validite", "null").") <= '".$db->idate(dol_get_last_day($search_dfyear, $search_dfmonth, false))."' AND MIN(".$db->ifsql("cd.statut=4", "cd.date_fin_validite", "null").") >= '".$db->idate(dol_get_first_day($search_dfyear, $search_dfmonth, false))."'"; } $sql .= $db->order($sortfield, $sortorder); -//print $sql; $totalnboflines = 0; $result = $db->query($sql); diff --git a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php index 1117105d070..164afc753e7 100644 --- a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php @@ -26,11 +26,13 @@ if (!empty($extrafieldsobjectkey) && !empty($search_array_options) && is_array($ if (is_numeric($crit)) { $sql .= " AND ".$extrafieldsobjectprefix.$tmpkey." = '".$db->idate($crit)."'"; } elseif (is_array($crit)) { - $sql .= ' AND (' . $extrafieldsobjectprefix.$tmpkey - .' BETWEEN "' - . $db->idate($crit['start']) - . '" AND "' - . $db->idate($crit['end']) . '")'; + if ($crit['start'] !== '' && $crit['end'] !== '') { + $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey." BETWEEN '". $db->idate($crit['start']). "' AND '".$db->idate($crit['end']) . "')"; + } elseif ($crit['start'] !== '') { + $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey." >= '". $db->idate($crit['start'])."')"; + } elseif ($crit['end'] !== '') { + $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey." <= '". $db->idate($crit['end'])."')"; + } } } elseif (in_array($typ, array('boolean'))) {