From a9eed57e27aef5395b0da0eefbfb56ee93cc6e47 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Fri, 15 Mar 2013 16:43:28 +0100 Subject: [PATCH] prepair numbering models for supplier invoices --- .../mod_facture_fournisseur_tulip.php | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php new file mode 100644 index 00000000000..88e930f7804 --- /dev/null +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -0,0 +1,145 @@ + + * Copyright (C) 2004-2008 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2013 Philippe Grand + * + * 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 3 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, see . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php + * \ingroup commande + * \brief File containing the Tulip Class of numbering models of suppliers invoices references + */ + +require_once DOL_DOCUMENT_ROOT .'/core/modules/supplier_invoice/modules_facturefournisseur.php'; + + +/** + \class mod_facture_fournisseur_tulip + \brief Tulip Class of numbering models of suppliers invoices references +*/ +class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersOrders +{ + var $version='dolibarr'; // 'development', 'experimental', 'dolibarr' + var $error = ''; + var $nom = 'Tulip'; + + + /** + * Returns the description of the model numbering + * + * @return string Description Text + */ + function info() + { + global $conf,$langs; + + $langs->load("bills"); + $langs->load("admin"); + + $form = new Form($this->db); + + $texte = $langs->trans('GenericNumRefModelDesc')."
\n"; + $texte.= '
'; + $texte.= ''; + $texte.= ''; + $texte.= ''; + $texte.= ''; + + $tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice")); + $tooltip.=$langs->trans("GenericMaskCodes2"); + $tooltip.=$langs->trans("GenericMaskCodes3"); + $tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice")); + $tooltip.=$langs->trans("GenericMaskCodes5"); + + // Parametrage du prefix + $texte.= ''; + $texte.= ''; + + $texte.= ''; + + $texte.= ''; + + $texte.= '
'.$langs->trans("Mask").':'.$form->textwithpicto('',$tooltip,1,1).' 
'; + $texte.= '
'; + + return $texte; + } + + /** + * Returns a numbering example + * + * @return string Example + */ + function getExample() + { + global $conf,$langs,$mysoc; + + $old_code_client=$mysoc->code_client; + $mysoc->code_client='CCCCCCCCCC'; + $numExample = $this->getNextValue($mysoc,''); + $mysoc->code_client=$old_code_client; + + if (! $numExample) + { + $numExample = $langs->trans('NotConfigured'); + } + return $numExample; + } + + /** + * Return next value + * + * @param Societe $objsoc Object third party + * @param Object $object Object + * @return string Value if OK, 0 if KO + */ + function getNextValue($objsoc=0,$object='') + { + global $db,$conf; + + require_once DOL_DOCUMENT_ROOT .'/core/lib/functions2.lib.php'; + + // On defini critere recherche compteur + $mask=$conf->global->SUPPLIER_INVOICE_TULIP_MASK; + + if (! $mask) + { + $this->error='NotConfigured'; + return 0; + } + + $numFinal=get_next_value($db,$mask,'commande_fournisseur','ref','',$objsoc->code_fournisseur,$object->date_commande); + + return $numFinal; + } + + + /** + * Renvoie la reference de commande suivante non utilisee + * + * @param Societe $objsoc Object third party + * @param Object $object Object + * @return string Texte descripif + */ + function commande_get_num($objsoc=0,$object='') + { + return $this->getNextValue($objsoc,$object); + } +} + +?> \ No newline at end of file