Move modules into modules directory

This commit is contained in:
Laurent Destailleur 2008-10-25 11:16:39 +00:00
parent 886f5374bd
commit 8c5119d45d
25 changed files with 926 additions and 920 deletions

View File

@ -1886,21 +1886,26 @@ else
} }
// Ship // Ship
if ($commande->statut > 0 && $commande->statut < 3 && $user->rights->expedition->creer if ($commande->statut > 0 && $commande->statut < 3 && $commande->getNbOfProductsLines() > 0)
&& $commande->getNbOfProductsLines() > 0)
{ {
if ($user->rights->expedition->creer)
// Chargement des permissions
$error = $user->load_entrepots();
if (sizeof($user->entrepots) === 1)
{ {
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/fiche.php?id='.$_GET['id'].'&amp;action=create&amp;commande_id='.$_GET["id"].'&entrepot_id='.$user->entrepots[0]['id'].'">'; // Chargement des permissions
print $langs->trans('ShipProduct').'</a>'; $error = $user->load_entrepots();
if (sizeof($user->entrepots) === 1)
{
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/fiche.php?id='.$_GET['id'].'&amp;action=create&amp;commande_id='.$_GET["id"].'&entrepot_id='.$user->entrepots[0]['id'].'">';
print $langs->trans('ShipProduct').'</a>';
}
else
{
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/commande.php?id='.$_GET['id'].'">'.$langs->trans('ShipProduct').'</a>';
}
} }
else else
{ {
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/commande.php?id='.$_GET['id'].'">'.$langs->trans('ShipProduct').'</a>'; print '<a class="butActionRefused" href="#">'.$langs->trans('ShipProduct').'</a>';
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2003-2008 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2008 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com> * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com>
* Copyright (C) 2005-2008 Régis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2008 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -29,7 +29,6 @@
require("./pre.inc.php"); require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
require_once(DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/sendings.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/sendings.lib.php");
if ($conf->produit->enabled) require_once(DOL_DOCUMENT_ROOT."/product.class.php"); if ($conf->produit->enabled) require_once(DOL_DOCUMENT_ROOT."/product.class.php");
if ($conf->propal->enabled) require_once(DOL_DOCUMENT_ROOT."/propal.class.php"); if ($conf->propal->enabled) require_once(DOL_DOCUMENT_ROOT."/propal.class.php");
@ -73,8 +72,8 @@ if ($_POST["action"] == 'add')
$expedition->origin = $origin; $expedition->origin = $origin;
$expedition->origin_id = $origin_id; $expedition->origin_id = $origin_id;
// On boucle sur chaque ligne du document d'origine pour compléter objet expedition // On boucle sur chaque ligne du document d'origine pour compl<EFBFBD>ter objet expedition
// avec qté à livrer // avec qt<EFBFBD> <20> livrer
$class = ucfirst($expedition->origin); $class = ucfirst($expedition->origin);
$object = new $class($db); $object = new $class($db);
$object->fetch($expedition->origin_id); $object->fetch($expedition->origin_id);
@ -113,7 +112,7 @@ if ($_POST["action"] == 'add')
} }
/* /*
* Génère un bon de livraison * G<EFBFBD>n<EFBFBD>re un bon de livraison
*/ */
if ($_GET["action"] == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer) if ($_GET["action"] == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer)
{ {
@ -152,11 +151,13 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
} }
/* /*
* Générer ou regénérer le PDF * Build doc
*/ */
if ($_REQUEST['action'] == 'builddoc') // En get ou en post if ($_REQUEST['action'] == 'builddoc') // En get ou en post
{ {
// Sauvegarde le dernier modèle choisi pour générer un document require_once(DOL_DOCUMENT_ROOT."/includes/modules/expedition/pdf/ModelePdfExpedition.class.php");
// Sauvegarde le dernier modele choisi pour generer un document
$expedition = new Expedition($db, 0, $_REQUEST['id']); $expedition = new Expedition($db, 0, $_REQUEST['id']);
$expedition->fetch($_REQUEST['id']); $expedition->fetch($_REQUEST['id']);
@ -269,7 +270,7 @@ if ($_GET["action"] == 'create')
print "<tr><td>".$langs->trans("Date")."</td>"; print "<tr><td>".$langs->trans("Date")."</td>";
print '<td colspan="3">'.dolibarr_print_date($object->date,"day")."</td></tr>\n"; print '<td colspan="3">'.dolibarr_print_date($object->date,"day")."</td></tr>\n";
// Entrepot (si forcé) // Entrepot (si forc<EFBFBD>)
if ($conf->stock->enabled && $_GET["entrepot_id"]) if ($conf->stock->enabled && $_GET["entrepot_id"])
{ {
print '<tr><td>'.$langs->trans("Warehouse").'</td>'; print '<tr><td>'.$langs->trans("Warehouse").'</td>';
@ -307,7 +308,7 @@ if ($_GET["action"] == 'create')
//$lignes = $object->fetch_lines(1); //$lignes = $object->fetch_lines(1);
$numAsked = sizeof($object->lignes); $numAsked = sizeof($object->lignes);
/* Lecture des expeditions déjà effectuées */ /* Lecture des expeditions d<EFBFBD>j<EFBFBD> effectu<74>es */
$object->loadExpeditions(); $object->loadExpeditions();
if ($numAsked) if ($numAsked)
@ -370,12 +371,12 @@ if ($_GET["action"] == 'create')
if ($_GET["entrepot_id"]) if ($_GET["entrepot_id"])
{ {
$stock = $product->stock_entrepot[$_GET["entrepot_id"]]; $stock = $product->stock_entrepot[$_GET["entrepot_id"]];
$stock+=0; // Convertit en numérique $stock+=0; // Convertit en num<EFBFBD>rique
$defaultqty=min($quantityToBeDelivered, $stock); $defaultqty=min($quantityToBeDelivered, $stock);
if ($defaultqty < 0) $defaultqty=0; if ($defaultqty < 0) $defaultqty=0;
} }
// Quantité à livrer // Quantit<EFBFBD> <20> livrer
print '<td align="center">'; print '<td align="center">';
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$ligne->id.'">'; print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$ligne->id.'">';
print '<input name="qtyl'.$indiceAsked.'" type="text" size="4" value="'.$defaultqty.'">'; print '<input name="qtyl'.$indiceAsked.'" type="text" size="4" value="'.$defaultqty.'">';
@ -428,7 +429,7 @@ if ($_GET["action"] == 'create')
} }
else else
{ {
// Quantité à livrer // Quantit<EFBFBD> <20> livrer
print '<td align="center">'; print '<td align="center">';
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$ligne->id.'">'; print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$ligne->id.'">';
print '<input name="qtyl'.$indiceAsked.'" type="text" size="6" value="'.$quantityToBeDelivered.'">'; print '<input name="qtyl'.$indiceAsked.'" type="text" size="6" value="'.$quantityToBeDelivered.'">';
@ -543,7 +544,7 @@ else
} }
// calcul du poids total et du volume total des produits // calcul du poids total et du volume total des produits
//TODO: ajouter conversion pour le poids et le volume et selection de l'unité de mesure la plus utilisée //TODO: ajouter conversion pour le poids et le volume et selection de l'unit<EFBFBD> de mesure la plus utilis<69>e
$totalWeight = ''; $totalWeight = '';
$totalVolume = ''; $totalVolume = '';
for ($i = 0 ; $i < $num_prod ; $i++) for ($i = 0 ; $i < $num_prod ; $i++)
@ -565,7 +566,7 @@ else
print '<td colspan="3">'.$soc->getNomUrl(1).'</td>'; print '<td colspan="3">'.$soc->getNomUrl(1).'</td>';
print "</tr>"; print "</tr>";
// Document liée // Document li<EFBFBD>e
print '<tr><td>'; print '<tr><td>';
if ($conf->commande->enabled) if ($conf->commande->enabled)
{ {
@ -661,7 +662,7 @@ else
print "<td>".nl2br($lignes[$i]->description)."</td>\n"; print "<td>".nl2br($lignes[$i]->description)."</td>\n";
} }
// Qte commandé // Qte command<EFBFBD>
print '<td align="center">'.$lignes[$i]->qty_asked.'</td>'; print '<td align="center">'.$lignes[$i]->qty_asked.'</td>';
// Qte a expedier ou expedier // Qte a expedier ou expedier
@ -758,7 +759,7 @@ else
} }
else else
{ {
print "Expedition inexistante ou accés refusé"; print "Expedition inexistante ou acc<EFBFBD>s refus<75>";
} }
} }

View File

@ -1,18 +0,0 @@
Classification des modules
Les noms de modules dans ce répertoire doivent être sélectionnés
dans la liste des Perciformes
Voir : http://fr.wikipedia.org/wiki/Perciformes
Pris
- rouget
- dorade
- mérou
Disponibles
- ombrine
- mulet
- maquereau

View File

@ -18,14 +18,14 @@
/** /**
* \file htdocs/html.formfile.class.php * \file htdocs/html.formfile.class.php
* \brief Fichier de la classe des fonctions prédéfinie de composants html fichiers * \brief Fichier de la classe des fonctions pr<EFBFBD>d<EFBFBD>finie de composants html fichiers
* \version $Id$ * \version $Id$
*/ */
/** /**
* \class FormFile * \class FormFile
* \brief Classe permettant la génération de composants html fichiers * \brief Classe permettant la g<EFBFBD>n<EFBFBD>ration de composants html fichiers
*/ */
class FormFile class FormFile
{ {
@ -35,7 +35,7 @@ class FormFile
/** /**
* \brief Constructeur * \brief Constructeur
* \param DB handler d'accès base de donnée * \param DB handler d'acc<EFBFBD>s base de donn<EFBFBD>e
*/ */
function FormFile($DB) function FormFile($DB)
{ {
@ -110,20 +110,20 @@ class FormFile
/** /**
* \brief Affiche la cartouche de la liste des documents d'une propale, facture... * \brief Affiche la cartouche de la liste des documents d'une propale, facture...
* \param modulepart propal=propal, facture=facture, ... * \param modulepart propal=propal, facture=facture, ...
* \param filename Sous rep à scanner (vide si filedir deja complet) * \param filename Sous rep <EFBFBD> scanner (vide si filedir deja complet)
* \param filedir Repertoire à scanner * \param filedir Repertoire <EFBFBD> scanner
* \param urlsource Url page origine (pour retour) * \param urlsource Url page origine (pour retour)
* \param genallowed Génération autorisée (1/0 ou array des formats) * \param genallowed G<EFBFBD>n<EFBFBD>ration autoris<EFBFBD>e (1/0 ou array des formats)
* \param delallowed Suppression autorisée (1/0) * \param delallowed Suppression autoris<EFBFBD>e (1/0)
* \param modelselected Modele à pré-sélectionner par défaut * \param modelselected Modele <EFBFBD> pr<EFBFBD>-s<EFBFBD>lectionner par d<EFBFBD>faut
* \param modelliste Tableau des modeles possibles. Use '' to hide combo select list. * \param modelliste Tableau des modeles possibles. Use '' to hide combo select list.
* \param forcenomultilang N'affiche pas option langue meme si MAIN_MULTILANGS défini * \param forcenomultilang N'affiche pas option langue meme si MAIN_MULTILANGS d<EFBFBD>fini
* \param iconPDF N'affiche que l'icone PDF avec le lien (1/0) * \param iconPDF N'affiche que l'icone PDF avec le lien (1/0)
* \param maxfilenamelength Max length for filename shown * \param maxfilenamelength Max length for filename shown
* \param noform Do not output html form start and end * \param noform Do not output html form start and end
* \remarks Le fichier de facture détaillée est de la forme * \remarks Le fichier de facture d<EFBFBD>taill<EFBFBD>e est de la forme
* REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse * REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse
* \return int <0 si ko, nbre de fichiers affichés si ok * \return int <0 si ko, nbre de fichiers affich<EFBFBD>s si ok
*/ */
function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0,$maxfilenamelength=28,$noform=0) function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0,$maxfilenamelength=28,$noform=0)
{ {
@ -178,7 +178,7 @@ class FormFile
if (is_array($genallowed)) $modellist=$genallowed; if (is_array($genallowed)) $modellist=$genallowed;
else else
{ {
include_once(DOL_DOCUMENT_ROOT.'/expedition/mods/pdf/ModelePdfExpedition.class.php'); include_once(DOL_DOCUMENT_ROOT.'/includes/modules/expedition/pdf/ModelePdfExpedition.class.php');
$model=new ModelePDFExpedition(); $model=new ModelePDFExpedition();
$modellist=$model->liste_modeles($this->db); $modellist=$model->liste_modeles($this->db);
} }
@ -188,7 +188,7 @@ class FormFile
if (is_array($genallowed)) $modellist=$genallowed; if (is_array($genallowed)) $modellist=$genallowed;
else else
{ {
include_once(DOL_DOCUMENT_ROOT.'/livraison/mods/modules_livraison.php'); include_once(DOL_DOCUMENT_ROOT.'/includes/modules/livraison/modules_livraison.php');
$model=new ModelePDFDeliveryOrder(); $model=new ModelePDFDeliveryOrder();
$modellist=$model->liste_modeles($this->db); $modellist=$model->liste_modeles($this->db);
} }
@ -310,7 +310,7 @@ class FormFile
} }
$file_list=dol_dir_list($filedir,'files',0,$filter,'\.meta$'.$png,'date',SORT_DESC); $file_list=dol_dir_list($filedir,'files',0,$filter,'\.meta$'.$png,'date',SORT_DESC);
// Affiche en-tete tableau si non deja affiché // Affiche en-tete tableau si non deja affich<EFBFBD>
if (sizeof($file_list) && ! $headershown && !$iconPDF) if (sizeof($file_list) && ! $headershown && !$iconPDF)
{ {
$headershown=1; $headershown=1;
@ -318,12 +318,12 @@ class FormFile
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
} }
// Boucle sur chaque ligne trouvée // Boucle sur chaque ligne trouv<EFBFBD>e
foreach($file_list as $i => $file) foreach($file_list as $i => $file)
{ {
$var=!$var; $var=!$var;
// Défini chemin relatif par rapport au module pour lien download // D<EFBFBD>fini chemin relatif par rapport au module pour lien download
$relativepath=$file["name"]; // Cas general $relativepath=$file["name"]; // Cas general
if ($filename) $relativepath=$filename."/".$file["name"]; // Cas propal, facture... if ($filename) $relativepath=$filename."/".$file["name"]; // Cas propal, facture...
// Autre cas // Autre cas

View File

@ -1,2 +0,0 @@
Deplace dans htdocs/expedition/mods pour les modules
et htdocs/expedition/mods/pdf pour les modeles pdf

View File

@ -16,24 +16,22 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/ * or see http://www.gnu.org/
*
* $Id$
* $Source$
*/ */
/** /**
\file htdocs/expedition/mods/methode_expedition.modules.php * \file htdocs/includes/modules/expedition/methode_expedition.modules.php
\ingroup expedition * \ingroup expedition
\brief Fichier contenant la classe m<EFBFBD>re de generation de bon de livraison en PDF * \brief Fichier contenant la classe mere de generation de bon de livraison en PDF
et la classe m<EFBFBD>re de num<EFBFBD>rotation des bons de livraisons * et la classe mere de numerotation des bons de livraisons
\version $Revision$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php'); require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
/** /**
\class methode_expedition * \class methode_expedition
\brief Classe m<EFBFBD>re des methodes expeditions * \brief Classe mere des methodes expeditions
*/ */
class methode_expedition class methode_expedition
{ {

View File

@ -14,17 +14,19 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* */
* $Id$
* $Source$ /*
* \version $Id$
*/ */
include_once "methode_expedition.modules.php"; include_once "methode_expedition.modules.php";
Class methode_expedition_colsui extends methode_expedition Class methode_expedition_colsui extends methode_expedition
{ {
Function methode_expedition_colsui($db=0) function methode_expedition_colsui($db=0)
{ {
$this->db = $db; $this->db = $db;
$this->id = 3; // Do not change this value $this->id = 3; // Do not change this value

View File

@ -13,24 +13,27 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* $Id$
* $Source$
*
*/ */
/*
* \version $Id$
*/
include_once "methode_expedition.modules.php"; include_once "methode_expedition.modules.php";
Class methode_expedition_enl extends methode_expedition Class methode_expedition_enl extends methode_expedition
{ {
Function methode_expedition_enl($db=0) function methode_expedition_enl($db=0)
{ {
$this->db = $db; global $langs;
$this->id = 1; // Do not change this value $this->db = $db;
$this->name = "Enlèvement"; $this->id = 1; // Do not change this value
$this->code = "ENL"; $this->name = "Enlevement";
$this->description = "Enlèvement sur place par le client"; $this->code = "ENL";
} $this->description = $langs->trans("Enlevement");
}
} }
?> ?>

View File

@ -13,25 +13,28 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* */
* $Id$
* $Source$ /*
* * \version $Id$
*/ */
include_once "methode_expedition.modules.php"; include_once "methode_expedition.modules.php";
Class methode_expedition_trans extends methode_expedition Class methode_expedition_trans extends methode_expedition
{ {
Function methode_expedition_trans($db=0) function methode_expedition_trans($db=0)
{ {
$this->db = $db; global $langs;
$this->id = 2; // Ne pas changer cette valeur
$this->code = "TRANS"; $this->db = $db;
$this->name = "Transporteur"; $this->id = 2; // Ne pas changer cette valeur
$this->description = "Transporteur générique"; $this->code = "TRANS";
} $this->name = "Transporteur";
$this->description = $langs->trans("GenericTransport");
}
} }
?> ?>

View File

@ -20,11 +20,11 @@
*/ */
/** /**
\file htdocs/expedition/mods/pdf/ModelePdfExpedition.class.php * \file htdocs/includes/module/expedition/pdf/ModelePdfExpedition.class.php
\ingroup shipping * \ingroup shipping
\brief Fichier contenant la classe mère de generation des expeditions * \brief Fichier contenant la classe mere de generation des expeditions
\version $Id$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
require_once DOL_DOCUMENT_ROOT.'/includes/fpdf/DolibarrPdfBarCode.class.php'; require_once DOL_DOCUMENT_ROOT.'/includes/fpdf/DolibarrPdfBarCode.class.php';
@ -32,7 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/includes/fpdf/DolibarrPdfBarCode.class.php';
/** /**
\class ModelePdfExpedition \class ModelePdfExpedition
\brief Classe mère des modèles de bon d'expedition \brief Classe m<EFBFBD>re des mod<EFBFBD>les de bon d'expedition
*/ */
class ModelePdfExpedition extends DolibarrPdfBarCode class ModelePdfExpedition extends DolibarrPdfBarCode
@ -41,7 +41,7 @@ class ModelePdfExpedition extends DolibarrPdfBarCode
/** /**
\brief Renvoi le dernier message d'erreur de création de PDF de commande \brief Renvoi le dernier message d'erreur de cr<EFBFBD>ation de PDF de commande
*/ */
function pdferror() function pdferror()
{ {
@ -50,7 +50,7 @@ class ModelePdfExpedition extends DolibarrPdfBarCode
/** /**
* \brief Renvoi la liste des modèles actifs * \brief Renvoi la liste des mod<EFBFBD>les actifs
* \return array Tableau des modeles (cle=id, valeur=libelle) * \return array Tableau des modeles (cle=id, valeur=libelle)
*/ */
function liste_modeles($db) function liste_modeles($db)
@ -84,11 +84,11 @@ class ModelePdfExpedition extends DolibarrPdfBarCode
} }
/* /**
\brief Crée un bon d'expedition sur disque \brief Cree un bon d'expedition sur disque
\param db objet base de donnée \param db objet base de donnee
\param id id de la expedition à créer \param id id de la expedition a creer
\param modele force le modele à utiliser ('' par defaut) \param modele force le modele a utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction \param outputlangs objet lang a utiliser pour traduction
*/ */
function expedition_pdf_create($db, $id, $modele='', $outputlangs='') function expedition_pdf_create($db, $id, $modele='', $outputlangs='')
@ -96,10 +96,10 @@ function expedition_pdf_create($db, $id, $modele='', $outputlangs='')
global $conf,$langs; global $conf,$langs;
$langs->load("sendings"); $langs->load("sendings");
$dir = DOL_DOCUMENT_ROOT."/expedition/mods/pdf/"; $dir = DOL_DOCUMENT_ROOT."/includes/modules/expedition/pdf/";
$modelisok=0; $modelisok=0;
// Positionne modele sur le nom du modele de commande à utiliser // Positionne modele sur le nom du modele de commande a utiliser
$file = "pdf_expedition_".$modele.".modules.php"; $file = "pdf_expedition_".$modele.".modules.php";
if ($modele && file_exists($dir.$file)) $modelisok=1; if ($modele && file_exists($dir.$file)) $modelisok=1;
@ -117,7 +117,7 @@ function expedition_pdf_create($db, $id, $modele='', $outputlangs='')
$liste=array(); $liste=array();
$model=new ModelePDFExpedition(); $model=new ModelePDFExpedition();
$liste=$model->liste_modeles($db); $liste=$model->liste_modeles($db);
$modele=key($liste); // Renvoie premiere valeur de clé trouvé dans le tableau $modele=key($liste); // Renvoie premiere valeur de cl<EFBFBD> trouv<75> dans le tableau
$file = "pdf_expedition_".$modele.".modules.php"; $file = "pdf_expedition_".$modele.".modules.php";
if (file_exists($dir.$file)) $modelisok=1; if (file_exists($dir.$file)) $modelisok=1;
} }

View File

@ -20,18 +20,18 @@
*/ */
/** /**
* \file htdocs/expedition/mods/pdf/pdf_expedition_merou.modules.php * \file htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php
* \ingroup expedition * \ingroup expedition
* \brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Merou * \brief Fichier de la classe permettant de generer les bordereaux envoi au mod<EFBFBD>le Merou
* \version $Id$ * \version $Id$
*/ */
require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php"; require_once DOL_DOCUMENT_ROOT."/includes/modules/expedition/pdf/ModelePdfExpedition.class.php";
require_once DOL_DOCUMENT_ROOT."/contact.class.php"; require_once DOL_DOCUMENT_ROOT."/contact.class.php";
/** /**
* \class pdf_expedition_dorade * \class pdf_expedition_merou
* \brief Classe permettant de générer les borderaux envoi au modèle Merou * \brief Classe permettant de generer les borderaux envoi au modele Merou
*/ */
Class pdf_expedition_merou extends ModelePdfExpedition Class pdf_expedition_merou extends ModelePdfExpedition
{ {
@ -40,7 +40,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
/** /**
\brief Constructeur \brief Constructeur
\param db Handler accès base de donnée \param db Handler acc<EFBFBD>s base de donn<EFBFBD>e
*/ */
function pdf_expedition_merou($db=0) function pdf_expedition_merou($db=0)
{ {
@ -49,7 +49,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$this->db = $db; $this->db = $db;
$this->name = "Merou"; $this->name = "Merou";
$this->description = "Modele Merou 2xA5 \n $this->description = "Modele Merou 2xA5 \n
Attention !! Il est nécessaire de creer 4 nouveaux types de contact : \n Attention !! Il est necessaire de creer 4 nouveaux types de contact : \n
|element->commande,source->internal,code->LIVREUR \n |element->commande,source->internal,code->LIVREUR \n
|element->commande,source->external,code->LIVREUR \n |element->commande,source->external,code->LIVREUR \n
|element->commande,source->external,code->EXPEDITEUR \n |element->commande,source->external,code->EXPEDITEUR \n
@ -65,13 +65,13 @@ Class pdf_expedition_merou extends ModelePdfExpedition
// Recupere emmetteur // Recupere emmetteur
$this->emetteur=$mysoc; $this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
} }
/** /**
* \brief Fonction générant le document sur le disque * \brief Fonction generant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode) * \param obj Objet expedition a generer (ou id si ancienne methode)
* \return int 1=ok, 0=ko * \return int 1=ok, 0=ko
*/ */
function write_file(&$obj, $outputlangs='') function write_file(&$obj, $outputlangs='')
@ -116,7 +116,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
if ($idcontact[0]) $this->livreur->fetch(); if ($idcontact[0]) $this->livreur->fetch();
// Définition de $dir et $file // D<EFBFBD>finition de $dir et $file
if ($this->expe->specimen) if ($this->expe->specimen)
{ {
$dir = $conf->expedition_bon->dir_output; $dir = $conf->expedition_bon->dir_output;
@ -149,7 +149,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
{ {
$pdfrights = array('print'); // Ne permet que l'impression du document $pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final $pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini $pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass); $pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
} }
@ -168,7 +168,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Insertion de l entete //Insertion de l entete
$this->_pagehead($pdf, $this->expe, $outputlangs); $this->_pagehead($pdf, $this->expe, $outputlangs);
//Initialisation des coordonnées //Initialisation des coordonn<EFBFBD>es
$tab_top = 53; $tab_top = 53;
$tab_height = 70; $tab_height = 70;
$pdf->SetFillColor(240,240,240); $pdf->SetFillColor(240,240,240);
@ -188,7 +188,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Generation du produit //Generation du produit
$Prod = new Product($this->db); $Prod = new Product($this->db);
$Prod->fetch($Produits[$i]->fk_product); $Prod->fetch($Produits[$i]->fk_product);
//Creation des cases à cocher //Creation des cases <EFBFBD> cocher
$pdf->rect(10+3, $curY+1, 3, 3); $pdf->rect(10+3, $curY+1, 3, 3);
$pdf->rect(20+3, $curY+1, 3, 3); $pdf->rect(20+3, $curY+1, 3, 3);
//Insertion de la reference du produit //Insertion de la reference du produit
@ -199,11 +199,11 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->SetFont('Arial','', 7); $pdf->SetFont('Arial','', 7);
$pdf->SetXY (50, $curY ); $pdf->SetXY (50, $curY );
$pdf->MultiCell(90, 5, $Prod->libelle, 0, 'L', 0); $pdf->MultiCell(90, 5, $Prod->libelle, 0, 'L', 0);
//Insertion de la quantite commandée //Insertion de la quantite command<EFBFBD>e
$pdf->SetFont('Arial','', 7); $pdf->SetFont('Arial','', 7);
$pdf->SetXY (140, $curY ); $pdf->SetXY (140, $curY );
$pdf->MultiCell(30, 5, $this->expe->lignes[$i]->qty_asked, 0, 'C', 0); $pdf->MultiCell(30, 5, $this->expe->lignes[$i]->qty_asked, 0, 'C', 0);
//Insertion de la quantite à envoyer //Insertion de la quantite <EFBFBD> envoyer
$pdf->SetFont('Arial','', 7); $pdf->SetFont('Arial','', 7);
$pdf->SetXY (170, $curY ); $pdf->SetXY (170, $curY );
$pdf->MultiCell(30, 5, $this->expe->lignes[$i]->qty_shipped, 0, 'C', 0); $pdf->MultiCell(30, 5, $this->expe->lignes[$i]->qty_shipped, 0, 'C', 0);

View File

@ -19,18 +19,18 @@
*/ */
/** /**
* \file htdocs/expedition/mods/pdf/pdf_expedition_rouget.modules.php * \file htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
* \ingroup expedition * \ingroup expedition
* \brief Fichier de la classe permettant de générer les bordereaux envoi au modèle Rouget * \brief Fichier de la classe permettant de generer les bordereaux envoi au mod<EFBFBD>le Rouget
* \version $Id$ * \version $Id$
*/ */
require_once DOL_DOCUMENT_ROOT."/expedition/mods/pdf/ModelePdfExpedition.class.php"; require_once DOL_DOCUMENT_ROOT."/includes/modules/expedition/pdf/ModelePdfExpedition.class.php";
/** /**
* \class pdf_expedition_dorade * \class pdf_expedition_dorade
* \brief Classe permettant de générer les borderaux envoi au modèle Rouget * \brief Classe permettant de generer les borderaux envoi au modele Rouget
*/ */
Class pdf_expedition_rouget extends ModelePdfExpedition Class pdf_expedition_rouget extends ModelePdfExpedition
{ {
@ -39,7 +39,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
/** /**
\brief Constructeur \brief Constructeur
\param db Handler accès base de donnée \param db Handler acc<EFBFBD>s base de donn<EFBFBD>e
*/ */
function pdf_expedition_rouget($db=0) function pdf_expedition_rouget($db=0)
{ {
@ -47,7 +47,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$this->db = $db; $this->db = $db;
$this->name = "rouget"; $this->name = "rouget";
$this->description = "Modèle simple."; $this->description = $langs->trans("DocumentModelSimple");
$this->type = 'pdf'; $this->type = 'pdf';
$this->page_largeur = 210; $this->page_largeur = 210;
@ -62,7 +62,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
// Recupere emmetteur // Recupere emmetteur
$this->emetteur=$mysoc; $this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
} }
/* /*
@ -112,8 +112,8 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
/** /**
* \brief Fonction générant le document sur le disque * \brief Fonction g<EFBFBD>n<EFBFBD>rant le document sur le disque
* \param obj Objet expedition à générer (ou id si ancienne methode) * \param obj Objet expedition <EFBFBD> g<EFBFBD>n<EFBFBD>rer (ou id si ancienne methode)
* \return int 1=ok, 0=ko * \return int 1=ok, 0=ko
*/ */
function write_file(&$obj, $outputlangs='') function write_file(&$obj, $outputlangs='')
@ -136,7 +136,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
{ {
$this->expe = $obj; $this->expe = $obj;
// Définition de $dir et $file // D<EFBFBD>finition de $dir et $file
if ($this->expe->specimen) if ($this->expe->specimen)
{ {
$dir = $conf->expedition_bon->dir_output; $dir = $conf->expedition_bon->dir_output;
@ -220,7 +220,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
if ($libelleproduitservice) $libelleproduitservice.="<br>"; if ($libelleproduitservice) $libelleproduitservice.="<br>";
$libelleproduitservice.=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1); $libelleproduitservice.=dol_htmlentitiesbr($this->expe->lignes[$i]->description,1);
} }
// Si ligne associée à un code produit // Si ligne associ<EFBFBD>e <20> un code produit
if ($this->expe->lignes[$i]->fk_product) if ($this->expe->lignes[$i]->fk_product)
{ {
$prodser = new Product($this->db); $prodser = new Product($this->db);
@ -240,7 +240,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
} }
$pdf->SetFont('Arial','', 9); // Dans boucle pour gérer multi-page $pdf->SetFont('Arial','', 9); // Dans boucle pour g<EFBFBD>rer multi-page
$pdf->writeHTMLCell(150, 3, $this->posxdesc, $curY, $libelleproduitservice, 0, 1); $pdf->writeHTMLCell(150, 3, $this->posxdesc, $curY, $libelleproduitservice, 0, 1);

View File

@ -1,2 +0,0 @@
Deplace dans htdocs/livraison/mods pour les modules
et htdocs/livraison/mods/pdf pour les modeles pdf

View File

@ -20,18 +20,18 @@
*/ */
/** /**
\file htdocs/includes/modules/commande/mod_livraison_jade.php \file htdocs/includes/modules/livraison/mod_livraison_jade.php
\ingroup livraison \ingroup livraison
\brief Fichier contenant la classe du modèle de numérotation de référence de bon de livraison Jade \brief Fichier contenant la classe du modele de numerotation de reference de bon de livraison Jade
\version $Id$ \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT ."/livraison/mods/modules_livraison.php"); require_once(DOL_DOCUMENT_ROOT ."/includes/modules/livraison/modules_livraison.php");
/** /**
\class mod_livraison_jade \class mod_livraison_jade
\brief Classe du modèle de numérotation de référence de bon de livraison Jade \brief Classe du modele de numerotation de reference de bon de livraison Jade
*/ */
class mod_livraison_jade extends ModeleNumRefDeliveryOrder class mod_livraison_jade extends ModeleNumRefDeliveryOrder
@ -41,15 +41,16 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
var $nom = "Jade"; var $nom = "Jade";
/** \brief Renvoi la description du modele de numérotation /** \brief Renvoi la description du modele de numerotation
* \return string Texte descripif * \return string Texte descripif
*/ */
function info() function info()
{ {
return "Renvoie le numéro sous la forme numérique BLYY00001, BLYY00002, BLYY00003, ... où YY représente l'année. Le numéro d'incrément qui suit l'année n'est PAS remis à zéro en début d'année."; global $langs;
return $langs->trans("NumRefModelJade");
} }
/** \brief Renvoi un exemple de numérotation /** \brief Renvoi un exemple de numerotation
* \return string Example * \return string Example
*/ */
function getExample() function getExample()
@ -66,7 +67,7 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
{ {
global $db; global $db;
// D'abord on récupère la valeur max (réponse immédiate car champ indéxé) // D'abord on r<EFBFBD>cup<EFBFBD>re la valeur max (r<>ponse imm<6D>diate car champ ind<6E>x<EFBFBD>)
$blyy=''; $blyy='';
$sql = "SELECT MAX(ref)"; $sql = "SELECT MAX(ref)";
$sql.= " FROM ".MAIN_DB_PREFIX."livraison"; $sql.= " FROM ".MAIN_DB_PREFIX."livraison";
@ -77,10 +78,10 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
if ($row) $blyy = substr($row[0],0,4); if ($row) $blyy = substr($row[0],0,4);
} }
// Si au moins un champ respectant le modèle a été trouvée // Si au moins un champ respectant le mod<EFBFBD>le a <20>t<EFBFBD> trouv<75>e
if (eregi('BL[0-9][0-9]',$blyy)) if (eregi('BL[0-9][0-9]',$blyy))
{ {
// Recherche rapide car restreint par un like sur champ indexé // Recherche rapide car restreint par un like sur champ index<EFBFBD>
$posindice=5; $posindice=5;
$sql = "SELECT MAX(0+SUBSTRING(ref,$posindice))"; $sql = "SELECT MAX(0+SUBSTRING(ref,$posindice))";
$sql.= " FROM ".MAIN_DB_PREFIX."livraison"; $sql.= " FROM ".MAIN_DB_PREFIX."livraison";
@ -105,8 +106,8 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
} }
/** \brief Renvoie la référence de commande suivante non utilisée /** \brief Renvoie la r<EFBFBD>f<EFBFBD>rence de commande suivante non utilis<EFBFBD>e
* \param objsoc Objet société * \param objsoc Objet soci<EFBFBD>t<EFBFBD>
* \param livraison Objet livraison * \param livraison Objet livraison
* \return string Texte descripif * \return string Texte descripif
*/ */

View File

@ -20,17 +20,17 @@
*/ */
/** /**
\file htdocs/includes/modules/commande/mod_livraison_saphir.php \file htdocs/includes/modules/livraison/mod_livraison_saphir.php
\ingroup expedition \ingroup expedition
\brief Fichier contenant la classe du modèle de numérotation de référence de livraison Saphir \brief Fichier contenant la classe du modele de numerotation de reference de livraison Saphir
\version $Id$ \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT ."/livraison/mods/modules_livraison.php"); require_once(DOL_DOCUMENT_ROOT ."/includes/modules/livraison/modules_livraison.php");
/** /**
\class mod_livraison_saphir \class mod_livraison_saphir
\brief Classe du modèle de numérotation de référence de livraison Saphir \brief Classe du mod<EFBFBD>le de num<EFBFBD>rotation de r<EFBFBD>f<EFBFBD>rence de livraison Saphir
*/ */
class mod_livraison_saphir extends ModeleNumRefDeliveryOrder class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
{ {
@ -39,7 +39,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
var $nom = 'Saphir'; var $nom = 'Saphir';
/** \brief Renvoi la description du modele de numérotation /** \brief Renvoi la description du modele de numerotation
* \return string Texte descripif * \return string Texte descripif
*/ */
function info() function info()
@ -70,7 +70,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
return $texte; return $texte;
} }
/** \brief Renvoi un exemple de numérotation /** \brief Renvoi un exemple de num<EFBFBD>rotation
* \return string Example * \return string Example
*/ */
function getExample() function getExample()
@ -101,7 +101,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
require_once(DOL_DOCUMENT_ROOT ."/lib/functions2.lib.php"); require_once(DOL_DOCUMENT_ROOT ."/lib/functions2.lib.php");
// On défini critere recherche compteur // On d<EFBFBD>fini critere recherche compteur
$mask=$conf->global->LIVRAISON_SAPHIR_MASK; $mask=$conf->global->LIVRAISON_SAPHIR_MASK;
if (! $mask) if (! $mask)
@ -127,8 +127,8 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
} }
/** \brief Renvoie la référence de commande suivante non utilisée /** \brief Renvoie la r<EFBFBD>f<EFBFBD>rence de commande suivante non utilis<EFBFBD>e
* \param objsoc Objet société * \param objsoc Objet soci<EFBFBD>t<EFBFBD>
* \param livraison Objet livraison * \param livraison Objet livraison
* \return string Texte descripif * \return string Texte descripif
*/ */

View File

@ -0,0 +1,234 @@
<?php
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2006 Regis Houssin <regis@dolibarr.fr>
*
* 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.
* or see http://www.gnu.org/
*/
/**
* \file htdocs/includes/livraison/modules_livraison.php
* \ingroup expedition
* \brief Fichier contenant la classe mere de generation de bon de livraison en PDF
* et la classe mere de numerotation des bons de livraisons
* \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
/**
\class ModelePDFDeliveryOrder
\brief Classe m<EFBFBD>re des mod<EFBFBD>les de bon de livraison
*/
class ModelePDFDeliveryOrder extends FPDF
{
var $error='';
/**
\brief Renvoi le dernier message d'erreur de cr<EFBFBD>ation de PDF de bon de livraison
*/
function pdferror()
{
return $this->error;
}
/**
* \brief Renvoi la liste des mod<EFBFBD>les actifs
*/
function liste_modeles($db)
{
$type='delivery';
$liste=array();
$sql ="SELECT nom as id, nom as lib";
$sql.=" FROM ".MAIN_DB_PREFIX."document_model";
$sql.=" WHERE type = '".$type."'";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$i = 0;
while ($i < $num)
{
$row = $db->fetch_row($resql);
$liste[$row[0]]=$row[1];
$i++;
}
}
else
{
$this->error=$db->error();
return -1;
}
return $liste;
}
}
/**
\class ModeleNumRefDeliveryOrder
\brief Classe m<EFBFBD>re des mod<EFBFBD>les de num<EFBFBD>rotation des r<EFBFBD>f<EFBFBD>rences de bon de livraison
*/
class ModeleNumRefDeliveryOrder
{
var $error='';
/** \brief Return if a module can be used or not
* \return boolean true if module can be used
*/
function isEnabled()
{
return true;
}
/** \brief Renvoi la description par defaut du modele de num<EFBFBD>rotation
* \return string Texte descripif
*/
function info()
{
global $langs;
$langs->load("deliveries");
return $langs->trans("NoDescription");
}
/** \brief Renvoi un exemple de num<EFBFBD>rotation
* \return string Example
*/
function getExample()
{
global $langs;
$langs->load("deliveries");
return $langs->trans("NoExample");
}
/** \brief Test si les num<EFBFBD>ros d<EFBFBD>j<EFBFBD> en vigueur dans la base ne provoquent pas d
* de conflits qui empechera cette num<EFBFBD>rotation de fonctionner.
* \return boolean false si conflit, true si ok
*/
function canBeActivated()
{
return true;
}
/** \brief Renvoi prochaine valeur attribu<EFBFBD>e
* \return string Valeur
*/
function getNextValue()
{
global $langs;
return $langs->trans("NotAvailable");
}
/** \brief Renvoi version du module numerotation
* \return string Valeur
*/
function getVersion()
{
global $langs;
$langs->load("admin");
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
return $langs->trans("NotAvailable");
}
}
function delivery_order_pdf_create($db, $deliveryid, $modele='', $outputlangs='')
{
global $langs;
$langs->load("deliveries");
$dir = DOL_DOCUMENT_ROOT."/includes/modules/livraison/pdf/";
// Positionne modele sur le nom du modele de bon de livraison a utiliser
if (! strlen($modele))
{
if (defined("LIVRAISON_ADDON_PDF") && LIVRAISON_ADDON_PDF)
{
$modele = LIVRAISON_ADDON_PDF;
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_LIVRAISON_ADDON_PDF_NotDefined");
return 0;
}
}
// Charge le modele
$file = "pdf_".$modele.".modules.php";
if (file_exists($dir.$file))
{
$classname = "pdf_".$modele;
require_once($dir.$file);
$obj = new $classname($db);
if ($obj->write_file($deliveryid,$outputlangs) > 0)
{
// on supprime l'image correspondant au preview
delivery_order_delete_preview($db, $deliveryid);
return 1;
}
else
{
dolibarr_syslog("Erreur dans delivery_order_pdf_create");
dolibarr_print_error($db,$obj->pdferror());
return 0;
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0;
}
}
function delivery_order_delete_preview($db, $deliveryid)
{
global $langs,$conf;
$delivery = new Livraison($db,"",$deliveryid);
$delivery->fetch($deliveryid);
$client = new Societe($db);
$client->fetch($delivery->socid);
if ($conf->livraison->dir_output)
{
$deliveryref = sanitize_string($delivery->ref);
$dir = $conf->livraison->dir_output . "/" . $deliveryref ;
$file = $dir . "/" . $deliveryref . ".pdf.png";
if ( file_exists( $file ) && is_writable( $file ) )
{
if ( ! unlink($file) )
{
$this->error=$langs->trans("ErrorFailedToOpenFile",$file);
return 0;
}
}
}
}
?>

View File

@ -21,18 +21,18 @@
*/ */
/** /**
\file htdocs/livraison/mods/pdf/pdf_sirocco.modules.php * \file htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php
\ingroup livraison * \ingroup livraison
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les bons de livraison au mod<EFBFBD>le Sirocco * \brief Fichier de la classe permettant de generer les bons de livraison au mod<EFBFBD>le Sirocco
\version $Id$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT."/livraison/mods/modules_livraison.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/livraison/modules_livraison.php");
/** /**
\class pdf_sirocco * \class pdf_sirocco
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les bons de livraison au mod<EFBFBD>le Sirocco * \brief Classe permettant de generer les bons de livraison au modele Sirocco
*/ */
class pdf_sirocco extends ModelePDFDeliveryOrder class pdf_sirocco extends ModelePDFDeliveryOrder
@ -50,8 +50,8 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
$this->db = $db; $this->db = $db;
$this->name = "sirocco"; $this->name = "sirocco";
$this->description = "Modele de bon de r<>ception livraison simple"; $this->description = $langs->trans("DocumentModelSirocco");
// Dimension page pour format A4 // Dimension page pour format A4
$this->type = 'pdf'; $this->type = 'pdf';
$this->page_largeur = 210; $this->page_largeur = 210;

View File

@ -21,14 +21,14 @@
*/ */
/** /**
* \file htdocs/livraison/mods/pdf/pdf_typhon.modules.php * \file htdocs/includes/modules/livraison/pdf/pdf_typhon.modules.php
* \ingroup livraison * \ingroup livraison
* \brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les bons de livraison au mod<EFBFBD>le Typho * \brief Fichier de la classe permettant de generer les bons de livraison au mod<EFBFBD>le Typho
* \author Laurent Destailleur * \author Laurent Destailleur
* \version $Id$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT."/livraison/mods/modules_livraison.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/livraison/modules_livraison.php");
require_once(DOL_DOCUMENT_ROOT."/livraison/livraison.class.php"); require_once(DOL_DOCUMENT_ROOT."/livraison/livraison.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
@ -55,7 +55,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
$this->db = $db; $this->db = $db;
$this->name = "typhon"; $this->name = "typhon";
$this->description = "Modele de bon de r<>ception livraison complet (logo...)"; $this->description = $langs->trans("DocumentModelTyphon");
// Dimension page pour format A4 // Dimension page pour format A4
$this->type = 'pdf'; $this->type = 'pdf';

View File

@ -1526,7 +1526,7 @@ function migrate_modeles($db,$langs,$conf)
if ($conf->expedition->enabled) if ($conf->expedition->enabled)
{ {
include_once(DOL_DOCUMENT_ROOT.'/expedition/mods/pdf/ModelePdfExpedition.class.php'); include_once(DOL_DOCUMENT_ROOT.'/includes/modules/expedition/pdf/ModelePdfExpedition.class.php');
$model=new ModelePDFExpedition(); $model=new ModelePDFExpedition();
$modellist=$model->liste_modeles($db); $modellist=$model->liste_modeles($db);
if (sizeof($modellist)==0) if (sizeof($modellist)==0)

View File

@ -38,3 +38,9 @@ NewCarrier=New carrier
ConfirmDeleteSending=Are you sure you want to delete this sending ? ConfirmDeleteSending=Are you sure you want to delete this sending ?
ConfirmValidateSending=Are you sure you want to valdate this sending ? ConfirmValidateSending=Are you sure you want to valdate this sending ?
ConfirmCancelSending=Are you sure you want to cancel this sending ? ConfirmCancelSending=Are you sure you want to cancel this sending ?
GenericTransport=Generic transport
Enlevement=Gotten by customer
DocumentModelSimple=Simple document model
# NumRef
NumRefModelJade=Return a reference number with format BLYY00001, ... where YY is year. Number at end is never reset to zero.

View File

@ -38,3 +38,12 @@ NewCarrier=Nouveau transporteur
ConfirmDeleteSending=Etes-vous sûr de vouloir supprimer cette expedition ? ConfirmDeleteSending=Etes-vous sûr de vouloir supprimer cette expedition ?
ConfirmValidateSending=Etes-vous sûr de vouloir valider cette expédition ? ConfirmValidateSending=Etes-vous sûr de vouloir valider cette expédition ?
ConfirmCancelSending=Etes-vous sûr de vouloir annuler cette expédition ? ConfirmCancelSending=Etes-vous sûr de vouloir annuler cette expédition ?
GenericTransport=Transporteur générique
Enlevement=Enlèvement sur place par le client
DocumentModelSimple=Modèle simple
# NumRef
NumRefModelJade=Renvoie un numéro de référence sous la forme numérique BLYY00001, ... où YY représente l'année. Le numéro d'incrément qui suit l'année n'est PAS remis à zéro en début d'année.
# ModelDocument
DocumentModelSirocco=Modèle de bon de réception livraison simple
DocumentModelTyphon=Modèle de bon de réception livraison complet (logo...)

View File

@ -28,7 +28,7 @@
*/ */
require("./pre.inc.php"); require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/livraison/mods/modules_livraison.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/livraison/modules_livraison.php");
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/sendings.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/sendings.lib.php");
if ($conf->produit->enabled) require_once(DOL_DOCUMENT_ROOT."/product.class.php"); if ($conf->produit->enabled) require_once(DOL_DOCUMENT_ROOT."/product.class.php");

View File

@ -336,9 +336,9 @@ class Livraison extends CommonObject
{ {
if (defined('LIVRAISON_ADDON')) if (defined('LIVRAISON_ADDON'))
{ {
if (is_readable(DOL_DOCUMENT_ROOT .'/livraison/mods/'.LIVRAISON_ADDON.'.php')) if (is_readable(DOL_DOCUMENT_ROOT .'/includes/modules/livraison/'.LIVRAISON_ADDON.'.php'))
{ {
require_once DOL_DOCUMENT_ROOT .'/livraison/mods/'.LIVRAISON_ADDON.'.php'; require_once DOL_DOCUMENT_ROOT .'/includes/modules/livraison/'.LIVRAISON_ADDON.'.php';
// Definition du nom de module de numerotation de commande // Definition du nom de module de numerotation de commande
$modName=LIVRAISON_ADDON; $modName=LIVRAISON_ADDON;
@ -348,14 +348,14 @@ class Livraison extends CommonObject
$soc = new Societe($this->db); $soc = new Societe($this->db);
$soc->fetch($this->socid); $soc->fetch($this->socid);
// on verifie si le bon de livraison est en numérotation provisoire // on verifie si le bon de livraison est en num<EFBFBD>rotation provisoire
$livref = substr($this->ref, 1, 4); $livref = substr($this->ref, 1, 4);
if ($livref == 'PROV') if ($livref == 'PROV')
{ {
$this->ref = $objMod->livraison_get_num($soc,$this); $this->ref = $objMod->livraison_get_num($soc,$this);
} }
// Tester si non dejà au statut validé. Si oui, on arrete afin d'éviter // Tester si non dej<EFBFBD> au statut valid<69>. Si oui, on arrete afin d'<27>viter
// de decrementer 2 fois le stock. // de decrementer 2 fois le stock.
$sql = "SELECT ref FROM ".MAIN_DB_PREFIX."livraison where ref='".$this->ref."' AND fk_statut <> 0"; $sql = "SELECT ref FROM ".MAIN_DB_PREFIX."livraison where ref='".$this->ref."' AND fk_statut <> 0";
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@ -374,7 +374,7 @@ class Livraison extends CommonObject
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
// Si module stock géré et que expedition faite depuis un entrepot // Si module stock g<EFBFBD>r<EFBFBD> et que expedition faite depuis un entrepot
if (!$conf->expedition->enabled && $conf->stock->enabled && $this->entrepot_id && $conf->global->STOCK_CALCULATE_ON_SHIPMENT == 1) if (!$conf->expedition->enabled && $conf->stock->enabled && $this->entrepot_id && $conf->global->STOCK_CALCULATE_ON_SHIPMENT == 1)
{ {
@ -469,9 +469,9 @@ class Livraison extends CommonObject
return 1; return 1;
} }
/** \brief Créé le bon de livraison depuis une expédition existante /** \brief Cr<EFBFBD><EFBFBD> le bon de livraison depuis une exp<EFBFBD>dition existante
* \param user Utilisateur qui crée * \param user Utilisateur qui cr<EFBFBD>e
* \param sending_id Id de l'expédition qui sert de modèle * \param sending_id Id de l'exp<EFBFBD>dition qui sert de mod<EFBFBD>le
*/ */
function create_from_sending($user, $sending_id) function create_from_sending($user, $sending_id)
{ {
@ -671,8 +671,8 @@ class Livraison extends CommonObject
/** /**
* \brief Retourne le libellé du statut d'une expedition * \brief Retourne le libell<EFBFBD> du statut d'une expedition
* \return string Libellé * \return string Libell<EFBFBD>
*/ */
function getLibStatut($mode=0) function getLibStatut($mode=0)
{ {
@ -680,10 +680,10 @@ class Livraison extends CommonObject
} }
/** /**
* \brief Renvoi le libellé d'un statut donné * \brief Renvoi le libell<EFBFBD> d'un statut donn<EFBFBD>
* \param statut Id statut * \param statut Id statut
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long, 5=Libellé court + Picto * \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long, 5=Libell<EFBFBD> court + Picto
* \return string Libellé * \return string Libell<EFBFBD>
*/ */
function LibStatut($statut,$mode) function LibStatut($statut,$mode)
{ {

View File

@ -1,234 +0,0 @@
<?php
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2006 Regis Houssin <regis@dolibarr.fr>
*
* 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.
* or see http://www.gnu.org/
*/
/**
\file htdocs/livraison/mods/modules_livraison.php
\ingroup expedition
\brief Fichier contenant la classe mère de generation de bon de livraison en PDF
et la classe mère de numérotation des bons de livraisons
\version $Id$
*/
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
/**
\class ModelePDFDeliveryOrder
\brief Classe mère des modèles de bon de livraison
*/
class ModelePDFDeliveryOrder extends FPDF
{
var $error='';
/**
\brief Renvoi le dernier message d'erreur de création de PDF de bon de livraison
*/
function pdferror()
{
return $this->error;
}
/**
* \brief Renvoi la liste des modèles actifs
*/
function liste_modeles($db)
{
$type='delivery';
$liste=array();
$sql ="SELECT nom as id, nom as lib";
$sql.=" FROM ".MAIN_DB_PREFIX."document_model";
$sql.=" WHERE type = '".$type."'";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$i = 0;
while ($i < $num)
{
$row = $db->fetch_row($resql);
$liste[$row[0]]=$row[1];
$i++;
}
}
else
{
$this->error=$db->error();
return -1;
}
return $liste;
}
}
/**
\class ModeleNumRefDeliveryOrder
\brief Classe mère des modèles de numérotation des références de bon de livraison
*/
class ModeleNumRefDeliveryOrder
{
var $error='';
/** \brief Return if a module can be used or not
* \return boolean true if module can be used
*/
function isEnabled()
{
return true;
}
/** \brief Renvoi la description par defaut du modele de numérotation
* \return string Texte descripif
*/
function info()
{
global $langs;
$langs->load("deliveries");
return $langs->trans("NoDescription");
}
/** \brief Renvoi un exemple de numérotation
* \return string Example
*/
function getExample()
{
global $langs;
$langs->load("deliveries");
return $langs->trans("NoExample");
}
/** \brief Test si les numéros déjà en vigueur dans la base ne provoquent pas de
* de conflits qui empechera cette numérotation de fonctionner.
* \return boolean false si conflit, true si ok
*/
function canBeActivated()
{
return true;
}
/** \brief Renvoi prochaine valeur attribuée
* \return string Valeur
*/
function getNextValue()
{
global $langs;
return $langs->trans("NotAvailable");
}
/** \brief Renvoi version du module numerotation
* \return string Valeur
*/
function getVersion()
{
global $langs;
$langs->load("admin");
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
return $langs->trans("NotAvailable");
}
}
function delivery_order_pdf_create($db, $deliveryid, $modele='', $outputlangs='')
{
global $langs;
$langs->load("deliveries");
$dir = DOL_DOCUMENT_ROOT."/livraison/mods/pdf/";
// Positionne modele sur le nom du modele de bon de livraison à utiliser
if (! strlen($modele))
{
if (defined("LIVRAISON_ADDON_PDF") && LIVRAISON_ADDON_PDF)
{
$modele = LIVRAISON_ADDON_PDF;
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_LIVRAISON_ADDON_PDF_NotDefined");
return 0;
}
}
// Charge le modele
$file = "pdf_".$modele.".modules.php";
if (file_exists($dir.$file))
{
$classname = "pdf_".$modele;
require_once($dir.$file);
$obj = new $classname($db);
if ($obj->write_file($deliveryid,$outputlangs) > 0)
{
// on supprime l'image correspondant au preview
delivery_order_delete_preview($db, $deliveryid);
return 1;
}
else
{
dolibarr_syslog("Erreur dans delivery_order_pdf_create");
dolibarr_print_error($db,$obj->pdferror());
return 0;
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0;
}
}
function delivery_order_delete_preview($db, $deliveryid)
{
global $langs,$conf;
$delivery = new Livraison($db,"",$deliveryid);
$delivery->fetch($deliveryid);
$client = new Societe($db);
$client->fetch($delivery->socid);
if ($conf->livraison->dir_output)
{
$deliveryref = sanitize_string($delivery->ref);
$dir = $conf->livraison->dir_output . "/" . $deliveryref ;
$file = $dir . "/" . $deliveryref . ".pdf.png";
if ( file_exists( $file ) && is_writable( $file ) )
{
if ( ! unlink($file) )
{
$this->error=$langs->trans("ErrorFailedToOpenFile",$file);
return 0;
}
}
}
}
?>