From cacb642bc09ce3015d711ff42d8c86bcbfc6a462 Mon Sep 17 00:00:00 2001 From: Anthony Berton Date: Thu, 27 Oct 2022 22:45:32 +0200 Subject: [PATCH 1/4] =?UTF-8?q?NEW=20-=20Compl=C3=A9te=20function=20pdfBui?= =?UTF-8?q?ldThirdpartyName=20to=20use=20company=20name=20of=20contact?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/admin/pdf.php | 29 ++++++++++++++++++----------- htdocs/core/lib/pdf.lib.php | 12 +++++++++--- htdocs/langs/fr_FR/admin.lang | 1 + 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index d59e2279435..f5a5ba8cd95 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -174,7 +174,9 @@ if ($action == 'update') { if (GETPOSTISSET('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) { dolibarr_set_const($db, "PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME", GETPOST('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME', 'alpha'), 'chaine', 0, '', $conf->entity); } - + if (GETPOSTISSET('MAIN_USE_COMPANY_NAME_OF_CONTACT')) { + dolibarr_set_const($db, "MAIN_USE_COMPANY_NAME_OF_CONTACT", GETPOST('MAIN_USE_COMPANY_NAME_OF_CONTACT', 'alpha'), 'chaine', 0, '', $conf->entity); + } if (GETPOSTISSET('PDF_USE_A')) { dolibarr_set_const($db, "PDF_USE_A", GETPOST('PDF_USE_A', 'alpha'), 'chaine', 0, '', $conf->entity); } @@ -399,6 +401,21 @@ if ($conf->use_javascript_ajax) { } print ''; +// Show alias in thirdparty name +print ''.$langs->trans("PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME").''; +if ($conf->use_javascript_ajax) { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("THIRDPARTY_ALIAS"), '2' => $langs->trans("ALIAS_THIRDPARTY")); + print $form->selectarray("PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME", $arrval, getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')); +} + +print ''.$langs->trans("MAIN_USE_COMPANY_NAME_OF_CONTACT").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_USE_COMPANY_NAME_OF_CONTACT'); +} else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_USE_COMPANY_NAME_OF_CONTACT", $arrval, $conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT); +} + print ''; print ''; @@ -585,16 +602,6 @@ if ($conf->use_javascript_ajax) { print $form->selectarray("DOC_SHOW_FIRST_SALES_REP", $arrval, $conf->global->DOC_SHOW_FIRST_SALES_REP); } -// Show alias in thirdparty name - -/* Disabled because not yet completely implemented (does not work when we force a contact on object) -print ''.$langs->trans("PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME").''; -if ($conf->use_javascript_ajax) { - $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("THIRDPARTY_ALIAS"), '2' => $langs->trans("ALIAS_THIRDPARTY")); - print $form->selectarray("PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME", $arrval, getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')); -} -*/ - // Show online payment link on invoices print ''.$langs->trans("PDF_SHOW_LINK_TO_ONLINE_PAYMENT").''; diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 3899af425bc..9481b1fe3df 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -12,7 +12,7 @@ * Copyright (C) 2015-2016 Marcos García * Copyright (C) 2019 Lenin Rivas * Copyright (C) 2020 Nicolas ZABOURI - * Copyright (C) 2021-2022 Anthony Berton + * Copyright (C) 2021-2022 Anthony Berton * * 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 @@ -400,9 +400,15 @@ function pdfBuildThirdpartyName($thirdparty, Translate $outputlangs, $includeali } } } elseif ($thirdparty instanceof Contact) { - $socname = $thirdparty->socname; - if (($includealias || getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) && !empty($thirdparty->name_alias)) { + $thirdparty->fetch_thirdparty(); + $socname = $thirdparty->thirdparty->name; + if (($includealias || getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) && !empty($thirdparty->thirdparty->name_alias)) { // TODO PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME not completely implemented + if (getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME') == 2) { + $socname = $thirdparty->thirdparty->name_alias." - ".$thirdparty->thirdparty->name; + } else { + $socname = $thirdparty->thirdparty->name." - ".$thirdparty->thirdparty->name_alias; + } } } else { throw new InvalidArgumentException('Parameter 1 $thirdparty is not a Societe nor Contact'); diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 8edc331780b..d52da1e4dd7 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -2189,6 +2189,7 @@ ShowProjectLabel=Libellé du projet PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME=Inclure un alias dans le nom du tiers THIRDPARTY_ALIAS=Nom du tiers - Alias du tiers ALIAS_THIRDPARTY=Alias du tiers - Nom du tiers +MAIN_USE_COMPANY_NAME_OF_CONTACT=Use company name of contact PDF_USE_ALSO_LANGUAGE_CODE=Si vous souhaitez que certains textes de votre PDF soient dupliqués dans 2 langues différentes dans le même PDF généré, vous devez définir ici cette deuxième langue pour que le PDF généré contienne 2 langues différentes dans la même page, celle choisie lors de la génération du PDF et celle-ci (seuls quelques modèles PDF prennent en charge cette fonction). Gardez vide pour 1 langue par PDF. PDF_USE_A=Générer document PDF avec le format PDF/A à la place du format PDF standard FafaIconSocialNetworksDesc=Entrez ici le code d'une icône FontAwesome. Si vous ne savez pas ce qu'est FontAwesome, vous pouvez utiliser la valeur générique fa-address-book. From 16a606ebaaefe0432e94f1a5183e88c4638480ff Mon Sep 17 00:00:00 2001 From: Anthony Berton Date: Thu, 27 Oct 2022 22:50:30 +0200 Subject: [PATCH 2/4] Secur --- htdocs/core/lib/pdf.lib.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 9481b1fe3df..e10ccc5c9bb 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -400,14 +400,16 @@ function pdfBuildThirdpartyName($thirdparty, Translate $outputlangs, $includeali } } } elseif ($thirdparty instanceof Contact) { - $thirdparty->fetch_thirdparty(); - $socname = $thirdparty->thirdparty->name; - if (($includealias || getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) && !empty($thirdparty->thirdparty->name_alias)) { - // TODO PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME not completely implemented - if (getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME') == 2) { - $socname = $thirdparty->thirdparty->name_alias." - ".$thirdparty->thirdparty->name; - } else { - $socname = $thirdparty->thirdparty->name." - ".$thirdparty->thirdparty->name_alias; + if ($thirdparty->socid > 0) { + $thirdparty->fetch_thirdparty(); + $socname = $thirdparty->thirdparty->name; + if (($includealias || getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) && !empty($thirdparty->thirdparty->name_alias)) { + // TODO PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME not completely implemented + if (getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME') == 2) { + $socname = $thirdparty->thirdparty->name_alias." - ".$thirdparty->thirdparty->name; + } else { + $socname = $thirdparty->thirdparty->name." - ".$thirdparty->thirdparty->name_alias; + } } } } else { From 9c071b94bb7cb41f023f07f5e7d6363c39111c6c Mon Sep 17 00:00:00 2001 From: Anthony Berton Date: Thu, 27 Oct 2022 22:53:28 +0200 Subject: [PATCH 3/4] clean --- htdocs/core/lib/pdf.lib.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index e10ccc5c9bb..0012df0a7e5 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -404,7 +404,6 @@ function pdfBuildThirdpartyName($thirdparty, Translate $outputlangs, $includeali $thirdparty->fetch_thirdparty(); $socname = $thirdparty->thirdparty->name; if (($includealias || getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) && !empty($thirdparty->thirdparty->name_alias)) { - // TODO PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME not completely implemented if (getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME') == 2) { $socname = $thirdparty->thirdparty->name_alias." - ".$thirdparty->thirdparty->name; } else { From fccaee5e3c95d82c7894c175fee53043104c3b16 Mon Sep 17 00:00:00 2001 From: Anthony Berton Date: Wed, 2 Nov 2022 11:03:59 +0100 Subject: [PATCH 4/4] delete option MAIN_USE_COMPANY_NAME_OF_CONTACT --- htdocs/admin/pdf.php | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index f5a5ba8cd95..85f19340c84 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -174,9 +174,6 @@ if ($action == 'update') { if (GETPOSTISSET('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')) { dolibarr_set_const($db, "PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME", GETPOST('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME', 'alpha'), 'chaine', 0, '', $conf->entity); } - if (GETPOSTISSET('MAIN_USE_COMPANY_NAME_OF_CONTACT')) { - dolibarr_set_const($db, "MAIN_USE_COMPANY_NAME_OF_CONTACT", GETPOST('MAIN_USE_COMPANY_NAME_OF_CONTACT', 'alpha'), 'chaine', 0, '', $conf->entity); - } if (GETPOSTISSET('PDF_USE_A')) { dolibarr_set_const($db, "PDF_USE_A", GETPOST('PDF_USE_A', 'alpha'), 'chaine', 0, '', $conf->entity); } @@ -408,14 +405,6 @@ if ($conf->use_javascript_ajax) { print $form->selectarray("PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME", $arrval, getDolGlobalInt('PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME')); } -print ''.$langs->trans("MAIN_USE_COMPANY_NAME_OF_CONTACT").''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_USE_COMPANY_NAME_OF_CONTACT'); -} else { - $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); - print $form->selectarray("MAIN_USE_COMPANY_NAME_OF_CONTACT", $arrval, $conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT); -} - print ''; print '';