diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 6c96938e22e..993e15c5a6c 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -125,42 +125,40 @@ if ($_GET["action"] == 'setdoc') if ($_GET["action"] == 'setmod') { - // \todo Verifier si module numerotation choisi peut etre activ� + // \todo Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated dolibarr_set_const($db, "COMMANDE_ADDON",$_GET["value"]); - Header("Location: commande.php"); - exit; +} + +if ($_POST["action"] == 'set_COMMANDE_FREE_TEXT') +{ + dolibarr_set_const($db, "COMMANDE_FREE_TEXT",trim($_POST["COMMANDE_FREE_TEXT"])); } if ($_POST["action"] == 'setvalidorder') { - dolibarr_set_const($db, "COMMANDE_VALID_AFTER_CLOSE_PROPAL",$_POST["validorder"]); - Header("Location: commande.php"); - exit; + dolibarr_set_const($db, "COMMANDE_VALID_AFTER_CLOSE_PROPAL",$_POST["validorder"]); } if ($_POST["action"] == 'deliverycostline') { - dolibarr_set_const($db, "COMMANDE_ADD_DELIVERY_COST_LINE",$_POST["addline"]); - Header("Location: commande.php"); - exit; + dolibarr_set_const($db, "COMMANDE_ADD_DELIVERY_COST_LINE",$_POST["addline"]); } if ($_POST["action"] == 'set_use_customer_contact_as_recipient') { dolibarr_set_const($db, "COMMANDE_USE_CUSTOMER_CONTACT_AS_RECIPIENT",$_POST["use_customer_contact_as_recipient"]); - Header("Location: commande.php"); - exit; } -// d�fini les constantes du mod�le saphir +// defini les constantes du modele saphir if ($_POST["action"] == 'updateMatrice') dolibarr_set_const($db, "COMMANDE_NUM_MATRICE",$_POST["matrice"]); if ($_POST["action"] == 'updatePrefix') dolibarr_set_const($db, "COMMANDE_NUM_PREFIX",$_POST["prefix"]); if ($_POST["action"] == 'setOffset') dolibarr_set_const($db, "COMMANDE_NUM_DELTA",$_POST["offset"]); if ($_POST["action"] == 'setFiscalMonth') dolibarr_set_const($db, "SOCIETE_FISCAL_MONTH_START",$_POST["fiscalmonth"]); if ($_POST["action"] == 'setNumRestart') dolibarr_set_const($db, "COMMANDE_NUM_RESTART_BEGIN_YEAR",$_POST["numrestart"]); + /* * Affichage page */ @@ -423,6 +421,17 @@ print ''; +print ''; +print ''; +print $langs->trans("FreeLegalTextOnOrders").'
'; +print ''; +print ''; +print ''; +print "\n"; +print ''; + print ''; print '
'; diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index e0b13c7c2a3..90604ff6295 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -145,6 +145,11 @@ if ($_POST["action"] == 'setribchq') dolibarr_set_const($db, "FACTURE_CHQ_NUMBER",$_POST["chq"]); } +if ($_POST["action"] == 'set_FACTURE_FREE_TEXT') +{ + dolibarr_set_const($db, "FACTURE_FREE_TEXT",trim($_POST["FACTURE_FREE_TEXT"])); +} + if ($_POST["action"] == 'setforcedate') { dolibarr_set_const($db, "FAC_FORCE_DATE_VALIDATION",$_POST["forcedate"]); @@ -181,7 +186,7 @@ if ($_GET["action"] == 'delete') } } -// d�fini les constantes du mod�le pluton +// defini les constantes du modele pluton if ($_POST["action"] == 'updateMatrice') dolibarr_set_const($db, "FACTURE_NUM_MATRICE",$_POST["matrice"]); if ($_POST["action"] == 'updatePrefixFacture') dolibarr_set_const($db, "FACTURE_NUM_PREFIX",$_POST["prefixfacture"]); if ($_POST["action"] == 'updatePrefixAvoir') dolibarr_set_const($db, "AVOIR_NUM_PREFIX",$_POST["prefixavoir"]); @@ -457,7 +462,7 @@ print '\n"; $var=!$var; print ''; -print "Proposer paiement par RIB sur le compte"; +print "".$langs->trans("SuggestPaymentByRIBOnAccount").""; print ""; if ($conf->banque->enabled) { @@ -497,7 +502,7 @@ else print ""; $var=!$var; print ''; -print "Proposer paiement par ch�que � l'ordre et adresse de"; +print "".$langs->trans("SuggestPaymentByChequeToAddress").""; print ""; print '' print "\n"; print ''; +$var=! $var; +print '
'; +print ''; +print ''; +print $langs->trans("FreeLegalTextOnInvoices").'
'; +print ''; +print ''; +print ''; +print "\n"; +print '
'; + print ''; diff --git a/htdocs/admin/propale.php b/htdocs/admin/propale.php index d1dbb5d5193..1b44a5d269b 100644 --- a/htdocs/admin/propale.php +++ b/htdocs/admin/propale.php @@ -77,53 +77,44 @@ if ($_GET["action"] == 'specimen') } } +if ($_POST["action"] == 'set_PROPALE_FREE_TEXT') +{ + dolibarr_set_const($db, "PROPALE_FREE_TEXT",trim($_POST["PROPALE_FREE_TEXT"])); +} + if ($_POST["action"] == 'setnbprod') { dolibarr_set_const($db, "PROPALE_NEW_FORM_NB_PRODUCT",$_POST["value"]); - Header("Location: propale.php"); - exit; } if ($_POST["action"] == 'setdefaultduration') { dolibarr_set_const($db, "PROPALE_VALIDITY_DURATION",$_POST["value"]); - Header("Location: propale.php"); - exit; } if ($_POST["action"] == 'setaddshippingdate') { dolibarr_set_const($db, "PROPALE_ADD_SHIPPING_DATE",$_POST["value"]); - Header("Location: propale.php"); - exit; } if ($_POST["action"] == 'setadddeliveryaddress') { dolibarr_set_const($db, "PROPALE_ADD_DELIVERY_ADDRESS",$_POST["value"]); - Header("Location: propale.php"); - exit; } if ($_POST["action"] == 'setuseoptionline') { dolibarr_set_const($db, "PROPALE_USE_OPTION_LINE",$_POST["value"]); - Header("Location: propale.php"); - exit; } if ($_POST["action"] == 'setclassifiedinvoiced') { dolibarr_set_const($db, "PROPALE_CLASSIFIED_INVOICED_WITH_ORDER",$_POST["value"]); - Header("Location: propale.php"); - exit; } if ($_POST["action"] == 'setusecustomercontactasrecipient') { dolibarr_set_const($db, "PROPALE_USE_CUSTOMER_CONTACT_AS_RECIPIENT",$_POST["value"]); - Header("Location: propale.php"); - exit; } @@ -493,6 +484,17 @@ if ($conf->commande->enabled) print ''; } +$var=! $var; +print '
'; +print ''; +print ''; +print $langs->trans("FreeLegalTextOnProposal").'
'; +print ''; +print ''; +print ''; +print "\n"; +print '
'; + print ''; diff --git a/htdocs/includes/modules/commande/pdf_einstein.modules.php b/htdocs/includes/modules/commande/pdf_einstein.modules.php index 9a24f8b710f..15b2b1a764c 100644 --- a/htdocs/includes/modules/commande/pdf_einstein.modules.php +++ b/htdocs/includes/modules/commande/pdf_einstein.modules.php @@ -74,6 +74,7 @@ class pdf_einstein extends ModelePDFCommandes $this->option_multilang = 1; // Dispo en plusieurs langues $this->option_escompte = 1; // Affiche si il y a eu escompte $this->option_credit_note = 1; // Gère les avoirs + $this->option_freetext = 1; // Support add of a personalised text if (defined("FACTURE_TVAOPTION") && FACTURE_TVAOPTION == 'franchise') $this->franchise=1; @@ -952,6 +953,9 @@ class pdf_einstein extends ModelePDFCommandes { global $conf; + // Line of free text + $ligne=(! empty($conf->global->COMMANDE_FREE_TEXT))?$conf->global->COMMANDE_FREE_TEXT:""; + // Premiere ligne d'info réglementaires $ligne1=""; if ($this->emetteur->forme_juridique_code) @@ -990,8 +994,15 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetDrawColor(224,224,224); // On positionne le debut du bas de page selon nbre de lignes de ce bas de page - $posy=$this->marge_basse + 1 + ($ligne1?3:0) + ($ligne2?3:0); + $posy=$this->marge_basse + 1 + ($ligne?4:0) + ($ligne1?3:0) + ($ligne2?3:0); + if ($ligne) + { + $pdf->SetXY($this->marge_gauche,-$posy); + $pdf->MultiCell(190, 3, $ligne, 0, 'L', 0); + $posy-=7; + } + $pdf->SetY(-$posy); $pdf->line($this->marge_gauche, $this->page_hauteur-$posy, 200, $this->page_hauteur-$posy); $posy--; diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php index 29531a9fcfd..56af8487522 100644 --- a/htdocs/includes/modules/facture/pdf_crabe.modules.php +++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php @@ -74,7 +74,7 @@ class pdf_crabe extends ModelePDFFactures $this->option_multilang = 1; // Dispo en plusieurs langues $this->option_escompte = 1; // Affiche si il y a eu escompte $this->option_credit_note = 1; // Gère les avoirs - + $this->option_freetext = 1; // Support add of a personalised text if (defined("FACTURE_TVAOPTION") && FACTURE_TVAOPTION == 'franchise') $this->franchise=1; @@ -1142,7 +1142,10 @@ class pdf_crabe extends ModelePDFFactures { global $conf; - // Premiere ligne d'info réglementaires + // Line of free text + $ligne=(! empty($conf->global->FACTURE_FREE_TEXT))?$conf->global->FACTURE_FREE_TEXT:""; + + // Premiere ligne d'info réglementaires $ligne1=""; if ($this->emetteur->forme_juridique_code) { @@ -1161,7 +1164,7 @@ class pdf_crabe extends ModelePDFFactures $ligne1.=($ligne1?" - ":"").$outputlangs->transcountry("ProfId1",$this->emetteur->pays_code).": ".$this->emetteur->profid1; } - // Deuxieme ligne d'info réglementaires + // Deuxieme ligne d'info réglementaires $ligne2=""; if ($this->emetteur->profid3) { @@ -1175,13 +1178,20 @@ class pdf_crabe extends ModelePDFFactures { $ligne2.=($ligne2?" - ":"").$outputlangs->transnoentities("VATIntraShort").": ".$this->emetteur->tva_intra; } - + $pdf->SetFont('Arial','',8); $pdf->SetDrawColor(224,224,224); // On positionne le debut du bas de page selon nbre de lignes de ce bas de page - $posy=$this->marge_basse + 1 + ($ligne1?3:0) + ($ligne2?3:0); + $posy=$this->marge_basse + 1 + ($ligne?4:0) + ($ligne1?3:0) + ($ligne2?3:0); + if ($ligne) + { + $pdf->SetXY($this->marge_gauche,-$posy); + $pdf->MultiCell(190, 3, $ligne, 0, 'L', 0); + $posy-=7; + } + $pdf->SetY(-$posy); $pdf->line($this->marge_gauche, $this->page_hauteur-$posy, 200, $this->page_hauteur-$posy); $posy--; diff --git a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php index fc5a073bcc7..c6f2b6a992e 100644 --- a/htdocs/includes/modules/propale/pdf_propale_azur.modules.php +++ b/htdocs/includes/modules/propale/pdf_propale_azur.modules.php @@ -16,8 +16,6 @@ * 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$ */ /** @@ -25,7 +23,7 @@ \ingroup propale \brief Fichier de la classe permettant de générer les propales au modèle Azur \author Laurent Destailleur - \version $Revision$ + \version $Id$ */ require_once(DOL_DOCUMENT_ROOT."/includes/modules/propale/modules_propale.php"); @@ -76,6 +74,7 @@ class pdf_propale_azur extends ModelePDFPropales $this->option_multilang = 1; // Dispo en plusieurs langues $this->option_escompte = 1; // Affiche si il y a eu escompte $this->option_credit_note = 1; // Gère les avoirs + $this->option_freetext = 1; // Support add of a personalised text if (defined("FACTURE_TVAOPTION") && FACTURE_TVAOPTION == 'franchise') $this->franchise=1; @@ -980,6 +979,9 @@ class pdf_propale_azur extends ModelePDFPropales { global $conf; + // Line of free text + $ligne=(! empty($conf->global->PROPALE_FREE_TEXT))?$conf->global->PROPALE_FREE_TEXT:""; + // Premiere ligne d'info réglementaires $ligne1=""; if ($this->emetteur->forme_juridique_code) @@ -1018,8 +1020,15 @@ class pdf_propale_azur extends ModelePDFPropales $pdf->SetDrawColor(224,224,224); // On positionne le debut du bas de page selon nbre de lignes de ce bas de page - $posy=$this->marge_basse + 1 + ($ligne1?3:0) + ($ligne2?3:0); + $posy=$this->marge_basse + 1 + ($ligne?4:0) + ($ligne1?3:0) + ($ligne2?3:0); + if ($ligne) + { + $pdf->SetXY($this->marge_gauche,-$posy); + $pdf->MultiCell(190, 3, $ligne, 0, 'L', 0); + $posy-=7; + } + $pdf->SetY(-$posy); $pdf->line($this->marge_gauche, $this->page_hauteur-$posy, 200, $this->page_hauteur-$posy); $posy--; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index a68330f3691..7956ed75656 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -603,8 +603,11 @@ CreditNote=Credit note CreditNotes=Credit notes ForceInvoiceDate=Force invoice date to validation date DisableRepeatable=Disable repeatable invoices -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested Payments mode on invoices if not explicitely defined +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice EnableEditDeleteValidInvoice=Enable the possibility to edit/delete valid invoice with no payment +SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account +SuggestPaymentByChequeToAddress=Suggest payment by cheque to +FreeLegalTextOnInvoices=Free text on invoices ##### Proposals ##### PropalSetup=Commercial proposals module setup CreateForm=Create forms @@ -619,12 +622,14 @@ HideTreadedPropal=Hide the treated commercial proposals in the list AddShippingDateAbility=Add shipping date ability AddDeliveryAddressAbility=Add delivery date ability UseOptionLineIfNoQuantity=A line of product/service with a zero amount is considered as an option +FreeLegalTextOnProposal=Free text on commercial proposals ##### Orders ##### OrdersSetup=Orders' management setup OrdersNumberingModules=Orders numbering modules OrdersModelModule=Order documents models HideTreadedOrders=Hide the treated or canceled orders in the list ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order +FreeLegalTextOnOrders=Free text on orders ##### Fiche inter ##### FicheinterNumberingModules=Intervention numbering modules TemplatePDFInterventions=Intervention card documents models diff --git a/htdocs/langs/fr_BE/admin.lang b/htdocs/langs/fr_BE/admin.lang index ebdeae82280..af1661016b6 100644 --- a/htdocs/langs/fr_BE/admin.lang +++ b/htdocs/langs/fr_BE/admin.lang @@ -456,8 +456,11 @@ CreditNote=Note de cr CreditNotes=Notes de crédit ForceInvoiceDate=Forcer la date de facturation à la date de validation DisableRepeatable=Désactiver les factures récurrentes -SuggestedPaymentModesIfNotDefinedInInvoice=Mode de paiement suggéré sur les factures si pas défini explicitement +SuggestedPaymentModesIfNotDefinedInInvoice=Modes de paiements suggérés par défaut si non défini au niveau de la facture EnableEditDeleteValidInvoice=Activer la possibilité de modifier/supprimer une facture valide sans paiement +SuggestPaymentByRIBOnAccount=Proposer paiement par RIB sur le compte +SuggestPaymentByChequeToAddress=Proposer paiement par chèque à l'ordre et adresse de +FreeLegalTextOnInvoices=Mention complémentaire sur les factures ##### Proposals #####= PropalSetup=Configuration du module de propositions commerciales CreateForm=Créer des formulaires @@ -469,11 +472,13 @@ ProposalsPDFModules=Mod ClassifiedInvoiced=Factures classifiées ClassifiedInvoicedWithOrder=Propositions facturées classifiées en même temps que la commande HideTreadedPropal=Cacher les propositions commerciales traitées dans la liste +FreeLegalTextOnProposal=Mention complémentaire sur les propositions ##### Orders #####= OrdersSetup=Configuration de la gestion des commandes OrdersNumberingModules=Module de numérotation des commandes OrdersModelModule=Modèles de commandes HideTreadedOrders=Cacher les commandes traitées de la liste +FreeLegalTextOnOrders=Mention complémentaire sur les commandes ##### Fiche inter #####= TemplatePDFInterventions=Modèles de fiches d'interventions ##### Clicktodial #####= diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 490a7f17418..69e2d58fbad 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -602,8 +602,11 @@ CreditNote=Avoir CreditNotes=Avoirs ForceInvoiceDate=Forcer la date de facture à la date de validation DisableRepeatable=Désactiver les factures récurrentes -SuggestedPaymentModesIfNotDefinedInInvoice=Modes de paiements suggérés sur les factures si non défini explicitement +SuggestedPaymentModesIfNotDefinedInInvoice=Modes de paiements suggérés par défaut si non défini au niveau de la facture EnableEditDeleteValidInvoice=Activer la possibilité d'éditer/supprimer une facture validée sans paiement +SuggestPaymentByRIBOnAccount=Proposer paiement par RIB sur le compte +SuggestPaymentByChequeToAddress=Proposer paiement par chèque à l'ordre et adresse de +FreeLegalTextOnInvoices=Mention complémentaire sur les factures ##### Proposals ##### PropalSetup=Configuration du module Propositions Commerciales CreateForm=Création formulaire @@ -618,12 +621,14 @@ HideTreadedPropal=Cacher les propositions commerciales trait AddShippingDateAbility=Possibilité de déterminer une date de livraison AddDeliveryAddressAbility=Possibilité de sélectionner une adresse de livraison UseOptionLineIfNoQuantity=Une ligne de produit/service ayant une quantité nulle est considérée comme une option +FreeLegalTextOnProposal=Mention complémentaire sur les propositions ##### Orders ##### OrdersSetup=Configuration du module Commandes OrdersNumberingModules=Modules de numérotation des commandes OrdersModelModule=Modèles de document des commandes HideTreadedOrders=Cacher les commandes traitées ou annulées de la liste ValidOrderAfterPropalClosed=Valider la commande après la clôture de la propale, permet de ne pas passer par la commande provisoire +FreeLegalTextOnOrders=Mention complémentaire sur les commandes ##### Fiche inter ##### FicheinterNumberingModules=Modules de numérotation des fiches interventions TemplatePDFInterventions=Modèle de documents des fiches d'interventions