Fix better error management in migration

This commit is contained in:
Laurent Destailleur 2020-12-16 15:10:11 +01:00
parent a5a070705b
commit 6f75e24fd7
2 changed files with 16 additions and 6 deletions

View File

@ -400,7 +400,8 @@ script:
php step5.php 12.0.0 13.0.0 > $TRAVIS_BUILD_DIR/upgrade12001300-3.log
# Enable modules not enabled into original dump
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKET,MAIN_MODULE_ACCOUNTING,MAIN_MODULE_MRP,MAIN_MODULE_RECRUITMENT > $TRAVIS_BUILD_DIR/enablemodule.log
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKET,MAIN_MODULE_ACCOUNTING,MAIN_MODULE_MRP > $TRAVIS_BUILD_DIR/enablemodule.log
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_RECEPTION,MAIN_MODULE_RECRUITMENT > $TRAVIS_BUILD_DIR/enablemodule.log
echo $?
cd -
set +e

View File

@ -509,7 +509,11 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ
{
$listofmodules[$value] = 'forceactivate';
}
migrate_reload_modules($db, $langs, $conf, $listofmodules, 1);
$resultreloadmodules = migrate_reload_modules($db, $langs, $conf, $listofmodules, 1);
if ($resultreloadmodules < 0) {
$error++;
}
}
@ -4283,7 +4287,7 @@ function migrate_delete_old_dir($db, $langs, $conf)
* @param Conf $conf Object conf
* @param array $listofmodule List of modules
* @param int $force 1=Reload module even if not already loaded
* @return void
* @return int <0 if KO, >0 if OK
*/
function migrate_reload_modules($db, $langs, $conf, $listofmodule = array(), $force = 0)
{
@ -4497,12 +4501,15 @@ function migrate_reload_modules($db, $langs, $conf, $listofmodule = array(), $fo
//$mod->remove('noboxes');
$mod->init($reloadmode);
} else {
dolibarr_install_syslog('Failed to include '.strtolower($moduletoreloadshort).'/core/modules/mod'.$moduletoreloadshort.'.class.php');
dolibarr_install_syslog('Failed to include '.strtolower($moduletoreloadshort).'/core/modules/mod'.$moduletoreloadshort.'.class.php', LOG_ERR);
print "Error, can't find module with name ".$moduletoreload."\n";
return -1;
}
}
} else {
dolibarr_install_syslog("Error, can't find module with name ".$moduletoreload, LOG_WARNING);
print "Error, can't find module with name ".$moduletoreload;
dolibarr_install_syslog("Error, can't find module with name ".$moduletoreload, LOG_ERR);
print "Error, can't find module with name ".$moduletoreload."\n";
return -1;
}
}
@ -4516,6 +4523,8 @@ function migrate_reload_modules($db, $langs, $conf, $listofmodule = array(), $fo
print '</td></tr>';
}
}
return 1;
}