diff --git a/htdocs/compta/salaries/index.php b/htdocs/compta/salaries/index.php index e6fcfab763c..1d0358f17cd 100644 --- a/htdocs/compta/salaries/index.php +++ b/htdocs/compta/salaries/index.php @@ -33,7 +33,33 @@ $socid = isset($_GET["socid"])?$_GET["socid"]:''; if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'tax', '', '', 'charges'); +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +$limit = $conf->liste_limit; +if (! $sortfield) $sortfield="s.datev"; +if (! $sortorder) $sortorder="DESC"; +$filtre=$_GET["filtre"]; + +if (empty($_REQUEST['typeid'])) +{ + $newfiltre=str_replace('filtre=','',$filtre); + $filterarray=explode('-',$newfiltre); + foreach($filterarray as $val) + { + $part=explode(':',$val); + if ($part[0] == 's.fk_typepayment') $typeid=$part[1]; + } +} +else +{ + $typeid=$_REQUEST['typeid']; +} /* * View @@ -41,20 +67,29 @@ $result = restrictedArea($user, 'tax', '', '', 'charges'); llxHeader(); +$form = new Form($db); $salstatic = new PaymentSalary($db); $userstatic = new User($db); - -print_fiche_titre($langs->trans("SalariesPayments")); - -$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, s.rowid, s.fk_user, s.amount, s.label, s.datev as dm, s.num_payment,"; -$sql.= " pst.code as payment_code"; +$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, s.rowid, s.fk_user, s.amount, s.label, s.datev as dm, s.fk_typepayment as type,"; +$sql.= " s.num_payment, pst.code as payment_code"; $sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pst ON s.fk_typepayment = pst.id,"; $sql.= " ".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE u.rowid = s.fk_user"; $sql.= " AND s.entity = ".$conf->entity; -$sql.= " ORDER BY dm DESC"; +if (GETPOST("search_label")) $sql.=" AND s.label LIKE '%".$db->escape(GETPOST("search_label"))."%'"; +if (GETPOST("search_amount")) $sql.=" AND s.amount = ".price2num(GETPOST("search_amount")); +if ($filtre) { + $filtre=str_replace(":","=",$filtre); + $sql .= " AND ".$filtre; +} +if ($typeid) { + $sql .= " AND s.fk_typepayment=".$typeid; +} +$sql.= " GROUP BY s.rowid, s.fk_typepayment, s.amount, s.datev, s.label"; +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($limit+1,$offset); $result = $db->query($sql); if ($result) @@ -62,18 +97,44 @@ if ($result) $num = $db->num_rows($result); $i = 0; $total = 0 ; + $var=true; + + $param=''; + if ($typeid) $param.='&typeid='.$typeid; + + print_barre_liste($langs->trans("SalariesPayments"),$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$totalnboflines); + + dol_htmloutput_mesg($mesg); + + print '
'; + $db->free($result); } else