gestione assets

This commit is contained in:
mariano
2026-05-22 08:29:59 +02:00
parent f7c1ab8aa4
commit 13cb325576
11 changed files with 391 additions and 627 deletions
+27 -6
View File
@@ -8,6 +8,7 @@ declare(strict_types=1);
* -------------------------------------------------------------------------
*/
use Glpi\Exception\Http\BadRequestHttpException;
use GlpiPlugin\Urbackup\AssetTab;
use GlpiPlugin\Urbackup\Config;
use GlpiPlugin\Urbackup\Profile;
@@ -27,11 +28,11 @@ $itemtype = (string) ($_POST['itemtype'] ?? $_GET['itemtype'] ?? '');
$items_id = (int) ($_POST['items_id'] ?? $_GET['items_id'] ?? 0);
if ($itemtype === '' || $items_id <= 0) {
Html::displayValidationError(__('Invalid parameters', 'urbackup'));
throw new BadRequestHttpException(__('Invalid parameters', 'urbackup'));
}
if (!in_array($itemtype, Config::getEnabledItemtypes(), true)) {
Html::displayValidationError(__('Item type not enabled for UrBackup', 'urbackup'));
throw new BadRequestHttpException(__('Item type not enabled for UrBackup', 'urbackup'));
}
$item = getItemForItemtype($itemtype);
@@ -48,13 +49,23 @@ if (isset($_POST['connect'])) {
$server_id = (int) ($_POST['plugin_urbackup_servers_id'] ?? 0);
if ($server_id <= 0) {
Html::displayValidationError(__('No server selected', 'urbackup'));
Session::addMessageAfterRedirect(
__('No server selected', 'urbackup'),
false,
ERROR
);
Html::redirect($item->getLinkURL());
}
$link = ServerAsset::getLinkForAsset($itemtype, $items_id);
if ($link !== null) {
Html::displayValidationError(__('Asset is already linked to a server', 'urbackup'));
Session::addMessageAfterRedirect(
__('Asset is already linked to a server', 'urbackup'),
false,
ERROR
);
Html::redirect($item->getLinkURL());
}
$result = ServerAsset::createForAsset($itemtype, $items_id, $server_id);
@@ -63,7 +74,12 @@ if (isset($_POST['connect'])) {
$item->getFromDB($items_id);
Html::redirect($item->getLinkURL());
} else {
Html::displayValidationError(__('Failed to link asset to server', 'urbackup'));
Session::addMessageAfterRedirect(
__('Failed to link asset to server', 'urbackup'),
false,
ERROR
);
Html::redirect($item->getLinkURL());
}
}
@@ -78,7 +94,12 @@ if (isset($_POST['disconnect'])) {
$item->getFromDB($items_id);
Html::redirect($item->getLinkURL());
} else {
Html::displayValidationError(__('Failed to disconnect asset from server', 'urbackup'));
Session::addMessageAfterRedirect(
__('Failed to disconnect asset from server', 'urbackup'),
false,
ERROR
);
Html::redirect($item->getLinkURL());
}
}