diff --git a/htdocs/admin/accounting.php b/htdocs/admin/accounting.php index b32ce06ad22..e775f5bd8e3 100644 --- a/htdocs/admin/accounting.php +++ b/htdocs/admin/accounting.php @@ -55,7 +55,9 @@ $error = 0; $help_url = ''; llxHeader('', $langs->trans("ConfigAccountingExpert"), $help_url); -print load_fiche_titre($langs->trans("ConfigAccountingExpert"), '', 'title_setup'); +$linkback = ''.$langs->trans("BackToModuleList").''; + +print load_fiche_titre($langs->trans("ConfigAccountingExpert"), $linkback, 'title_setup'); print "
\n"; print ''.$langs->trans("AccountancySetupDoneFromAccountancyMenu", $langs->transnoentitiesnoconv("Accounting").' - '.$langs->transnoentitiesnoconv("Setup"))."
\n"; diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 84bf924139c..142d5accb0f 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -521,8 +521,8 @@ if ($mode == 'common' || $mode == 'commonkanban') { $moreforfilter = '
'; $moreforfilter .= ''; @@ -584,6 +584,7 @@ if ($mode == 'common' || $mode == 'commonkanban') { // Show list of modules $oldfamily = ''; + $foundoneexternalmodulewithupdate = 0; $linenum = 0; foreach ($orders as $key => $value) { $linenum++; @@ -915,6 +916,7 @@ if ($mode == 'common' || $mode == 'commonkanban') { if ($objMod->needUpdate) { $versionTitle = $langs->trans('ModuleUpdateAvailable').' : '.$objMod->lastVersion; print ''.$versiontrans.''; + $foundoneexternalmodulewithupdate++; } else { print $versiontrans; } @@ -934,6 +936,14 @@ if ($mode == 'common' || $mode == 'commonkanban') { } } + if ($action == 'checklastversion') { + if ($foundoneexternalmodulewithupdate) { + setEventMessages($langs->trans("ModuleUpdateAvailable"), null, 'mesgs'); + } else { + setEventMessages($langs->trans("NoExternalModuleWithUpdate"), null, 'mesgs'); + } + } + if ($oldfamily) { if ($mode == 'commonkanban') { print '
'; diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 056be705f9e..30ee2bb72be 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -2310,9 +2310,9 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it } /** - * check for module update + * Check for module update * TODO : store results for $this->url_last_version and $this->needUpdate - * Add a cron task to monitor for updates + * Add a cron task to monitor for updates * * @return int <0 if Error, 0 == no update needed, >0 if need update */ diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 1d6e5f0d502..6a11c26c50c 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -2122,7 +2122,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for modules updates -CheckForModuleUpdateHelp=Check for modules updates.
This action will connect to modules editors to check if a new version is available. -ModuleUpdateAvailable=An update is available for this module +CheckForModuleUpdate=Check for external modules updates +CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. +ModuleUpdateAvailable=An update is available +NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example)