* Copyright (C) 2004 Laurent Destailleur * * 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 * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ * $Source$ * */ /** \file htdocs/compta/sociales/index.php \ingroup compta \brief Ecran des charges sociales \version $Revision$ */ require("./pre.inc.php"); $user->getrights('facture'); $user->getrights('compta'); if (!$user->admin && !$user->rights->compta->charges->lire) accessforbidden(); llxHeader(); $sortfield = isset($_GET["sortfield"])?$_GET["sortfield"]:$_POST["sortfield"]; $sortorder = isset($_GET["sortorder"])?$_GET["sortorder"]:$_POST["sortorder"]; $page = $_GET["page"]; if ($page < 0) $page = 0; $limit = $conf->liste_limit; $offset = $limit * $page ; if (! $sortfield) $sortfield="c.id"; if (! $sortorder) $sortorder="DESC"; /* * Ajout d'une charge sociale */ if ($_POST["action"] == 'add') { if (! $_POST["date"] || ! $_POST["periode"] || ! $_POST["amount"]) { $mesg="
Erreur: Tous les champs date et montant doivent etre renseignés avec une valeur non vide.
"; } else { $sql = "INSERT INTO ".MAIN_DB_PREFIX."chargesociales (fk_type, libelle, date_ech, periode, amount) "; $sql .= " VALUES (".$_POST["type"].",'".addslashes($_POST["libelle"])."','".$_POST["date"]."','".$_POST["periode"]."','".$_POST["amount"]."');"; if (! $db->query($sql) ) { dolibarr_print_error($db); } else { $mesg="
La charge a été ajoutée.
"; } } } /* * Suppression d'une charge sociale */ if ($_GET["action"] == 'del') { $sql = "DELETE FROM ".MAIN_DB_PREFIX."chargesociales where rowid='".$_GET["id"]."'"; if (! $db->query($sql) ) { dolibarr_print_error($db); } } /* * Affichage liste et formulaire des charges. */ $year=$_GET["year"]; $filtre=$_GET["filtre"]; //if (! $year) { $year=date("Y", time()); } print_fiche_titre($langs->trans("SocialContributions"),($year?"".img_previous()." ".$langs->trans("Year")." $year ".img_next()."":"")); print "
\n"; if ($mesg) { print "$mesg
"; } print ""; /* * Forumalaire d'ajout d'une charge * */ if ($user->rights->compta->charges->creer) { $var=false; print ""; print ''; print "\n"; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; } print ""; print_liste_field_titre($langs->trans("Ref"),"index.php","id","","","",$sortfield); print_liste_field_titre($langs->trans("DateDue"),"index.php","de","","","",$sortfield); print_liste_field_titre($langs->trans("Period"),"index.php","periode","","","",$sortfield); print_liste_field_titre($langs->trans("Type"),"index.php","type","","",'align="left"',$sortfield); print_liste_field_titre($langs->trans("Label"),"index.php","s.libelle","","",'align="left"',$sortfield); print_liste_field_titre($langs->trans("Amount"),"index.php","s.amount","","",'align="right"',$sortfield); print_liste_field_titre($langs->trans("Status"),"index.php","s.paye","","",'align="center"',$sortfield); print "\n"; $sql = "SELECT s.rowid as id, s.fk_type as type, c.libelle as type_lib, s.amount,".$db->pdate("s.date_ech")." as de, s.date_pai, s.libelle, s.paye,".$db->pdate("s.periode")." as periode,".$db->pdate("s.date_pai")." as dp"; $sql .= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c, ".MAIN_DB_PREFIX."chargesociales as s"; $sql .= " WHERE s.fk_type = c.id"; if ($year > 0) { $sql .= " AND ("; // Si period renseigné on l'utilise comme critere de date, sinon on prend date échéance, // ceci afin d'etre compatible avec les cas ou la période n'etait pas obligatoire $sql .= " (s.periode is not null and date_format(s.periode, '%Y') = $year) "; $sql .= "or (s.periode is null and date_format(s.date_ech, '%Y') = $year)"; $sql .= ")"; } if ($filtre) { $filtre=ereg_replace(":","=",$filtre); $sql .= " AND $filtre"; } if ($_GET["sortfield"]) { $sql .= " ORDER BY ".$_GET["sortfield"]; } else { $sql .= " ORDER BY lower(s.date_ech)"; } if ($_GET["sortorder"]) { $sql .= " ".$_GET["sortorder"]; } else { $sql .= " DESC"; } if ( $db->query($sql) ) { $num = $db->num_rows(); $i = 0; $var=true; while ($i < $num) { $obj = $db->fetch_object(); $var = !$var; print ""; print ''; print ''; print ''; print ''; print ''; if ($obj->paye) { print ''; } else { print ''; } print ''; $i++; } } else { dolibarr_print_error($db); } print '
'; print ' '; print ''; print $langs->trans("DateDue"); print ''; print $langs->trans("Period"); print ''; print $langs->trans("Type"); print ''; print $langs->trans("Label"); print ''; print $langs->trans("Amount"); print ''; print ' '; print '
 
YYYYMMDD

YYYYMMDD
'; print '
 
'; print ''.img_file().' '.$obj->id.''; print ''.dolibarr_print_date($obj->de).''; if ($obj->periode) { print 'periode).'">'.strftime("%Y",$obj->periode).''; } else { print ' '; } print ''.$obj->type_lib.''.$obj->libelle.''.price($obj->amount).'PayéImpayé
'; $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>