diff --git a/htdocs/contrat/services.php b/htdocs/contrat/services.php index 2d0f121f0a9..53fcdc3b9b3 100644 --- a/htdocs/contrat/services.php +++ b/htdocs/contrat/services.php @@ -38,13 +38,18 @@ $mode = isset($_GET["mode"])?$_GET["mode"]:$_POST["mode"]; $sortfield = isset($_GET["sortfield"])?$_GET["sortfield"]:$_POST["sortfield"]; $sortorder = isset($_GET["sortorder"])?$_GET["sortorder"]:$_POST["sortorder"]; $page = isset($_GET["page"])?$_GET["page"]:$_POST["page"]; +if ($page == -1) { $page = 0 ; } +$limit = $conf->liste_limit; +$offset = $limit * $page ; +if (! $sortfield) $sortfield="c.rowid"; +if (! $sortorder) $sortorder="ASC"; + +$search_nom=isset($_GET["search_nom"])?$_GET["search_nom"]:$_POST["search_nom"]; +$search_contract=isset($_GET["search_contract"])?$_GET["search_contract"]:$_POST["search_contract"]; $statut=isset($_GET["statut"])?$_GET["statut"]:1; $socid=$_GET["socid"]; - -llxHeader(); - // Sécurité accés client if ($user->societe_id > 0) { @@ -53,12 +58,7 @@ if ($user->societe_id > 0) } -if ($page == -1) { $page = 0 ; } -$limit = $conf->liste_limit; -$offset = $limit * $page ; - -if (! $sortfield) $sortfield="c.rowid"; -if (! $sortorder) $sortorder="ASC"; +llxHeader(); $sql = "SELECT s.nom, c.rowid as cid, s.idp as sidp, cd.rowid, cd.label, cd.statut, p.rowid as pid,"; @@ -77,75 +77,93 @@ if ($mode == "4") $sql.= " AND cd.statut = 4"; if ($mode == "5") $sql.= " AND cd.statut = 5"; // \todo filtre sur services expirés //if ($mode == "expired") $sql.= " AND cd.statut = 1"; -if ($socid > 0) -{ - $sql .= " AND s.idp = $socid"; -} +if ($search_nom) $sql.= " AND s.nom like '%".$search_nom."%'"; +if ($search_contract) $sql.= " AND c.rowid = '".$search_contract."'"; +if ($socid > 0) $sql.= " AND s.idp = $socid"; $sql .= " ORDER BY $sortfield $sortorder"; $sql .= $db->plimit($limit + 1 ,$offset); $resql=$db->query($sql); if ($resql) { - $num = $db->num_rows($resql); - $i = 0; + $num = $db->num_rows($resql); + $i = 0; - print_barre_liste($langs->trans("ListOfServices"), $page, "services.php", "&sref=$sref&snom=$snom&mode=$mode", $sortfield, $sortorder,'',$num); + print_barre_liste($langs->trans("ListOfServices"), $page, "services.php", "&sref=$sref&snom=$snom&mode=$mode", $sortfield, $sortorder,'',$num); - print ''; + print '
'; - print ''; - print_liste_field_titre($langs->trans("Contract"),"services.php", "c.rowid","&mode=$mode","","",$sortfield); - print_liste_field_titre($langs->trans("Service"),"services.php", "p.label","&mode=$mode","","",$sortfield); - print_liste_field_titre($langs->trans("Company"),"services.php", "s.nom","&mode=$mode","","",$sortfield); - // Date debut - if ($mode == "0") print_liste_field_titre($langs->trans("DateStartPlannedShort"),"services.php", "cd.date_ouverture_prevue","&mode=$mode",'',' align="center"',$sortfield); - if ($mode == "" || $mode > 0) print_liste_field_titre($langs->trans("DateStartRealShort"),"services.php", "cd.date_ouverture","&mode=$mode",'',' align="center"',$sortfield); - // Date fin - if ($mode == "" || $mode < 5) print_liste_field_titre($langs->trans("DateEndPlannedShort"),"services.php", "cd.date_fin_validite","&mode=$mode",'',' align="center"',$sortfield); - else print_liste_field_titre($langs->trans("DateEndRealShort"),"services.php", "cd.date_cloture","&mode=$mode",'',' align="center"',$sortfield); - print_liste_field_titre($langs->trans("Status"),"services.php", "cd.statut","&mode=$mode","","",$sortfield); - print "\n"; + print ''; + $param='&search_contract='.$search_contract; + $param.='&search_nom='.$search_nom; + $param.='&mode='.$mode; + print_liste_field_titre($langs->trans("Contract"),"services.php", "c.rowid","$param","","",$sortfield); + print_liste_field_titre($langs->trans("Service"),"services.php", "p.label","$param","","",$sortfield); + print_liste_field_titre($langs->trans("Company"),"services.php", "s.nom","$param","","",$sortfield); + // Date debut + if ($mode == "0") print_liste_field_titre($langs->trans("DateStartPlannedShort"),"services.php", "cd.date_ouverture_prevue","$param",'',' align="center"',$sortfield); + if ($mode == "" || $mode > 0) print_liste_field_titre($langs->trans("DateStartRealShort"),"services.php", "cd.date_ouverture","$param",'',' align="center"',$sortfield); + // Date fin + if ($mode == "" || $mode < 5) print_liste_field_titre($langs->trans("DateEndPlannedShort"),"services.php", "cd.date_fin_validite","$param",'',' align="center"',$sortfield); + else print_liste_field_titre($langs->trans("DateEndRealShort"),"services.php", "cd.date_cloture","$param",'',' align="center"',$sortfield); + print_liste_field_titre($langs->trans("Status"),"services.php", "cd.statut","$param","","",$sortfield); + print "\n"; - $now=mktime(); - $var=True; - while ($i < min($num,$limit)) + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '"; + print "\n"; + print ''; + + $now=mktime(); + $var=True; + while ($i < min($num,$limit)) { - $obj = $db->fetch_object($resql); - $var=!$var; - print ""; - print ''; - print ''; - print ''; - // Date debut - if ($mode == "0") { - print '"; + print ''; + print ''; + print ''; + // Date debut + if ($mode == "0") { + print ''; + } + if ($mode == "" || $mode > 0) print ''; + // Date fin + if ($mode == "" || $mode < 5) print ''; - } - if ($mode == "" || $mode > 0) print ''; - // Date fin - if ($mode == "" || $mode < 5) print ''; - print ''; - print "\n"; - $i++; + print ''; + print "\n"; + $i++; } - $db->free($resql); + $db->free($resql); - print "
'; + print ''; + print ' '; + print ''; + print '  '; + print "
'.img_object($langs->trans("ShowContract"),"contract").' '.$obj->cid.''.img_object($langs->trans("ShowService"),"service").' '.dolibarr_trunc($obj->label,20).''.img_object($langs->trans("ShowCompany"),"company").' '.dolibarr_trunc($obj->nom,44).''; - print ($obj->date_ouverture_prevue?dolibarr_print_date($obj->date_ouverture_prevue):' '); - if ($obj->date_ouverture_prevue && ($obj->date_ouverture_prevue < (time() - $conf->contrat->services->inactifs->warning_delay))) + $obj = $db->fetch_object($resql); + $var=!$var; + print "
'.img_object($langs->trans("ShowContract"),"contract").' '.$obj->cid.''.img_object($langs->trans("ShowService"),"service").' '.dolibarr_trunc($obj->label,20).''.img_object($langs->trans("ShowCompany"),"company").' '.dolibarr_trunc($obj->nom,44).''; + print ($obj->date_ouverture_prevue?dolibarr_print_date($obj->date_ouverture_prevue):' '); + if ($obj->date_ouverture_prevue && ($obj->date_ouverture_prevue < (time() - $conf->contrat->services->inactifs->warning_delay))) print img_picto($langs->trans("Late"),"warning"); + else print '    '; + print ''.($obj->date_ouverture?dolibarr_print_date($obj->date_ouverture):' ').''.($obj->date_fin_validite?dolibarr_print_date($obj->date_fin_validite):' '); + else print ''.dolibarr_print_date($obj->date_cloture); + // Icone warning + if ($obj->date_fin_validite && $obj->date_fin_validite < (time() - $conf->contrat->services->expires->warning_delay) && $obj->statut < 5) print img_warning($langs->trans("Late")); else print '    '; print ''.($obj->date_ouverture?dolibarr_print_date($obj->date_ouverture):' ').''.($obj->date_fin_validite?dolibarr_print_date($obj->date_fin_validite):' '); - else print ''.dolibarr_print_date($obj->date_cloture); - // Icone warning - if ($obj->date_fin_validite && $obj->date_fin_validite < (time() - $conf->contrat->services->expires->warning_delay) && $obj->statut < 5) print img_warning($langs->trans("Late")); - else print '    '; - print 'statut
statut
"; + print ""; } else { - dolibarr_print_error($db); + dolibarr_print_error($db); }