diff --git a/htdocs/compta/prelevement/ligne.php b/htdocs/compta/prelevement/ligne.php new file mode 100644 index 00000000000..54d7cd5249c --- /dev/null +++ b/htdocs/compta/prelevement/ligne.php @@ -0,0 +1,241 @@ + + * + * 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$ + * + */ +require("./pre.inc.php"); + +require_once DOL_DOCUMENT_ROOT."/compta/prelevement/rejet-prelevement.class.php"; +require_once DOL_DOCUMENT_ROOT."/paiement.class.php"; +require_once DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"; + +/* + * Sécurité accés client + */ +if ($user->societe_id > 0) accessforbidden(); + +if ($_POST["action"] == 'confirm_rejet') +{ + if ( $_POST["confirm"] == 'yes') + { + if ($_POST["motif"] > 0) + { + $rej = new RejetPrelevement($db, $user); + + $rej->create($user, $_GET["id"], $_GET["socid"], $_GET["previd"], $_POST["motif"]); + + Header("Location: lignes.php?id=".$_GET["id"]); + } + else + { + Header("Location: lignes.php?id=".$_GET["id"]."&action=rejet&socid=".$_GET["socid"]."&previd=".$_GET["previd"]); + } + } + else + { + Header("Location: lignes.php?id=".$_GET["id"]); + } +} + + +llxHeader('','Prélèvement'); + +$h = 0; +$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/fiche.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Fiche"); +$hselected = $h; +$h++; + +if ($_GET["id"]) +{ + dolibarr_fiche_head($head, $hselected, 'Prélèvement : '. $bon->ref); + + + print ''; + + print ''; + + print '
Référence'.$bon->ref.'

'; + +} + +if ($_GET["action"] == 'rejet') +{ + $html = new Form($db); + + $soc = new Societe($db); + $soc->fetch($_GET["socid"]); + + //$html->form_confirm("factures.php"."?id=".$_GET["id"]."&socid=".$_GET["socid"]."&previd=".$_GET["previd"],"Rejet de prélèvement","Etes-vous sûr de vouloir saisir un rejet de prélèvement pour la société ".$soc->nom." ?","confirm_rejet"); + + $rej = new RejetPrelevement($db, $user); + + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + + print '
Rejet de prélèvement
Etes-vous sûr de vouloir saisir un rejet de prélèvement pour la société '.$soc->nom.' ?'; + print ''; + print '
Motif du rejet'; + print ''; + print ''; + print '
'; + + + + + print ''; + + print ''; + + print '
Référence'.$bon->ref.'

'; +} + +$page = $_GET["page"]; +$sortorder = $_GET["sortorder"]; +$sortfield = $_GET["sortfield"]; + +if ($page == -1) { $page = 0 ; } + +$offset = $conf->liste_limit * $page ; +$pageprev = $page - 1; +$pagenext = $page + 1; + +if ($sortorder == "") { + $sortorder="DESC"; +} +if ($sortfield == "") { + $sortfield="pl.fk_soc"; +} + +/* + * Liste des factures + * + * + */ +$sql = "SELECT pf.rowid"; +$sql .= " ,f.rowid as facid, f.facnumber as ref, f.total_ttc"; +$sql .= " , s.idp, s.nom"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; +$sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; +$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf"; +$sql .= " , ".MAIN_DB_PREFIX."facture as f"; +$sql .= " , ".MAIN_DB_PREFIX."societe as s"; +$sql .= " WHERE pf.fk_prelevement_lignes = pl.rowid"; +$sql .= " AND pl.fk_prelevement_bons = p.rowid"; +$sql .= " AND f.fk_soc = s.idp"; +$sql .= " AND pf.fk_facture = f.rowid"; +$sql .= " AND pl.rowid=".$_GET["id"]; + +if ($_GET["socid"]) +{ + $sql .= " AND s.idp = ".$_GET["socid"]; +} + +$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); + +$result = $db->query($sql); + +if ($result) +{ + $num = $db->num_rows(); + $i = 0; + + $urladd = "&id=".$_GET["id"]; + + print_barre_liste("Factures", $page, "factures.php", $urladd, $sortfield, $sortorder, '', $num); + print"\n\n"; + print ''; + print ''; + print_liste_field_titre("Facture","factures.php","p.ref",'',$urladd); + print_liste_field_titre("Société","factures.php","s.nom",'',$urladd); + print_liste_field_titre("Montant","factures.php","f.total_ttc","",$urladd,'align="center"'); + print ''; + + $var=True; + + $total = 0; + + while ($i < min($num,$conf->liste_limit)) + { + $obj = $db->fetch_object($i); + + print "\n"; + + print '\n"; + + print '\n"; + + print '\n"; + + $i++; + } + + print "
 
"; + + print ''; + print img_object($langs->trans("ShowBill"),"bill"); + print ' '; + + print ''.$obj->ref."'; + print img_object($langs->trans("ShowCompany"),"company"). ' '.stripslashes($obj->nom)."'.price($obj->total_ttc)."'; + + if ($obj->statut == 0) + { + print '-'; + } + elseif ($obj->statut == 1) + { + print 'Crédité'; + } + elseif ($obj->statut == 2) + { + print 'Rejeté'; + } + + print "
"; + + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?> diff --git a/htdocs/compta/prelevement/lignes.php b/htdocs/compta/prelevement/lignes.php new file mode 100644 index 00000000000..3c5306ba213 --- /dev/null +++ b/htdocs/compta/prelevement/lignes.php @@ -0,0 +1,269 @@ + + * + * 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$ + * + */ +require("./pre.inc.php"); + +require_once DOL_DOCUMENT_ROOT."/compta/prelevement/rejet-prelevement.class.php"; +require_once DOL_DOCUMENT_ROOT."/paiement.class.php"; +require_once DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php"; + +/* + * Sécurité accés client + */ +if ($user->societe_id > 0) accessforbidden(); + +if ($_POST["action"] == 'confirm_rejet') +{ + if ( $_POST["confirm"] == 'yes') + { + if ($_POST["motif"] > 0) + { + $rej = new RejetPrelevement($db, $user); + + $rej->create($user, $_GET["id"], $_GET["socid"], $_GET["previd"], $_POST["motif"]); + + Header("Location: lignes.php?id=".$_GET["id"]); + } + else + { + Header("Location: lignes.php?id=".$_GET["id"]."&action=rejet&socid=".$_GET["socid"]."&previd=".$_GET["previd"]); + } + } + else + { + Header("Location: lignes.php?id=".$_GET["id"]); + } +} + + +llxHeader('','Bon de prélèvement'); + +$h = 0; +$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/fiche.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Fiche"); +$h++; + +$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/lignes.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Lignes"); +$hselected = $h; +$h++; + +$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/factures.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Factures"); +$h++; + +$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/fiche-rejet.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Rejets"); +$h++; + +$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/fiche-stat.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Statistiques"); +$h++; + +$prev_id = $_GET["id"]; + +if ($_GET["id"]) +{ + $bon = new BonPrelevement($db,""); + + if ($bon->fetch($_GET["id"]) == 0) + { + + dolibarr_fiche_head($head, $hselected, 'Prélèvement : '. $bon->ref); + + + print ''; + + print ''; + + print '
Référence'.$bon->ref.'

'; + } + else + { + print "Erreur"; + } +} + +if ($_GET["action"] == 'rejet') +{ + $html = new Form($db); + + $soc = new Societe($db); + $soc->fetch($_GET["socid"]); + + //$html->form_confirm("factures.php"."?id=".$_GET["id"]."&socid=".$_GET["socid"]."&previd=".$_GET["previd"],"Rejet de prélèvement","Etes-vous sûr de vouloir saisir un rejet de prélèvement pour la société ".$soc->nom." ?","confirm_rejet"); + + $rej = new RejetPrelevement($db, $user); + + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + + print '
Rejet de prélèvement
Etes-vous sûr de vouloir saisir un rejet de prélèvement pour la société '.$soc->nom.' ?'; + print ''; + print '
Motif du rejet'; + print ''; + print ''; + print '
'; + + + + + print ''; + + print ''; + + print '
Référence'.$bon->ref.'

'; +} + +$page = $_GET["page"]; +$sortorder = $_GET["sortorder"]; +$sortfield = $_GET["sortfield"]; + +if ($page == -1) { $page = 0 ; } + +$offset = $conf->liste_limit * $page ; +$pageprev = $page - 1; +$pagenext = $page + 1; + +if ($sortorder == "") { + $sortorder="DESC"; +} +if ($sortfield == "") { + $sortfield="pl.fk_soc"; +} + +/* + * Liste des lignes de prélèvement + * + * + */ +$sql = "SELECT pl.rowid, pl.statut, pl.amount"; +$sql .= " , s.idp, s.nom"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; +$sql .= " , ".MAIN_DB_PREFIX."societe as s"; +$sql .= " WHERE pl.fk_prelevement_bons=".$prev_id; +$sql .= " AND pl.fk_soc = s.idp"; + +if ($_GET["socid"]) +{ + $sql .= " AND s.idp = ".$_GET["socid"]; +} + +$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); + +$result = $db->query($sql); + +if ($result) +{ + $num = $db->num_rows(); + $i = 0; + + $urladd = "&id=".$_GET["id"]; + + print_barre_liste("Lignes de prélèvement", $page, "lignes.php", $urladd, $sortfield, $sortorder, '', $num); + print"\n\n"; + print ''; + print ''; + print_liste_field_titre("Lignes","lignes.php","pl.rowid",'',$urladd); + print_liste_field_titre("Société","lignes.php","s.nom",'',$urladd); + print_liste_field_titre("Montant","lignes.php","f.total_ttc","",$urladd,'align="center"'); + print ''; + + $var=True; + + $total = 0; + + while ($i < min($num,$conf->liste_limit)) + { + $obj = $db->fetch_object($i); + + print "'; + + print '\n"; + + print '\n"; + + print ''; + + $total += $obj->total_ttc; + $var=!$var; + $i++; + } + + if($_GET["socid"]) + { + print "'; + + print '\n"; + + print ''; + + print "\n"; + } + + print "
 
"; + + print ' '; + print ''; + print substr('000000'.$obj->rowid, -6); + print ''.stripslashes($obj->nom)."'.price($obj->amount)."'; + + if ($obj->statut == 3) + { + print 'Rejeté'; + } + else + { + print " "; + } + + print '
"; + + print 'Total'.price($total)." 
"; + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?>