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
if ($commande->statut > 0 && $commande->statut < 3 && $user->rights->expedition->creer
&& $commande->getNbOfProductsLines() > 0)
if ($commande->statut > 0 && $commande->statut < 3 && $commande->getNbOfProductsLines() > 0)
{
// Chargement des permissions
$error = $user->load_entrepots();
if (sizeof($user->entrepots) === 1)
if ($user->rights->expedition->creer)
{
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>';
// 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'].'">';
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
{
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) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* 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
* it under the terms of the GNU General Public License as published by
@ -29,7 +29,6 @@
require("./pre.inc.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");
if ($conf->produit->enabled) require_once(DOL_DOCUMENT_ROOT."/product.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_id = $origin_id;
// On boucle sur chaque ligne du document d'origine pour compléter objet expedition
// avec qté à livrer
// On boucle sur chaque ligne du document d'origine pour compl<EFBFBD>ter objet expedition
// avec qt<EFBFBD> <20> livrer
$class = ucfirst($expedition->origin);
$object = new $class($db);
$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)
{
@ -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
{
// 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->fetch($_REQUEST['id']);
@ -269,7 +270,7 @@ if ($_GET["action"] == 'create')
print "<tr><td>".$langs->trans("Date")."</td>";
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"])
{
print '<tr><td>'.$langs->trans("Warehouse").'</td>';
@ -307,7 +308,7 @@ if ($_GET["action"] == 'create')
//$lignes = $object->fetch_lines(1);
$numAsked = sizeof($object->lignes);
/* Lecture des expeditions déjà effectuées */
/* Lecture des expeditions d<EFBFBD>j<EFBFBD> effectu<74>es */
$object->loadExpeditions();
if ($numAsked)
@ -370,12 +371,12 @@ if ($_GET["action"] == 'create')
if ($_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);
if ($defaultqty < 0) $defaultqty=0;
}
// Quantité à livrer
// Quantit<EFBFBD> <20> livrer
print '<td align="center">';
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$ligne->id.'">';
print '<input name="qtyl'.$indiceAsked.'" type="text" size="4" value="'.$defaultqty.'">';
@ -428,7 +429,7 @@ if ($_GET["action"] == 'create')
}
else
{
// Quantité à livrer
// Quantit<EFBFBD> <20> livrer
print '<td align="center">';
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$ligne->id.'">';
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
//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 = '';
$totalVolume = '';
for ($i = 0 ; $i < $num_prod ; $i++)
@ -565,7 +566,7 @@ else
print '<td colspan="3">'.$soc->getNomUrl(1).'</td>';
print "</tr>";
// Document liée
// Document li<EFBFBD>e
print '<tr><td>';
if ($conf->commande->enabled)
{
@ -661,7 +662,7 @@ else
print "<td>".nl2br($lignes[$i]->description)."</td>\n";
}
// Qte commandé
// Qte command<EFBFBD>
print '<td align="center">'.$lignes[$i]->qty_asked.'</td>';
// Qte a expedier ou expedier
@ -758,7 +759,7 @@ 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
* \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$
*/
/**
* \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
{
@ -35,7 +35,7 @@ class FormFile
/**
* \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)
{
@ -110,20 +110,20 @@ class FormFile
/**
* \brief Affiche la cartouche de la liste des documents d'une propale, facture...
* \param modulepart propal=propal, facture=facture, ...
* \param filename Sous rep à scanner (vide si filedir deja complet)
* \param filedir Repertoire à scanner
* \param filename Sous rep <EFBFBD> scanner (vide si filedir deja complet)
* \param filedir Repertoire <EFBFBD> scanner
* \param urlsource Url page origine (pour retour)
* \param genallowed Génération autorisée (1/0 ou array des formats)
* \param delallowed Suppression autorisée (1/0)
* \param modelselected Modele à pré-sélectionner par faut
* \param genallowed G<EFBFBD>n<EFBFBD>ration autoris<EFBFBD>e (1/0 ou array des formats)
* \param delallowed Suppression autoris<EFBFBD>e (1/0)
* \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 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 maxfilenamelength Max length for filename shown
* \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
* \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)
{
@ -178,7 +178,7 @@ class FormFile
if (is_array($genallowed)) $modellist=$genallowed;
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();
$modellist=$model->liste_modeles($this->db);
}
@ -188,7 +188,7 @@ class FormFile
if (is_array($genallowed)) $modellist=$genallowed;
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();
$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);
// Affiche en-tete tableau si non deja affiché
// Affiche en-tete tableau si non deja affich<EFBFBD>
if (sizeof($file_list) && ! $headershown && !$iconPDF)
{
$headershown=1;
@ -318,12 +318,12 @@ class FormFile
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)
{
$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
if ($filename) $relativepath=$filename."/".$file["name"]; // Cas propal, facture...
// 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
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*
* $Id$
* $Source$
*/
/**
\file htdocs/expedition/mods/methode_expedition.modules.php
\ingroup expedition
\brief Fichier contenant la classe m<EFBFBD>re de generation de bon de livraison en PDF
et la classe m<EFBFBD>re de num<EFBFBD>rotation des bons de livraisons
\version $Revision$
* \file htdocs/includes/modules/expedition/methode_expedition.modules.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.'/includes/fpdf/fpdfi/fpdi_protection.php');
/**
\class methode_expedition
\brief Classe m<EFBFBD>re des methodes expeditions
* \class methode_expedition
* \brief Classe mere des methodes expeditions
*/
class methode_expedition
{

View File

@ -14,17 +14,19 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* $Id$
* $Source$
*/
/*
* \version $Id$
*/
include_once "methode_expedition.modules.php";
Class methode_expedition_colsui extends methode_expedition
{
Function methode_expedition_colsui($db=0)
function methode_expedition_colsui($db=0)
{
$this->db = $db;
$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
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* $Id$
* $Source$
*
*/
/*
* \version $Id$
*/
include_once "methode_expedition.modules.php";
Class methode_expedition_enl extends methode_expedition
{
Function methode_expedition_enl($db=0)
{
$this->db = $db;
$this->id = 1; // Do not change this value
$this->name = "Enlèvement";
$this->code = "ENL";
$this->description = "Enlèvement sur place par le client";
}
function methode_expedition_enl($db=0)
{
global $langs;
$this->db = $db;
$this->id = 1; // Do not change this value
$this->name = "Enlevement";
$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
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* $Id$
* $Source$
*
*/
/*
* \version $Id$
*/
include_once "methode_expedition.modules.php";
Class methode_expedition_trans extends methode_expedition
{
Function methode_expedition_trans($db=0)
{
$this->db = $db;
$this->id = 2; // Ne pas changer cette valeur
$this->code = "TRANS";
$this->name = "Transporteur";
$this->description = "Transporteur générique";
}
function methode_expedition_trans($db=0)
{
global $langs;
$this->db = $db;
$this->id = 2; // Ne pas changer cette valeur
$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
\ingroup shipping
\brief Fichier contenant la classe mère de generation des expeditions
\version $Id$
*/
* \file htdocs/includes/module/expedition/pdf/ModelePdfExpedition.class.php
* \ingroup shipping
* \brief Fichier contenant la classe mere de generation des expeditions
* \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.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
\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
@ -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()
{
@ -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)
*/
function liste_modeles($db)
@ -84,11 +84,11 @@ class ModelePdfExpedition extends DolibarrPdfBarCode
}
/*
\brief Crée un bon d'expedition sur disque
\param db objet base de donnée
\param id id de la expedition à créer
\param modele force le modele à utiliser ('' par defaut)
/**
\brief Cree un bon d'expedition sur disque
\param db objet base de donnee
\param id id de la expedition a creer
\param modele force le modele a utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction
*/
function expedition_pdf_create($db, $id, $modele='', $outputlangs='')
@ -96,10 +96,10 @@ function expedition_pdf_create($db, $id, $modele='', $outputlangs='')
global $conf,$langs;
$langs->load("sendings");
$dir = DOL_DOCUMENT_ROOT."/expedition/mods/pdf/";
$dir = DOL_DOCUMENT_ROOT."/includes/modules/expedition/pdf/";
$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";
if ($modele && file_exists($dir.$file)) $modelisok=1;
@ -117,7 +117,7 @@ function expedition_pdf_create($db, $id, $modele='', $outputlangs='')
$liste=array();
$model=new ModelePDFExpedition();
$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";
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
* \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$
*/
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";
/**
* \class pdf_expedition_dorade
* \brief Classe permettant de générer les borderaux envoi au modèle Merou
* \class pdf_expedition_merou
* \brief Classe permettant de generer les borderaux envoi au modele Merou
*/
Class pdf_expedition_merou extends ModelePdfExpedition
{
@ -40,7 +40,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
/**
\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)
{
@ -49,7 +49,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$this->db = $db;
$this->name = "Merou";
$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->external,code->LIVREUR \n
|element->commande,source->external,code->EXPEDITEUR \n
@ -65,13 +65,13 @@ Class pdf_expedition_merou extends ModelePdfExpedition
// Recupere emmetteur
$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
* \param obj Objet expedition à générer (ou id si ancienne methode)
* \brief Fonction generant le document sur le disque
* \param obj Objet expedition a generer (ou id si ancienne methode)
* \return int 1=ok, 0=ko
*/
function write_file(&$obj, $outputlangs='')
@ -116,7 +116,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
if ($idcontact[0]) $this->livreur->fetch();
// Définition de $dir et $file
// D<EFBFBD>finition de $dir et $file
if ($this->expe->specimen)
{
$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
$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);
}
@ -168,7 +168,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Insertion de l entete
$this->_pagehead($pdf, $this->expe, $outputlangs);
//Initialisation des coordonnées
//Initialisation des coordonn<EFBFBD>es
$tab_top = 53;
$tab_height = 70;
$pdf->SetFillColor(240,240,240);
@ -188,7 +188,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Generation du produit
$Prod = new Product($this->db);
$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(20+3, $curY+1, 3, 3);
//Insertion de la reference du produit
@ -199,11 +199,11 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->SetFont('Arial','', 7);
$pdf->SetXY (50, $curY );
$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->SetXY (140, $curY );
$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->SetXY (170, $curY );
$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
* \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$
*/
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
* \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
{
@ -39,7 +39,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
/**
\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)
{
@ -47,7 +47,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$this->db = $db;
$this->name = "rouget";
$this->description = "Modèle simple.";
$this->description = $langs->trans("DocumentModelSimple");
$this->type = 'pdf';
$this->page_largeur = 210;
@ -62,7 +62,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
// Recupere emmetteur
$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
* \param obj Objet expedition à générer (ou id si ancienne methode)
* \brief Fonction g<EFBFBD>n<EFBFBD>rant le document sur le disque
* \param obj Objet expedition <EFBFBD> g<EFBFBD>n<EFBFBD>rer (ou id si ancienne methode)
* \return int 1=ok, 0=ko
*/
function write_file(&$obj, $outputlangs='')
@ -136,7 +136,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
{
$this->expe = $obj;
// Définition de $dir et $file
// D<EFBFBD>finition de $dir et $file
if ($this->expe->specimen)
{
$dir = $conf->expedition_bon->dir_output;
@ -220,7 +220,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
if ($libelleproduitservice) $libelleproduitservice.="<br>";
$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)
{
$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);

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
\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$
*/
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
\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
@ -41,15 +41,16 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
var $nom = "Jade";
/** \brief Renvoi la description du modele de numérotation
/** \brief Renvoi la description du modele de numerotation
* \return string Texte descripif
*/
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
*/
function getExample()
@ -66,7 +67,7 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
{
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='';
$sql = "SELECT MAX(ref)";
$sql.= " FROM ".MAIN_DB_PREFIX."livraison";
@ -77,10 +78,10 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
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))
{
// Recherche rapide car restreint par un like sur champ indexé
// Recherche rapide car restreint par un like sur champ index<EFBFBD>
$posindice=5;
$sql = "SELECT MAX(0+SUBSTRING(ref,$posindice))";
$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
* \param objsoc Objet société
/** \brief Renvoie la r<EFBFBD>f<EFBFBD>rence de commande suivante non utilis<EFBFBD>e
* \param objsoc Objet soci<EFBFBD>t<EFBFBD>
* \param livraison Objet livraison
* \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
\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$
*/
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
\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
{
@ -39,7 +39,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
var $nom = 'Saphir';
/** \brief Renvoi la description du modele de numérotation
/** \brief Renvoi la description du modele de numerotation
* \return string Texte descripif
*/
function info()
@ -70,7 +70,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
return $texte;
}
/** \brief Renvoi un exemple de numérotation
/** \brief Renvoi un exemple de num<EFBFBD>rotation
* \return string Example
*/
function getExample()
@ -101,7 +101,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
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;
if (! $mask)
@ -127,8 +127,8 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
}
/** \brief Renvoie la référence de commande suivante non utilisée
* \param objsoc Objet société
/** \brief Renvoie la r<EFBFBD>f<EFBFBD>rence de commande suivante non utilis<EFBFBD>e
* \param objsoc Objet soci<EFBFBD>t<EFBFBD>
* \param livraison Objet livraison
* \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
\ingroup livraison
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les bons de livraison au mod<EFBFBD>le Sirocco
\version $Id$
* \file htdocs/includes/modules/livraison/pdf/pdf_sirocco.modules.php
* \ingroup livraison
* \brief Fichier de la classe permettant de generer les bons de livraison au mod<EFBFBD>le Sirocco
* \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
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les bons de livraison au mod<EFBFBD>le Sirocco
* \class pdf_sirocco
* \brief Classe permettant de generer les bons de livraison au modele Sirocco
*/
class pdf_sirocco extends ModelePDFDeliveryOrder
@ -50,8 +50,8 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
$this->db = $db;
$this->name = "sirocco";
$this->description = "Modele de bon de r<>ception livraison simple";
$this->description = $langs->trans("DocumentModelSirocco");
// Dimension page pour format A4
$this->type = 'pdf';
$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
* \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
* \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."/lib/company.lib.php");
@ -55,7 +55,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
$this->db = $db;
$this->name = "typhon";
$this->description = "Modele de bon de r<>ception livraison complet (logo...)";
$this->description = $langs->trans("DocumentModelTyphon");
// Dimension page pour format A4
$this->type = 'pdf';

View File

@ -1526,7 +1526,7 @@ function migrate_modeles($db,$langs,$conf)
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();
$modellist=$model->liste_modeles($db);
if (sizeof($modellist)==0)

View File

@ -38,3 +38,9 @@ NewCarrier=New carrier
ConfirmDeleteSending=Are you sure you want to delete this sending ?
ConfirmValidateSending=Are you sure you want to valdate 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 ?
ConfirmValidateSending=Etes-vous sûr de vouloir valider 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_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."/lib/sendings.lib.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 (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
$modName=LIVRAISON_ADDON;
@ -348,14 +348,14 @@ class Livraison extends CommonObject
$soc = new Societe($this->db);
$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);
if ($livref == 'PROV')
{
$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.
$sql = "SELECT ref FROM ".MAIN_DB_PREFIX."livraison where ref='".$this->ref."' AND fk_statut <> 0";
$resql=$this->db->query($sql);
@ -374,7 +374,7 @@ class Livraison extends CommonObject
$resql=$this->db->query($sql);
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)
{
@ -469,9 +469,9 @@ class Livraison extends CommonObject
return 1;
}
/** \brief Créé le bon de livraison depuis une expédition existante
* \param user Utilisateur qui crée
* \param sending_id Id de l'expédition qui sert de modèle
/** \brief Cr<EFBFBD><EFBFBD> le bon de livraison depuis une exp<EFBFBD>dition existante
* \param user Utilisateur qui cr<EFBFBD>e
* \param sending_id Id de l'exp<EFBFBD>dition qui sert de mod<EFBFBD>le
*/
function create_from_sending($user, $sending_id)
{
@ -671,8 +671,8 @@ class Livraison extends CommonObject
/**
* \brief Retourne le libellé du statut d'une expedition
* \return string Libellé
* \brief Retourne le libell<EFBFBD> du statut d'une expedition
* \return string Libell<EFBFBD>
*/
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 mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long, 5=Libellé court + Picto
* \return string Libellé
* \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<EFBFBD>
*/
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;
}
}
}
}
?>