Merge pull request #3895 from Icinga/fix/dashboard-migration-requires-all-locales
Don't fail dashboard migration just because a locale is missing
This commit is contained in:
commit
b0875d40f1
|
@ -9,6 +9,7 @@ use Icinga\Application\Icinga;
|
||||||
use Icinga\Application\Modules\DashboardContainer;
|
use Icinga\Application\Modules\DashboardContainer;
|
||||||
use Icinga\Cli\Command;
|
use Icinga\Cli\Command;
|
||||||
use Icinga\Application\Logger;
|
use Icinga\Application\Logger;
|
||||||
|
use Icinga\Exception\IcingaException;
|
||||||
use Icinga\Util\Translator;
|
use Icinga\Util\Translator;
|
||||||
use ReflectionClass;
|
use ReflectionClass;
|
||||||
|
|
||||||
|
@ -58,7 +59,12 @@ class DashboardCommand extends Command
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
Translator::setupLocale($locale);
|
Translator::setupLocale($locale);
|
||||||
|
} catch (IcingaException $e) {
|
||||||
|
Logger::debug('Ignoring locale "%s". Reason: %s', $locale, $e->getMessage());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($paneItemsProperty->getValue($module) as $paneName => $container) {
|
foreach ($paneItemsProperty->getValue($module) as $paneName => $container) {
|
||||||
/** @var DashboardContainer $container */
|
/** @var DashboardContainer $container */
|
||||||
|
@ -70,10 +76,7 @@ class DashboardCommand extends Command
|
||||||
$dashletTitle = null;
|
$dashletTitle = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($options['disabled']) && mt($module->getName(), $paneName) !== $paneTitle) {
|
if (mt($module->getName(), $paneName) !== $paneTitle) {
|
||||||
// `disabled` is checked because if it's a module's pane that's the only reason
|
|
||||||
// why it's in there. If a user utilized the same label though for a custom pane,
|
|
||||||
// it remains as is.
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,6 +88,10 @@ class DashboardCommand extends Command
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($dashletName === null) {
|
||||||
|
$dashletName = $dashletTitle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$newSection = $paneName . ($dashletName ? '.' . $dashletName : '');
|
$newSection = $paneName . ($dashletName ? '.' . $dashletName : '');
|
||||||
|
|
Loading…
Reference in New Issue