gestione assets
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace GlpiPlugin\Urbackup\Capacity;
|
||||
|
||||
use CommonGLPI;
|
||||
use Glpi\Asset\Capacity\AbstractCapacity;
|
||||
use Glpi\Asset\CapacityConfig;
|
||||
use GlpiPlugin\Urbackup\AssetTab;
|
||||
use GlpiPlugin\Urbackup\Server;
|
||||
use GlpiPlugin\Urbackup\ServerAsset;
|
||||
|
||||
final class UrBackupCapacity extends AbstractCapacity
|
||||
{
|
||||
public function getLabel(): string
|
||||
{
|
||||
return __('UrBackup', 'urbackup');
|
||||
}
|
||||
|
||||
public function getIcon(): string
|
||||
{
|
||||
return 'ti ti-cloud-up';
|
||||
}
|
||||
|
||||
public function getDescription(): string
|
||||
{
|
||||
return __('Manage UrBackup backups for these assets', 'urbackup');
|
||||
}
|
||||
|
||||
public function onClassBootstrap(string $classname, CapacityConfig $config): void
|
||||
{
|
||||
CommonGLPI::registerStandardTab($classname, AssetTab::class);
|
||||
}
|
||||
|
||||
public function onCapacityDisabled(string $classname, CapacityConfig $config): void
|
||||
{
|
||||
(new ServerAsset())->deleteByCriteria(
|
||||
['itemtype' => $classname],
|
||||
force: true,
|
||||
history: false
|
||||
);
|
||||
$this->deleteRelationLogs($classname, Server::class);
|
||||
}
|
||||
|
||||
public function isUsed(string $classname): bool
|
||||
{
|
||||
return parent::isUsed($classname)
|
||||
&& $this->countAssetsLinkedToPeerItem(
|
||||
$classname,
|
||||
ServerAsset::class
|
||||
) > 0;
|
||||
}
|
||||
|
||||
public function getCapacityUsageDescription(string $classname): string
|
||||
{
|
||||
return sprintf(
|
||||
__('%1$s assets linked to UrBackup servers', 'urbackup'),
|
||||
$this->countAssetsLinkedToPeerItem($classname, ServerAsset::class)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user