diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php
index 43f5bd6ff2f..0df6c88a5a6 100644
--- a/htdocs/projet/list.php
+++ b/htdocs/projet/list.php
@@ -120,6 +120,26 @@ $search_eday = GETPOST('search_eday', 'int');
$search_emonth = GETPOST('search_emonth', 'int');
$search_eyear = GETPOST('search_eyear', 'int');
+
+$search_date_start_startmonth = GETPOST('search_date_start_startmonth', 'int');
+$search_date_start_startyear = GETPOST('search_date_start_startyear', 'int');
+$search_date_start_startday = GETPOST('search_date_start_startday', 'int');
+$search_date_start_start = dol_mktime(0, 0, 0, $search_date_start_startmonth, $search_date_start_startday, $search_date_start_startyear); // Use tzserver
+$search_date_start_endmonth = GETPOST('search_date_start_endmonth', 'int');
+$search_date_start_endyear = GETPOST('search_date_start_endyear', 'int');
+$search_date_start_endday = GETPOST('search_date_start_endday', 'int');
+$search_date_start_end = dol_mktime(23, 59, 59, $search_date_start_endmonth, $search_date_start_endday, $search_date_start_endyear); // Use tzserver
+
+$search_date_end_startmonth = GETPOST('search_date_end_startmonth', 'int');
+$search_date_end_startyear = GETPOST('search_date_end_startyear', 'int');
+$search_date_end_startday = GETPOST('search_date_end_startday', 'int');
+$search_date_end_start = dol_mktime(0, 0, 0, $search_date_end_startmonth, $search_date_end_startday, $search_date_end_startyear); // Use tzserver
+$search_date_end_endmonth = GETPOST('search_date_end_endmonth', 'int');
+$search_date_end_endyear = GETPOST('search_date_end_endyear', 'int');
+$search_date_end_endday = GETPOST('search_date_end_endday', 'int');
+$search_date_end_end = dol_mktime(23, 59, 59, $search_date_end_endmonth, $search_date_end_endday, $search_date_end_endyear); // Use tzserver
+
+
if ($search_status == '') {
$search_status = -1; // -1 or 1
}
@@ -237,6 +257,22 @@ if (empty($reshook)) {
$search_eday = "";
$search_emonth = "";
$search_eyear = "";
+ $search_date_start_startmonth = "";
+ $search_date_start_startyear = "";
+ $search_date_start_startday = "";
+ $search_date_start_start = "";
+ $search_date_start_endmonth = "";
+ $search_date_start_endyear = "";
+ $search_date_start_endday = "";
+ $search_date_start_end = "";
+ $search_date_end_startmonth = "";
+ $search_date_end_startyear = "";
+ $search_date_end_startday = "";
+ $search_date_end_start = "";
+ $search_date_end_endmonth = "";
+ $search_date_end_endyear = "";
+ $search_date_end_endday = "";
+ $search_date_end_end = "";
$search_usage_opportunity = '';
$search_usage_task = '';
$search_usage_bill_time = '';
@@ -408,6 +444,22 @@ if ($search_opp_percent) {
}
$sql .= dolSqlDateFilter('p.dateo', $search_sday, $search_smonth, $search_syear);
$sql .= dolSqlDateFilter('p.datee', $search_eday, $search_emonth, $search_eyear);
+
+
+if ($search_date_start_start) {
+ $sql .= " AND p.dateo >= '".$db->idate($search_date_start_start)."'";
+}
+if ($search_date_start_end) {
+ $sql .= " AND p.dateo <= '".$db->idate($search_date_start_end)."'";
+}
+
+if ($search_date_end_start) {
+ $sql .= " AND p.datee >= '".$db->idate($search_date_end_start)."'";
+}
+if ($search_date_end_end) {
+ $sql .= " AND p.datee <= '".$db->idate($search_date_end_end)."'";
+}
+
if ($search_all) {
$sql .= natural_search(array_keys($fieldstosearchall), $search_all);
}
@@ -558,6 +610,54 @@ if ($search_emonth) {
if ($search_eyear) {
$param .= '&search_eyear='.urlencode($search_eyear);
}
+if ($search_date_start_startmonth) {
+ $param .= '&search_date_start_startmonth='.urlencode($search_date_start_startmonth);
+}
+if ($search_date_start_startyear) {
+ $param .= '&search_date_start_startyear='.urlencode($search_date_start_startyear);
+}
+if ($search_date_start_startday) {
+ $param .= '&search_date_start_startday='.urlencode($search_date_start_startday);
+}
+if ($search_date_start_start) {
+ $param .= '&search_date_start_start='.urlencode($search_date_start_start);
+}
+if ($search_date_start_endmonth) {
+ $param .= '&search_date_start_endmonth='.urlencode($search_date_start_endmonth);
+}
+if ($search_date_start_endyear) {
+ $param .= '&search_date_start_endyear='.urlencode($search_date_start_endyear);
+}
+if ($search_date_start_endday) {
+ $param .= '&search_date_start_endday='.urlencode($search_date_start_endday);
+}
+if ($search_date_start_end) {
+ $param .= '&search_date_start_end='.urlencode($search_date_start_end);
+}
+if ($search_date_end_startmonth) {
+ $param .= '&search_date_end_startmonth='.urlencode($search_date_end_startmonth);
+}
+if ($search_date_end_startyear) {
+ $param .= '&search_date_end_startyear='.urlencode($search_date_end_startyear);
+}
+if ($search_date_end_startday) {
+ $param .= '&search_date_end_startday='.urlencode($search_date_end_startday);
+}
+if ($search_date_end_start) {
+ $param .= '&search_date_end_start='.urlencode($search_date_end_start);
+}
+if ($search_date_end_endmonth) {
+ $param .= '&search_date_end_endmonth='.urlencode($search_date_end_endmonth);
+}
+if ($search_date_end_endyear) {
+ $param .= '&search_date_end_endyear='.urlencode($search_date_end_endyear);
+}
+if ($search_date_end_endday) {
+ $param .= '&search_date_end_endday='.urlencode($search_date_end_endday);
+}
+if ($search_date_end_end) {
+ $param .= '&search_date_end_end=' . urlencode($search_date_end_end);
+}
if ($socid) {
$param .= '&socid='.urlencode($socid);
}
@@ -769,21 +869,33 @@ if (!empty($arrayfields['commercial']['checked'])) {
// Start date
if (!empty($arrayfields['p.dateo']['checked'])) {
print '
';
- if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
+ /*if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
print '';
}
print '';
- $formother->select_year($search_syear ? $search_syear : -1, 'search_syear', 1, 20, 5, 0, 0, '', 'widthauto valignmiddle');
+ $formother->select_year($search_syear ? $search_syear : -1, 'search_syear', 1, 20, 5, 0, 0, '', 'widthauto valignmiddle');*/
+ print ' ';
+ print $form->selectDate($search_date_start_start ? $search_date_start_start : -1, 'search_date_start_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
+ print ' ';
+ print '';
+ print $form->selectDate($search_date_start_end ? $search_date_start_end : -1, 'search_date_start_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
+ print ' ';
print ' | ';
}
// End date
if (!empty($arrayfields['p.datee']['checked'])) {
print '';
- if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
+ /*if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
print '';
}
print '';
- $formother->select_year($search_eyear ? $search_eyear : -1, 'search_eyear', 1, 20, 5, 0, 0, '', 'widthauto valignmiddle');
+ $formother->select_year($search_eyear ? $search_eyear : -1, 'search_eyear', 1, 20, 5, 0, 0, '', 'widthauto valignmiddle');*/
+ print ' ';
+ print $form->selectDate($search_date_end_start ? $search_date_end_start : -1, 'search_date_end_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
+ print ' ';
+ print '';
+ print $form->selectDate($search_date_end_end ? $search_date_end_end : -1, 'search_date_end_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
+ print ' ';
print ' | ';
}
if (!empty($arrayfields['p.public']['checked'])) {
diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php
index 367f7a27681..aec790b9240 100644
--- a/htdocs/projet/tasks.php
+++ b/htdocs/projet/tasks.php
@@ -83,6 +83,24 @@ $search_timespend = GETPOST('search_timespend');
$search_progresscalc = GETPOST('search_progresscalc');
$search_progressdeclare = GETPOST('search_progressdeclare');
+$search_date_start_startmonth = GETPOST('search_date_start_startmonth', 'int');
+$search_date_start_startyear = GETPOST('search_date_start_startyear', 'int');
+$search_date_start_startday = GETPOST('search_date_start_startday', 'int');
+$search_date_start_start = dol_mktime(0, 0, 0, $search_date_start_startmonth, $search_date_start_startday, $search_date_start_startyear); // Use tzserver
+$search_date_start_endmonth = GETPOST('search_date_start_endmonth', 'int');
+$search_date_start_endyear = GETPOST('search_date_start_endyear', 'int');
+$search_date_start_endday = GETPOST('search_date_start_endday', 'int');
+$search_date_start_end = dol_mktime(23, 59, 59, $search_date_start_endmonth, $search_date_start_endday, $search_date_start_endyear); // Use tzserver
+
+$search_date_end_startmonth = GETPOST('search_date_end_startmonth', 'int');
+$search_date_end_startyear = GETPOST('search_date_end_startyear', 'int');
+$search_date_end_startday = GETPOST('search_date_end_startday', 'int');
+$search_date_end_start = dol_mktime(0, 0, 0, $search_date_end_startmonth, $search_date_end_startday, $search_date_end_startyear); // Use tzserver
+$search_date_end_endmonth = GETPOST('search_date_end_endmonth', 'int');
+$search_date_end_endyear = GETPOST('search_date_end_endyear', 'int');
+$search_date_end_endday = GETPOST('search_date_end_endday', 'int');
+$search_date_end_end = dol_mktime(23, 59, 59, $search_date_end_endmonth, $search_date_end_endday, $search_date_end_endyear); // Use tzserver
+
$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'projecttasklist';
//if (! $user->rights->projet->all->lire) $mine=1; // Special for projects
@@ -188,6 +206,22 @@ if (empty($reshook)) {
$search_progressdeclare = '';
$toselect = '';
$search_array_options = array();
+ $search_date_start_startmonth = "";
+ $search_date_start_startyear = "";
+ $search_date_start_startday = "";
+ $search_date_start_start = "";
+ $search_date_start_endmonth = "";
+ $search_date_start_endyear = "";
+ $search_date_start_endday = "";
+ $search_date_start_end = "";
+ $search_date_end_startmonth = "";
+ $search_date_end_startyear = "";
+ $search_date_end_startday = "";
+ $search_date_end_start = "";
+ $search_date_end_endmonth = "";
+ $search_date_end_endyear = "";
+ $search_date_end_endday = "";
+ $search_date_end_end = "";
}
// Mass actions
@@ -219,6 +253,20 @@ if ($moresql) {
$morewherefilterarray[] = $moresql;
}
+if ($search_date_start_start) {
+ $morewherefilterarray[] = " t.dateo >= '".$db->idate($search_date_start_start)."'";
+}
+if ($search_date_start_end) {
+ $morewherefilterarray[] = " t.dateo <= '".$db->idate($search_date_start_end)."'";
+}
+
+if ($search_date_end_start) {
+ $morewherefilterarray[] = " t.datee >= '".$db->idate($search_date_end_start)."'";
+}
+if ($search_date_end_end) {
+ $morewherefilterarray[] = " t.datee <= '".$db->idate($search_date_end_end)."'";
+}
+
if (!empty($search_planedworkload)) {
$morewherefilterarray[] = natural_search('t.planned_workload', $search_planedworkload, 1, 1);
}
@@ -416,6 +464,54 @@ if ($id > 0 || !empty($ref)) {
if ($search_dtendyear) {
$param .= '&search_dtendyear='.urlencode($search_dtendyear);
}
+ if ($search_date_start_startmonth) {
+ $param .= '&search_date_start_startmonth='.urlencode($search_date_start_startmonth);
+ }
+ if ($search_date_start_startyear) {
+ $param .= '&search_date_start_startyear='.urlencode($search_date_start_startyear);
+ }
+ if ($search_date_start_startday) {
+ $param .= '&search_date_start_startday='.urlencode($search_date_start_startday);
+ }
+ if ($search_date_start_start) {
+ $param .= '&search_date_start_start='.urlencode($search_date_start_start);
+ }
+ if ($search_date_start_endmonth) {
+ $param .= '&search_date_start_endmonth='.urlencode($search_date_start_endmonth);
+ }
+ if ($search_date_start_endyear) {
+ $param .= '&search_date_start_endyear='.urlencode($search_date_start_endyear);
+ }
+ if ($search_date_start_endday) {
+ $param .= '&search_date_start_endday='.urlencode($search_date_start_endday);
+ }
+ if ($search_date_start_end) {
+ $param .= '&search_date_start_end='.urlencode($search_date_start_end);
+ }
+ if ($search_date_end_startmonth) {
+ $param .= '&search_date_end_startmonth='.urlencode($search_date_end_startmonth);
+ }
+ if ($search_date_end_startyear) {
+ $param .= '&search_date_end_startyear='.urlencode($search_date_end_startyear);
+ }
+ if ($search_date_end_startday) {
+ $param .= '&search_date_end_startday='.urlencode($search_date_end_startday);
+ }
+ if ($search_date_end_start) {
+ $param .= '&search_date_end_start='.urlencode($search_date_end_start);
+ }
+ if ($search_date_end_endmonth) {
+ $param .= '&search_date_end_endmonth='.urlencode($search_date_end_endmonth);
+ }
+ if ($search_date_end_endyear) {
+ $param .= '&search_date_end_endyear='.urlencode($search_date_end_endyear);
+ }
+ if ($search_date_end_endday) {
+ $param .= '&search_date_end_endday='.urlencode($search_date_end_endday);
+ }
+ if ($search_date_end_end) {
+ $param .= '&search_date_end_end=' . urlencode($search_date_end_end);
+ }
if ($search_planedworkload) {
$param .= '&search_planedworkload='.urlencode($search_planedworkload);
}
@@ -777,17 +873,29 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third
if (!empty($arrayfields['t.dateo']['checked'])) {
print '';
- print '';
+ /*print '';
print '';
- $formother->select_year($search_dtstartyear ? $search_dtstartyear : -1, 'search_dtstartyear', 1, 20, 5);
+ $formother->select_year($search_dtstartyear ? $search_dtstartyear : -1, 'search_dtstartyear', 1, 20, 5);*/
+ print ' ';
+ print $form->selectDate($search_date_start_start ? $search_date_start_start : -1, 'search_date_start_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
+ print ' ';
+ print '';
+ print $form->selectDate($search_date_start_end ? $search_date_start_end : -1, 'search_date_start_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
+ print ' ';
print ' | ';
}
if (!empty($arrayfields['t.datee']['checked'])) {
print '';
- print '';
+ /*print '';
print '';
- $formother->select_year($search_dtendyear ? $search_dtendyear : -1, 'search_dtendyear', 1, 20, 5);
+ $formother->select_year($search_dtendyear ? $search_dtendyear : -1, 'search_dtendyear', 1, 20, 5);*/
+ print ' ';
+ print $form->selectDate($search_date_end_start ? $search_date_end_start : -1, 'search_date_end_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
+ print ' ';
+ print '';
+ print $form->selectDate($search_date_end_end ? $search_date_end_end : -1, 'search_date_end_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
+ print ' ';
print ' | ';
}
diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php
index 8dc369b6a0a..8ffbcf7d609 100644
--- a/htdocs/projet/tasks/list.php
+++ b/htdocs/projet/tasks/list.php
@@ -78,6 +78,24 @@ $search_eday = GETPOST('search_eday', 'int');
$search_emonth = GETPOST('search_emonth', 'int');
$search_eyear = GETPOST('search_eyear', 'int');
+$search_date_start_startmonth = GETPOST('search_date_start_startmonth', 'int');
+$search_date_start_startyear = GETPOST('search_date_start_startyear', 'int');
+$search_date_start_startday = GETPOST('search_date_start_startday', 'int');
+$search_date_start_start = dol_mktime(0, 0, 0, $search_date_start_startmonth, $search_date_start_startday, $search_date_start_startyear); // Use tzserver
+$search_date_start_endmonth = GETPOST('search_date_start_endmonth', 'int');
+$search_date_start_endyear = GETPOST('search_date_start_endyear', 'int');
+$search_date_start_endday = GETPOST('search_date_start_endday', 'int');
+$search_date_start_end = dol_mktime(23, 59, 59, $search_date_start_endmonth, $search_date_start_endday, $search_date_start_endyear); // Use tzserver
+
+$search_date_end_startmonth = GETPOST('search_date_end_startmonth', 'int');
+$search_date_end_startyear = GETPOST('search_date_end_startyear', 'int');
+$search_date_end_startday = GETPOST('search_date_end_startday', 'int');
+$search_date_end_start = dol_mktime(0, 0, 0, $search_date_end_startmonth, $search_date_end_startday, $search_date_end_startyear); // Use tzserver
+$search_date_end_endmonth = GETPOST('search_date_end_endmonth', 'int');
+$search_date_end_endyear = GETPOST('search_date_end_endyear', 'int');
+$search_date_end_endday = GETPOST('search_date_end_endday', 'int');
+$search_date_end_end = dol_mktime(23, 59, 59, $search_date_end_endmonth, $search_date_end_endday, $search_date_end_endyear); // Use tzserver
+
// Initialize context for list
$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'tasklist';
@@ -197,6 +215,22 @@ if (empty($reshook)) {
$search_eday = '';
$search_emonth = '';
$search_eyear = '';
+ $search_date_start_startmonth = "";
+ $search_date_start_startyear = "";
+ $search_date_start_startday = "";
+ $search_date_start_start = "";
+ $search_date_start_endmonth = "";
+ $search_date_start_endyear = "";
+ $search_date_start_endday = "";
+ $search_date_start_end = "";
+ $search_date_end_startmonth = "";
+ $search_date_end_startyear = "";
+ $search_date_end_startday = "";
+ $search_date_end_start = "";
+ $search_date_end_endmonth = "";
+ $search_date_end_endyear = "";
+ $search_date_end_endday = "";
+ $search_date_end_end = "";
$toselect = '';
$search_array_options = array();
}
@@ -372,8 +406,24 @@ if ($search_task_progress) {
if ($search_societe) {
$sql .= natural_search('s.nom', $search_societe);
}
+
$sql .= dolSqlDateFilter('t.dateo', $search_sday, $search_smonth, $search_syear);
$sql .= dolSqlDateFilter('t.datee', $search_eday, $search_emonth, $search_eyear);
+
+if ($search_date_start_start) {
+ $sql .= " AND t.dateo >= '".$db->idate($search_date_start_start)."'";
+}
+if ($search_date_start_end) {
+ $sql .= " AND t.dateo <= '".$db->idate($search_date_start_end)."'";
+}
+
+if ($search_date_end_start) {
+ $sql .= " AND t.datee >= '".$db->idate($search_date_end_start)."'";
+}
+if ($search_date_end_end) {
+ $sql .= " AND t.datee <= '".$db->idate($search_date_end_end)."'";
+}
+
if ($search_all) {
$sql .= natural_search(array_keys($fieldstosearchall), $search_all);
}
@@ -647,21 +697,33 @@ if (!empty($arrayfields['t.description']['checked'])) {
// Start date
if (!empty($arrayfields['t.dateo']['checked'])) {
print '';
- if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
+ /*if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
print '';
}
print '';
- print $formother->selectyear($search_syear ? $search_syear : -1, 'search_syear', 1, 20, 5, 0, 0, '', 'valignmiddle width75', 1);
+ print $formother->selectyear($search_syear ? $search_syear : -1, 'search_syear', 1, 20, 5, 0, 0, '', 'valignmiddle width75', 1);*/
+ print ' ';
+ print $form->selectDate($search_date_start_start ? $search_date_start_start : -1, 'search_date_start_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
+ print ' ';
+ print '';
+ print $form->selectDate($search_date_start_end ? $search_date_start_end : -1, 'search_date_start_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
+ print ' ';
print ' | ';
}
// End date
if (!empty($arrayfields['t.datee']['checked'])) {
print '';
- if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
+ /*if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) {
print '';
}
print '';
- print $formother->selectyear($search_eyear ? $search_eyear : -1, 'search_eyear', 1, 20, 5, 0, 0, '', 'valignmiddle width75', 1);
+ print $formother->selectyear($search_eyear ? $search_eyear : -1, 'search_eyear', 1, 20, 5, 0, 0, '', 'valignmiddle width75', 1);*/
+ print ' ';
+ print $form->selectDate($search_date_end_start ? $search_date_end_start : -1, 'search_date_end_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
+ print ' ';
+ print '';
+ print $form->selectDate($search_date_end_end ? $search_date_end_end : -1, 'search_date_end_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'));
+ print ' ';
print ' | ';
}
if (!empty($arrayfields['p.ref']['checked'])) {