From 2009746608f376dd0c93b9e3d6f760e895a62b23 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 5 May 2006 14:59:48 +0000 Subject: [PATCH] =?UTF-8?q?d=E9but=20ajout=20de=20la=20gestion=20des=20bon?= =?UTF-8?q?s=20de=20livraison?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/admin/livraison.php | 329 ++++++++++++++++++ htdocs/livraison/mods/mod_livraison_jade.php | 2 +- .../mods/pdf/pdf_sirocco.modules.php | 2 +- .../livraison/mods/pdf/pdf_typhon.modules.php | 4 +- 4 files changed, 333 insertions(+), 4 deletions(-) create mode 100644 htdocs/admin/livraison.php diff --git a/htdocs/admin/livraison.php b/htdocs/admin/livraison.php new file mode 100644 index 00000000000..4d97acaaf52 --- /dev/null +++ b/htdocs/admin/livraison.php @@ -0,0 +1,329 @@ + + * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2006 Regis Houssin + * + * 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/admin/livraison.php + \ingroup livraison + \brief Page d'administration/configuration du module Livraison + \version $Revision$ +*/ + +require("./pre.inc.php"); + +$langs->load("admin"); +$langs->load("bills"); +$langs->load("other"); +$langs->load("deliveries"); + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +if ($_GET["action"] == 'set') +{ + $type='delivery'; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type) VALUES ('".$_GET["value"]."','".$type."')"; + if ($db->query($sql)) + { + + } +} + +if ($_GET["action"] == 'del') +{ + $sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom='".$_GET["value"]."'"; + if ($db->query($sql)) + { + + } +} + +if ($_GET["action"] == 'setdoc') +{ + $db->begin(); + + if (dolibarr_set_const($db, "LIVRAISON_ADDON_PDF",$_GET["value"])) + { + // La constante qui a été lue en avant du nouveau set + // on passe donc par une variable pour avoir un affichage cohérent + $conf->global->LIVRAISON_ADDON_PDF = $_GET["value"]; + } + + // On active le modele + $type='delivery'; + $sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model where nom = '".$_GET["value"]."'"; + $result1=$db->query($sql_del); + $sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom,type) VALUES ('".$_GET["value"]."','".$type."')"; + $result2=$db->query($sql); + if ($result1 && $result2) + { + $db->commit(); + } + else + { + $db->rollback(); + } +} + +if ($_GET["action"] == 'setmod') +{ + // \todo Verifier si module numerotation choisi peut etre activé + // par appel methode canBeActivated + + + if (dolibarr_set_const($db, "LIVRAISON_ADDON",$_GET["value"])) + { + // la constante qui a été lue en avant du nouveau set + // on passe donc par une variable pour avoir un affichage cohérent + $conf->global->LIVRAISON_ADDON = $_GET["value"]; + } +} + + + +/* + * Affiche page + */ + +llxHeader("",""); + +$dir = DOL_DOCUMENT_ROOT."/livraison/mods/"; +$html=new Form($db); + +$h = 0; + +$head[$h][0] = DOL_URL_ROOT."/admin/expedition.php"; +$head[$h][1] = $langs->trans("Sending"); +$h++; + +$head[$h][0] = DOL_URL_ROOT."/admin/livraison.php"; +$head[$h][1] = $langs->trans("Delivery"); +$hselected=$h; +$h++; + +dolibarr_fiche_head($head, $hselected, $langs->trans("ModuleSetup")); + +/* + * Module numérotation + */ + +print_titre($langs->trans("DeliveryOrderNumberingModules")); + +print ''; +print ''; +print '\n"; +print '\n"; +print '\n"; +print ''; +print ''; +print ''."\n"; + +clearstatcache(); + +$handle = opendir($dir); + +$var=true; +if ($handle) +{ + $var=true; + while (($file = readdir($handle))!==false) + { + if (substr($file, 0, 14) == 'mod_livraison_' && substr($file, strlen($file)-3, 3) == 'php') + { + $file = substr($file, 0, strlen($file)-4); + + require_once(DOL_DOCUMENT_ROOT ."/livraison/mods/".$file.".php"); + + $module = new $file; + + $var=!$var; + print "\n "; + print "\n \n"; + + // Affiche example + print ''; + + print ''; + + // Info + $htmltooltip=''; + $nextval=$module->getNextValue(); + if ($nextval != $langs->trans("NotAvailable")) + { + $htmltooltip=''.$langs->trans("NextValue").': '.$nextval; + } + print ''; + + print "\n"; + } + } + closedir($handle); +} +print "
'.$langs->trans("Name")."'.$langs->trans("Description")."'.$langs->trans("Example")."'.$langs->trans("Activated").''.$langs->trans("Info").'
".$file."".$module->info()."'.$module->getExample().''; + if ($conf->global->LIVRAISON_ADDON == "$file") + { + print img_tick($langs->trans("Activated")); + } + else + { + print ''.$langs->trans("Default").''; + } + print 'tooltip_properties($htmltooltip).'>'; + print ($htmltooltip?img_help(0):''); + print '

\n"; + + +/* + * Modeles de documents + */ +print '
'; +print_titre($langs->trans("DeliveryOrderModel")); + +// Defini tableau def de modele invoice +$type="delivery"; +$def = array(); +$sql = "SELECT nom"; +$sql.= " FROM ".MAIN_DB_PREFIX."document_model"; +$sql.= " WHERE type = '".$type."'"; +$resql=$db->query($sql); +if ($resql) +{ + $i = 0; + $num_rows=$db->num_rows($resql); + while ($i < $num_rows) + { + $array = $db->fetch_array($resql); + array_push($def, $array[0]); + $i++; + } +} +else +{ + dolibarr_print_error($db); +} + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +clearstatcache(); + +$dir = DOL_DOCUMENT_ROOT."/livraison/mods/pdf/"; + +if(is_dir($dir)) +{ + $handle=opendir($dir); + $var=true; + + while (($file = readdir($handle))!==false) + { + if (substr($file, strlen($file) -12) == '.modules.php' && substr($file,0,4) == 'pdf_') + { + $name = substr($file, 4, strlen($file) - 16); + $classname = substr($file, 0, strlen($file) - 12); + + $var=!$var; + print "'; + + // Activ + if (in_array($name, $def)) + { + print ""; + } + else + { + print ""; + } + + // Defaut + print "'; + + // Info + $htmltooltip = ''.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown")); + $htmltooltip.='
'.$langs->trans("Width").': '.$module->page_largeur; + $htmltooltip.='
'.$langs->trans("Height").': '.$module->page_hauteur; + $htmltooltip.='
'.$langs->trans("FeaturesSupported").':'; + $htmltooltip.='
'.$langs->trans("Logo").': '.yn($module->option_logo); + + print ''; + + print ''; + } + } + closedir($handle); +} +else +{ + print "\n"; +} +print '
'.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Activated").''.$langs->trans("Default").''.$langs->trans("Info").'
"; + print $name; + print "\n"; + require_once($dir.$file); + $obj = new $classname(); + + print $obj->description; + print '\n"; + if ($conf->global->LIVRAISON_ADDON_PDF != "$name") + { + print ''; + print img_tick($langs->trans("Disable")); + print ''; + } + else + { + print img_tick($langs->trans("Enabled")); + } + print "\n"; + print ''.$langs->trans("Activate").''; + print ""; + if ($conf->global->LIVRAISON_ADDON_PDF == "$name") + { + print img_tick($langs->trans("Default")); + } + else + { + print ''.$langs->trans("Default").''; + } + print 'tooltip_properties($htmltooltip).'>'.img_help(0).'
ERROR: $dir is not a directory !
'; + +/* +* +* +*/ + +$db->close(); + +llxFooter(); +?> diff --git a/htdocs/livraison/mods/mod_livraison_jade.php b/htdocs/livraison/mods/mod_livraison_jade.php index 17999d05811..b40256a1cf4 100644 --- a/htdocs/livraison/mods/mod_livraison_jade.php +++ b/htdocs/livraison/mods/mod_livraison_jade.php @@ -37,7 +37,7 @@ include_once("modules_livraison.php"); \brief Classe du modèle de numérotation de référence de bon de livraison Jade */ -class mod_livraison_jade extends ModeleNumRefCommandes +class mod_livraison_jade extends ModeleNumRefDeliveryOrder { /** \brief Constructeur diff --git a/htdocs/livraison/mods/pdf/pdf_sirocco.modules.php b/htdocs/livraison/mods/pdf/pdf_sirocco.modules.php index 07964e4d2e9..848307ead7c 100644 --- a/htdocs/livraison/mods/pdf/pdf_sirocco.modules.php +++ b/htdocs/livraison/mods/pdf/pdf_sirocco.modules.php @@ -37,7 +37,7 @@ require_once(DOL_DOCUMENT_ROOT ."/livraison/mods/modules_livraison.php"); \brief Classe permettant de générer les bons de livraison au modèle Sirocco */ -class pdf_sirocco extends ModelePDFCommandes +class pdf_sirocco extends ModelePDFDeliveryOrder { /** \brief Constructeur diff --git a/htdocs/livraison/mods/pdf/pdf_typhon.modules.php b/htdocs/livraison/mods/pdf/pdf_typhon.modules.php index 1c13fd8dd7d..641bf86b58e 100644 --- a/htdocs/livraison/mods/pdf/pdf_typhon.modules.php +++ b/htdocs/livraison/mods/pdf/pdf_typhon.modules.php @@ -38,7 +38,7 @@ require_once(DOL_DOCUMENT_ROOT."/livraison/livraison.class.php"); \brief Classe permettant de générer les bons de livraison au modèle Typhon */ -class pdf_typhon extends ModelePDFCommandes +class pdf_typhon extends ModelePDFDeliveryOrder { /** @@ -133,7 +133,7 @@ class pdf_typhon extends ModelePDFCommandes $langs->load("main"); $langs->load("bills"); $langs->load("products"); - $langs->load("sendings"); + $langs->load("deliveries"); if ($conf->livraison->dir_output) {