diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php
index 67c2d00fc78..107f68e4a89 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');
@@ -5133,3 +5135,75 @@ function migrate_contractdet_rank()
print '
| '.$langs->trans("NothingToDo")." |
\n";
}
}
+
+/**
+ * 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 '';
+}
diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang
index 38b09fc12d0..570f7ae1de8 100644
--- a/htdocs/langs/en_US/install.lang
+++ b/htdocs/langs/en_US/install.lang
@@ -219,3 +219,4 @@ NodoUpgradeAfterDB=No action requested by external modules after upgrade of data
NodoUpgradeAfterFiles=No action requested by external modules after upgrade of files or directories
MigrationContractLineRank=Migrate Contract Line to use Rank (and enable Reorder)
MigrationProductLotPath=Migrate Product Batch files path
+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 78740b564d1..06bad340cf7 100644
--- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php
+++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php
@@ -388,7 +388,7 @@ class modMyModule extends DolibarrModules
// Exports profiles provided by this module
- $r = 1;
+ $r = 0;
/* BEGIN MODULEBUILDER EXPORT MYOBJECT */
/*
$langs->load("mymodule@mymodule");
@@ -419,7 +419,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");