diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php
index b47d7017fe3..9dc2eafe182 100644
--- a/htdocs/contact/class/contact.class.php
+++ b/htdocs/contact/class/contact.class.php
@@ -1189,7 +1189,7 @@ class Contact extends CommonObject
}
}
- return 1;
+ return $this->id;
} else {
$this->error = $langs->trans("RecordNotFound");
return 0;
diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php
index cab8ac95395..80d2b27fd47 100644
--- a/htdocs/install/upgrade2.php
+++ b/htdocs/install/upgrade2.php
@@ -54,6 +54,7 @@ require_once $dolibarr_main_document_root.'/commande/class/commande.class.php';
require_once $dolibarr_main_document_root.'/fourn/class/fournisseur.commande.class.php';
require_once $dolibarr_main_document_root.'/core/lib/price.lib.php';
require_once $dolibarr_main_document_root.'/core/class/menubase.class.php';
+require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
require_once $dolibarr_main_document_root.'/core/lib/files.lib.php';
global $langs;
@@ -517,10 +518,11 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ
*/
// Scripts for 20.0
- /*$afterversionarray = explode('.', '19.0.9');
+ $afterversionarray = explode('.', '19.0.9');
$beforeversionarray = explode('.', '20.0.9');
if (versioncompare($versiontoarray, $afterversionarray) >= 0 && versioncompare($versiontoarray, $beforeversionarray) <= 0) {
- }*/
+ migrate_invoice_export_models();
+ }
// Scripts for 21.0
$afterversionarray = explode('.', '20.0.9');
@@ -5141,6 +5143,78 @@ function migrate_contractdet_rank()
}
}
+/**
+ * Invoice exports been shifted (facture_1 => facture_0, facture_2 => facture_1) in version 20, shift export models accordingly
+ *
+ * @return void
+ */
+function migrate_invoice_export_models()
+{
+ global $db, $langs;
+
+ $lock = getDolGlobalInt('MIGRATION_FLAG_INVOICE_MODELS_V20');
+
+ $firstInstallVersion = getDolGlobalString('MAIN_VERSION_FIRST_INSTALL', DOL_VERSION);
+ $migrationNeeded = (versioncompare(explode('.', $firstInstallVersion, 3), array(20, 0, -5)) < 0 && !$lock);
+
+ print '
| ';
+ print ''.$langs->trans('InvoiceExportModelsMigration').": \n";
+
+ if (! $migrationNeeded) {
+ print $langs->trans("AlreadyDone");
+ print ' |
';
+ dolibarr_set_const($db, 'MIGRATION_FLAG_INVOICE_MODELS_V20', 1, 'chaine', 0, 'To flag the upgrade of invoice template has been set', 0);
+ return;
+ }
+
+
+ $db->begin();
+
+ $sql1 = "UPDATE ".$db->prefix()."export_model SET type = 'facture_0' WHERE type = 'facture_1'";
+
+ $resql1 = $db->query($sql1);
+
+ if (! $resql1) {
+ dol_print_error($db);
+ $db->rollback();
+ print '';
+ return;
+ }
+
+ $modified1 = $db->affected_rows($resql1);
+
+ print str_repeat('.', $modified1);
+
+ $db->free($resql1);
+
+ $sql2 = "UPDATE ".$db->prefix()."export_model SET type = 'facture_1' WHERE type = 'facture_2'";
+
+ $resql2 = $db->query($sql2);
+
+ if (! $resql2) {
+ dol_print_error($db);
+ $db->rollback();
+ print '';
+ return;
+ }
+
+ $modified2 = $db->affected_rows($resql2);
+
+ print str_repeat('.', $modified2);
+
+ $db->free($resql2);
+
+ if (empty($modified1 + $modified2)) {
+ print $langs->trans('NothingToDo');
+ }
+
+ $db->commit();
+
+ dolibarr_set_const($db, 'MIGRATION_FLAG_INVOICE_MODELS_V20', 1, 'chaine', 0, 'To flag the upgrade of invoice template has been set', 0);
+
+ echo '';
+}
+
/**
* Migrate Ref in bookkeeping lines
*
diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang
index 2d91f263383..2b3db368aab 100644
--- a/htdocs/langs/en_US/install.lang
+++ b/htdocs/langs/en_US/install.lang
@@ -220,3 +220,4 @@ NodoUpgradeAfterFiles=No action requested by external modules after upgrade of f
MigrationContractLineRank=Migrate Contract Line to use Rank (and enable Reorder)
MigrationProductLotPath=Migrate Product Batch files path
MigrationAccountancyBookkeeping=Migrate accountancy bookkeeping to use a ref
+InvoiceExportModelsMigration=Migrate invoice export models
diff --git a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php
index 83217e30f6e..25b5733b467 100644
--- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php
+++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php
@@ -390,7 +390,7 @@ class modMyModule extends DolibarrModules
// Exports profiles provided by this module
- $r = 1;
+ $r = 0;
/* BEGIN MODULEBUILDER EXPORT MYOBJECT */
/*
$langs->load("mymodule@mymodule");
@@ -421,7 +421,7 @@ class modMyModule extends DolibarrModules
/* END MODULEBUILDER EXPORT MYOBJECT */
// Imports profiles provided by this module
- $r = 1;
+ $r = 0;
/* BEGIN MODULEBUILDER IMPORT MYOBJECT */
/*
$langs->load("mymodule@mymodule");