|
45 | 45 |
|
46 | 46 | class CronTask extends AbstractCronTask implements CronTaskInterface |
47 | 47 | { |
| 48 | + private const TAB_DIAGNOSIS = 0; |
| 49 | + private const TAB_CACHE = 1; |
| 50 | + |
48 | 51 | public static function getIcon() |
49 | 52 | { |
50 | 53 | return 'fa-solid fa-gears'; |
51 | 54 | } |
52 | 55 |
|
53 | 56 | public function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) |
54 | 57 | { |
55 | | - return self::createTabEntry(__('Resource diagnosis', 'carbon'), 0); |
| 58 | + return [ |
| 59 | + self::TAB_DIAGNOSIS => self::createTabEntry(__('Resource diagnosis', 'carbon'), 0), |
| 60 | + // self::TAB_CACHE => self::createTabEntry(__('Cache', 'carbon'), 0), |
| 61 | + ]; |
56 | 62 | } |
57 | 63 |
|
58 | 64 | public static function enumerateTasks(): array |
@@ -103,19 +109,26 @@ public static function cronDownloadElectricityMap(GlpiCronTask $task): int |
103 | 109 | return CarbonCronTask::downloadCarbonIntensityFromSource($task, $client, new CarbonIntensity()); |
104 | 110 | } |
105 | 111 |
|
106 | | - public function showForCronTask(CommonDBTM $item) |
| 112 | + public function showForCronTask(CommonDBTM $item, int $tabnum) |
107 | 113 | { |
108 | | - switch ($item->fields['name']) { |
109 | | - case 'DownloadElectricityMap': |
110 | | - $client = new Client(new RestApiClient()); |
111 | | - $source_name = ($client)->getSourceName(); |
112 | | - foreach ($client->getSupportedZones() as $zone_name) { |
113 | | - $source_zone = new Source_Zone(); |
114 | | - if (!$source_zone->getFromDbBySourceAndZone($source_name, $zone_name)) { |
115 | | - continue; |
| 114 | + if ($tabnum === self::TAB_DIAGNOSIS) { |
| 115 | + switch ($item->fields['name']) { |
| 116 | + case 'DownloadElectricityMap': |
| 117 | + $client = new Client(new RestApiClient()); |
| 118 | + $source_name = ($client)->getSourceName(); |
| 119 | + foreach ($client->getSupportedZones() as $zone_name) { |
| 120 | + $source_zone = new Source_Zone(); |
| 121 | + if (!$source_zone->getFromDbBySourceAndZone($source_name, $zone_name)) { |
| 122 | + continue; |
| 123 | + } |
| 124 | + $source_zone->showGaps(); |
116 | 125 | } |
117 | | - $source_zone->showGaps(); |
118 | | - } |
| 126 | + } |
| 127 | + } elseif ($tabnum === self::TAB_CACHE) { |
| 128 | + switch ($item->fields['name']) { |
| 129 | + case 'DownloadElectricityMap': |
| 130 | + // TODO: implement tab to clear cached data in files/ folder |
| 131 | + } |
119 | 132 | } |
120 | 133 | } |
121 | 134 | } |
0 commit comments