diff --git a/src/CronTask.php b/src/CronTask.php index fbc8d3a9..b8ca1779 100644 --- a/src/CronTask.php +++ b/src/CronTask.php @@ -70,19 +70,19 @@ public static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $ if ($item instanceof GlpiCronTask) { /** @var GlpiCronTask $item */ $cron_task = new self(); - $cron_task->showForCronTask($item); + $cron_task->showForCronTask($item, $tabnum); } return true; } - public function showForCronTask(CommonDBTM $item) + public function showForCronTask(CommonDBTM $item, int $tabnum) { $itemtype = $item->fields['itemtype']; if (!in_array($itemtype, CronTaskProvider::getCronTaskTypes())) { return; } $crontask = new $itemtype(); - $crontask->showForCronTask($item); + $crontask->showForCronTask($item, $tabnum); } /** diff --git a/src/DataSource/AbstractCronTask.php b/src/DataSource/AbstractCronTask.php index 9f6b6a0a..4f9e080f 100644 --- a/src/DataSource/AbstractCronTask.php +++ b/src/DataSource/AbstractCronTask.php @@ -50,16 +50,27 @@ abstract class AbstractCronTask extends CommonGLPI implements CronTaskInterface protected static string $downloadMethod; + protected const TAB_DIAGNOSIS = 0; + protected const TAB_CACHE = 1; + + public function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) { return ''; } - public function showForCronTask(CommonDBTM $item) + public function showForCronTask(CommonDBTM $item, int $tabnum) { - switch ($item->fields['name']) { - case static::$downloadMethod: - $this->showGapsReport(); + if ($tabnum === self::TAB_DIAGNOSIS) { + switch ($item->fields['name']) { + case static::$downloadMethod: + $this->showGapsReport(); + } + } elseif ($tabnum === self::TAB_CACHE) { + switch ($item->fields['name']) { + case static::$downloadMethod: + // TODO: implement tab to clear cached data in files/ folder + } } } diff --git a/src/DataSource/CarbonIntensity/ElectricityMaps/CronTask.php b/src/DataSource/CarbonIntensity/ElectricityMaps/CronTask.php index ba2cb9cc..fc22e4e9 100644 --- a/src/DataSource/CarbonIntensity/ElectricityMaps/CronTask.php +++ b/src/DataSource/CarbonIntensity/ElectricityMaps/CronTask.php @@ -50,7 +50,10 @@ public static function getIcon() public function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) { - return self::createTabEntry(__('Resource diagnosis', 'carbon'), 0); + return [ + self::TAB_DIAGNOSIS => self::createTabEntry(__('Resource diagnosis', 'carbon'), 0), + // self::TAB_CACHE => self::createTabEntry(__('Cache', 'carbon'), 0), + ]; } public static function enumerateTasks(): array diff --git a/src/DataSource/CarbonIntensity/Rte/CronTask.php b/src/DataSource/CarbonIntensity/Rte/CronTask.php index 32c0d89b..b564c1be 100644 --- a/src/DataSource/CarbonIntensity/Rte/CronTask.php +++ b/src/DataSource/CarbonIntensity/Rte/CronTask.php @@ -53,7 +53,10 @@ public static function getIcon() public function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) { - return self::createTabEntry(__('Resource diagnosis', 'carbon'), 0); + return [ + self::TAB_DIAGNOSIS => self::createTabEntry(__('Resource diagnosis', 'carbon'), 0), + // self::TAB_CACHE => self::createTabEntry(__('Cache', 'carbon'), 0), + ]; } public static function enumerateTasks(): array