NEW Add field date from/to in supplier invoice list

This commit is contained in:
Alexandre SPANGARO 2021-06-10 05:59:29 +02:00
parent 53af424a3d
commit 3d26ad4cf8

View File

@ -12,6 +12,7 @@
* Copyright (C) 2017 Josep Lluís Amador <joseplluis@lliuretic.cat> * Copyright (C) 2017 Josep Lluís Amador <joseplluis@lliuretic.cat>
* Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com> * Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com>
* Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2019-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -101,12 +102,22 @@ $search_country = GETPOST("search_country", 'int');
$search_type_thirdparty = GETPOST("search_type_thirdparty", 'int'); $search_type_thirdparty = GETPOST("search_type_thirdparty", 'int');
$search_user = GETPOST('search_user', 'int'); $search_user = GETPOST('search_user', 'int');
$search_sale = GETPOST('search_sale', 'int'); $search_sale = GETPOST('search_sale', 'int');
$day = GETPOST('day', 'int'); $search_date_startday = GETPOST('search_date_startday', 'int');
$month = GETPOST('month', 'int'); $search_date_startmonth = GETPOST('search_date_startmonth', 'int');
$year = GETPOST('year', 'int'); $search_date_startyear = GETPOST('search_date_startyear', 'int');
$day_lim = GETPOST('day_lim', 'int'); $search_date_endday = GETPOST('search_date_endday', 'int');
$month_lim = GETPOST('month_lim', 'int'); $search_date_endmonth = GETPOST('search_date_endmonth', 'int');
$year_lim = GETPOST('year_lim', 'int'); $search_date_endyear = GETPOST('search_date_endyear', 'int');
$search_date_start = dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear); // Use tzserver
$search_date_end = dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
$search_datelimit_startday = GETPOST('search_datelimit_startday', 'int');
$search_datelimit_startmonth = GETPOST('search_datelimit_startmonth', 'int');
$search_datelimit_startyear = GETPOST('search_datelimit_startyear', 'int');
$search_datelimit_endday = GETPOST('search_datelimit_endday', 'int');
$search_datelimit_endmonth = GETPOST('search_datelimit_endmonth', 'int');
$search_datelimit_endyear = GETPOST('search_datelimit_endyear', 'int');
$search_datelimit_start = dol_mktime(0, 0, 0, $search_datelimit_startmonth,$search_datelimit_startday, $search_datelimit_startyear);
$search_datelimit_end = dol_mktime(23, 59, 59, $search_datelimit_endmonth,$search_datelimit_endday, $search_datelimit_endyear);
$toselect = GETPOST('toselect', 'array'); $toselect = GETPOST('toselect', 'array');
$search_btn = GETPOST('button_search', 'alpha'); $search_btn = GETPOST('button_search', 'alpha');
$search_remove_btn = GETPOST('button_removefilter', 'alpha'); $search_remove_btn = GETPOST('button_removefilter', 'alpha');
@ -257,12 +268,22 @@ if (empty($reshook)) {
$search_type = ''; $search_type = '';
$search_country = ''; $search_country = '';
$search_type_thirdparty = ''; $search_type_thirdparty = '';
$year = ""; $search_date_startday = '';
$month = ""; $search_date_startmonth = '';
$day = ""; $search_date_startyear = '';
$year_lim = ""; $search_date_endday = '';
$month_lim = ""; $search_date_endmonth = '';
$day_lim = ""; $search_date_endyear = '';
$search_date_start = '';
$search_date_end = '';
$search_datelimit_startday = '';
$search_datelimit_startmonth = '';
$search_datelimit_startyear = '';
$search_datelimit_endday = '';
$search_datelimit_endmonth = '';
$search_datelimit_endyear = '';
$search_datelimit_start = '';
$search_datelimit_end = '';
$toselect = ''; $toselect = '';
$search_array_options = array(); $search_array_options = array();
$filter = ''; $filter = '';
@ -548,8 +569,18 @@ if ($search_paymentmode > 0) {
if ($search_paymentcond > 0) { if ($search_paymentcond > 0) {
$sql .= " AND f.fk_cond_reglement = ".((int) $search_paymentcond); $sql .= " AND f.fk_cond_reglement = ".((int) $search_paymentcond);
} }
$sql .= dolSqlDateFilter("f.datef", $day, $month, $year); if ($search_date_start) {
$sql .= dolSqlDateFilter("f.date_lim_reglement", $day_lim, $month_lim, $year_lim); $sql .= " AND f.datef >= '" . $db->idate($search_date_start) . "'";
}
if ($search_date_end) {
$sql .= " AND f.datef <= '" . $db->idate($search_date_end) . "'";
}
if ($search_datelimit_start) {
$sql .= " AND f.date_lim_reglement >= '" . $db->idate($search_datelimit_start) . "'";
}
if ($search_datelimit_end) {
$sql .= " AND f.date_lim_reglement <= '" . $db->idate($search_datelimit_end) . "'";
}
if ($option == 'late') { if ($option == 'late') {
$sql .= " AND f.date_lim_reglement < '".$db->idate(dol_now() - $conf->facture->fournisseur->warning_delay)."'"; $sql .= " AND f.date_lim_reglement < '".$db->idate(dol_now() - $conf->facture->fournisseur->warning_delay)."'";
} }
@ -669,23 +700,41 @@ if ($resql) {
if ($search_all) { if ($search_all) {
$param .= '&search_all='.urlencode($search_all); $param .= '&search_all='.urlencode($search_all);
} }
if ($day) { if ($search_date_startday) {
$param .= '&day='.urlencode($day); $param .= '&search_date_startday='.urlencode($search_date_startday);
} }
if ($month) { if ($search_date_startmonth) {
$param .= '&month='.urlencode($month); $param .= '&search_date_startmonth='.urlencode($search_date_startmonth);
} }
if ($year) { if ($search_date_startyear) {
$param .= '&year='.urlencode($year); $param .= '&search_date_startyear='.urlencode($search_date_startyear);
} }
if ($day_lim) { if ($search_date_endday) {
$param .= '&day_lim='.urlencode($day_lim); $param .= '&search_date_endday='.urlencode($search_date_endday);
} }
if ($month_lim) { if ($search_date_endmonth) {
$param .= '&month_lim='.urlencode($month_lim); $param .= '&search_date_endmonth='.urlencode($search_date_endmonth);
} }
if ($year_lim) { if ($search_date_endyear) {
$param .= '&year_lim='.urlencode($year_lim); $param .= '&search_date_endyear='.urlencode($search_date_endyear);
}
if ($search_datelimit_startday) {
$param .= '&search_datelimit_startday='.urlencode($search_datelimit_startday);
}
if ($search_datelimit_startmonth) {
$param .= '&search_datelimit_startmonth='.urlencode($search_datelimit_startmonth);
}
if ($search_datelimit_startyear) {
$param .= '&search_datelimit_startyear='.urlencode($search_datelimit_startyear);
}
if ($search_datelimit_endday) {
$param .= '&search_datelimit_endday='.urlencode($search_datelimit_endday);
}
if ($search_datelimit_endmonth) {
$param .= '&search_datelimit_endmonth='.urlencode($search_datelimit_endmonth);
}
if ($search_datelimit_endyear) {
$param .= '&search_datelimit_endyear='.urlencode($search_datelimit_endyear);
} }
if ($search_ref) { if ($search_ref) {
$param .= '&search_ref='.urlencode($search_ref); $param .= '&search_ref='.urlencode($search_ref);
@ -956,23 +1005,28 @@ if ($resql) {
} }
// Date invoice // Date invoice
if (!empty($arrayfields['f.datef']['checked'])) { if (!empty($arrayfields['f.datef']['checked'])) {
print '<td class="liste_titre nowraponall center">'; print '<td class="liste_titre center">';
if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { print '<div class="nowrap">';
print '<input class="flat width25 valignmiddle" type="text" maxlength="2" name="day" value="'.dol_escape_htmltag($day).'">'; print $form->selectDate($search_date_start ? $search_date_start : -1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
} print '</div>';
print '<input class="flat width25 valignmiddle" type="text" size="1" maxlength="2" name="month" value="'.$month.'">'; print '<div class="nowrap">';
$formother->select_year($year ? $year : -1, 'year', 1, 20, 5); print $form->selectDate($search_date_end ? $search_date_end : -1, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
print '</div>';
print '</td>'; print '</td>';
} }
// Date due // Date due
if (!empty($arrayfields['f.date_lim_reglement']['checked'])) { if (!empty($arrayfields['f.date_lim_reglement']['checked'])) {
print '<td class="liste_titre nowraponall center">'; print '<td class="liste_titre center">';
if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { print '<div class="nowrap">';
print '<input class="flat width25 valignmiddle" type="text" maxlength="2" name="day_lim" value="'.dol_escape_htmltag($day_lim).'">'; /*
} print $langs->trans('From').' ';
print '<input class="flat width25 valignmiddle" type="text" maxlength="2" name="month_lim" value="'.$month_lim.'">'; print $form->selectDate($search_datelimit_start ? $search_datelimit_start : -1, 'search_datelimit_start', 0, 0, 1);
$formother->select_year($year_lim ? $year_lim : -1, 'year_lim', 1, 20, 5); print '</div>';
print '<br><input type="checkbox" class="paddingright paddingleft" name="option" id="option" value="late"'.($option == 'late' ? ' checked' : '').'><label for="option">'.$langs->trans("Late").'</label>'; print '<div class="nowrap">';
print $langs->trans('to').' ';*/
print $form->selectDate($search_datelimit_end ? $search_datelimit_end : -1, 'search_datelimit_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("Before"));
print '<br><input type="checkbox" name="search_option" value="late"'.($option == 'late' ? ' checked' : '').'> '.$langs->trans("Alert");
print '</div>';
print '</td>'; print '</td>';
} }
// Project // Project