diritti sistemati
This commit is contained in:
+13
-18
@@ -326,15 +326,19 @@ class AssetTab extends CommonDBTM
|
||||
): void {
|
||||
echo "<div class='plugin-urbackup-inner-tabs'>";
|
||||
|
||||
$canWrite = Session::haveRight(self::$rightname, UPDATE) || Session::haveRight(self::$rightname, CREATE);
|
||||
|
||||
echo '<ul class="nav nav-tabs" id="urbackupTabs">';
|
||||
echo '<li class="nav-item">';
|
||||
echo '<a class="nav-link active" id="state-tab" data-bs-toggle="tab" href="#state" role="tab">';
|
||||
echo htmlspecialchars(__('State', 'urbackup'));
|
||||
echo '</a></li>';
|
||||
echo '<li class="nav-item">';
|
||||
echo '<a class="nav-link" id="actions-tab" data-bs-toggle="tab" href="#actions" role="tab">';
|
||||
echo htmlspecialchars(__('Actions', 'urbackup'));
|
||||
echo '</a></li>';
|
||||
if ($canWrite) {
|
||||
echo '<li class="nav-item">';
|
||||
echo '<a class="nav-link" id="actions-tab" data-bs-toggle="tab" href="#actions" role="tab">';
|
||||
echo htmlspecialchars(__('Actions', 'urbackup'));
|
||||
echo '</a></li>';
|
||||
}
|
||||
echo '<li class="nav-item">';
|
||||
echo '<a class="nav-link" id="logs-tab" data-bs-toggle="tab" href="#logs" role="tab">';
|
||||
echo htmlspecialchars(__('Info / Log', 'urbackup'));
|
||||
@@ -347,9 +351,11 @@ class AssetTab extends CommonDBTM
|
||||
self::showStateSection($server, $link, $api_data);
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="tab-pane fade" id="actions" role="tabpanel">';
|
||||
self::showActionsSection($item, $server, $link, $api_data);
|
||||
echo '</div>';
|
||||
if ($canWrite) {
|
||||
echo '<div class="tab-pane fade" id="actions" role="tabpanel">';
|
||||
self::showActionsSection($item, $server, $link, $api_data);
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
echo '<div class="tab-pane fade" id="logs" role="tabpanel">';
|
||||
self::showInfoLogSection($api_data);
|
||||
@@ -450,17 +456,6 @@ class AssetTab extends CommonDBTM
|
||||
echo "<table class='tab_cadre_fixe'>";
|
||||
echo "<tr><th colspan='2'>" . htmlspecialchars(__('Available actions', 'urbackup')) . "</th></tr>";
|
||||
|
||||
if (!Profile::canCurrentUser(UPDATE) && !Profile::canCurrentUser(CREATE)) {
|
||||
echo "<tr class='tab_bg_1'>";
|
||||
echo "<td colspan='2'>";
|
||||
echo htmlspecialchars(__('You do not have permission for UrBackup actions.', 'urbackup'));
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
echo "</table>";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$api_data['client_found'] && Profile::canCurrentUser(CREATE)) {
|
||||
echo "<tr class='tab_bg_1'>";
|
||||
echo "<td>" . htmlspecialchars(__('Create client in UrBackup', 'urbackup')) . "</td>";
|
||||
|
||||
+70
-46
@@ -297,15 +297,17 @@ class Server extends CommonDBTM
|
||||
'datatype' => 'datetime',
|
||||
];
|
||||
|
||||
$tab[] = [
|
||||
'id' => 13,
|
||||
'table' => self::getTable(),
|
||||
'field' => 'id',
|
||||
'name' => __('View', 'urbackup'),
|
||||
'massiveaction' => false,
|
||||
'datatype' => 'raw',
|
||||
'searchtype' => 'view',
|
||||
];
|
||||
if (Session::haveRight(self::$rightname, UPDATE)) {
|
||||
$tab[] = [
|
||||
'id' => 13,
|
||||
'table' => self::getTable(),
|
||||
'field' => 'id',
|
||||
'name' => __('View', 'urbackup'),
|
||||
'massiveaction' => false,
|
||||
'datatype' => 'raw',
|
||||
'searchtype' => 'view',
|
||||
];
|
||||
}
|
||||
|
||||
return $tab;
|
||||
}
|
||||
@@ -431,21 +433,31 @@ class Server extends CommonDBTM
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
|
||||
$canUpdate = Session::haveRight(self::$rightname, UPDATE);
|
||||
|
||||
echo "<tr class='tab_bg_1'>";
|
||||
echo "<td>" . htmlspecialchars(__('API username', 'urbackup')) . "</td>";
|
||||
echo "<td>";
|
||||
echo Html::input('api_username', [
|
||||
'value' => $this->fields['api_username'] ?? '',
|
||||
'size' => 40,
|
||||
'autocomplete' => 'off',
|
||||
]);
|
||||
if ($canUpdate) {
|
||||
echo Html::input('api_username', [
|
||||
'value' => $this->fields['api_username'] ?? '',
|
||||
'size' => 40,
|
||||
'autocomplete' => 'off',
|
||||
]);
|
||||
} else {
|
||||
echo htmlspecialchars($this->fields['api_username'] ?? '');
|
||||
}
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>" . htmlspecialchars(__('API password', 'urbackup')) . "</td>";
|
||||
echo "<td>";
|
||||
echo "<input type='password' name='api_password' value='" .
|
||||
htmlspecialchars((string) ($this->fields['api_password'] ?? '')) .
|
||||
"' autocomplete='new-password'>";
|
||||
if ($canUpdate) {
|
||||
echo "<input type='password' name='api_password' value='" .
|
||||
htmlspecialchars((string) ($this->fields['api_password'] ?? '')) .
|
||||
"' autocomplete='new-password'>";
|
||||
} else {
|
||||
echo '******';
|
||||
}
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
|
||||
@@ -992,6 +1004,8 @@ class Server extends CommonDBTM
|
||||
}
|
||||
}
|
||||
|
||||
$canWrite = Session::haveRight(self::$rightname, UPDATE) || Session::haveRight(self::$rightname, CREATE);
|
||||
|
||||
echo '<table class="table table-striped table-hover">';
|
||||
echo '<thead>';
|
||||
echo '<tr>';
|
||||
@@ -1000,7 +1014,9 @@ class Server extends CommonDBTM
|
||||
echo '<th>' . htmlspecialchars(__('Status', 'urbackup')) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(__('Last backup', 'urbackup')) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(__('IP address', 'urbackup')) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(__('Actions', 'urbackup')) . '</th>';
|
||||
if ($canWrite) {
|
||||
echo '<th>' . htmlspecialchars(__('Actions', 'urbackup')) . '</th>';
|
||||
}
|
||||
echo '</tr>';
|
||||
echo '</thead>';
|
||||
echo '<tbody>';
|
||||
@@ -1025,23 +1041,25 @@ class Server extends CommonDBTM
|
||||
echo '<td>' . $statusHtml . '</td>';
|
||||
echo '<td>' . htmlspecialchars($lastBackup ?: '-') . '</td>';
|
||||
echo '<td>' . htmlspecialchars($clientIp ?: '-') . '</td>';
|
||||
echo '<td>';
|
||||
if (isset($linkableAssets[$clientNameLower])) {
|
||||
$match = $linkableAssets[$clientNameLower];
|
||||
$formAction = PLUGIN_URBACKUP_WEB_DIR . '/front/server.form.php';
|
||||
echo '<form method="post" action="' . htmlspecialchars($formAction) . '" class="d-inline">';
|
||||
echo Html::hidden('_glpi_csrf_token', ['value' => Session::getNewCSRFToken()]);
|
||||
echo Html::hidden('itemtype', ['value' => $match['itemtype']]);
|
||||
echo Html::hidden('items_id', ['value' => $match['items_id']]);
|
||||
echo Html::hidden('id', ['value' => (int) $server->fields['id']]);
|
||||
echo '<button type="submit" name="link_asset" value="1" class="btn btn-primary btn-sm">';
|
||||
echo htmlspecialchars(__('Connect'));
|
||||
echo '</button>';
|
||||
Html::closeForm();
|
||||
} else {
|
||||
echo '<span class="text-muted">—</span>';
|
||||
if ($canWrite) {
|
||||
echo '<td>';
|
||||
if (isset($linkableAssets[$clientNameLower])) {
|
||||
$match = $linkableAssets[$clientNameLower];
|
||||
$formAction = PLUGIN_URBACKUP_WEB_DIR . '/front/server.form.php';
|
||||
echo '<form method="post" action="' . htmlspecialchars($formAction) . '" class="d-inline">';
|
||||
echo Html::hidden('_glpi_csrf_token', ['value' => Session::getNewCSRFToken()]);
|
||||
echo Html::hidden('itemtype', ['value' => $match['itemtype']]);
|
||||
echo Html::hidden('items_id', ['value' => $match['items_id']]);
|
||||
echo Html::hidden('id', ['value' => (int) $server->fields['id']]);
|
||||
echo '<button type="submit" name="link_asset" value="1" class="btn btn-primary btn-sm">';
|
||||
echo htmlspecialchars(__('Connect'));
|
||||
echo '</button>';
|
||||
Html::closeForm();
|
||||
} else {
|
||||
echo '<span class="text-muted">—</span>';
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
@@ -1053,6 +1071,8 @@ class Server extends CommonDBTM
|
||||
{
|
||||
global $DB;
|
||||
|
||||
$canWrite = Session::haveRight(self::$rightname, UPDATE) || Session::haveRight(self::$rightname, CREATE);
|
||||
|
||||
$apiStatus = (int) ($server->fields['last_api_status'] ?? 0);
|
||||
if ($apiStatus !== 1) {
|
||||
echo '<div class="alert alert-warning">';
|
||||
@@ -1196,7 +1216,9 @@ class Server extends CommonDBTM
|
||||
echo '<th class="sortable" data-col="5">' . htmlspecialchars(State::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="6">' . htmlspecialchars(User::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="7">' . htmlspecialchars(Group::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th data-col="8">' . htmlspecialchars(__('Actions', 'urbackup')) . '</th>';
|
||||
if ($canWrite) {
|
||||
echo '<th data-col="8">' . htmlspecialchars(__('Actions', 'urbackup')) . '</th>';
|
||||
}
|
||||
echo '</tr></thead>';
|
||||
echo '<tbody>';
|
||||
|
||||
@@ -1222,17 +1244,19 @@ class Server extends CommonDBTM
|
||||
echo '<td>' . htmlspecialchars($asset['state']) . '</td>';
|
||||
echo '<td>' . htmlspecialchars($asset['user']) . '</td>';
|
||||
echo '<td>' . htmlspecialchars($asset['group']) . '</td>';
|
||||
echo '<td>';
|
||||
echo '<form method="post" action="' . htmlspecialchars($formAction) . '" class="d-inline">';
|
||||
echo Html::hidden('_glpi_csrf_token', ['value' => Session::getNewCSRFToken()]);
|
||||
echo Html::hidden('itemtype', ['value' => $asset['itemtype']]);
|
||||
echo Html::hidden('items_id', ['value' => $asset['items_id']]);
|
||||
echo Html::hidden('id', ['value' => (int) $server->fields['id']]);
|
||||
echo '<button type="submit" name="link_asset" value="1" class="btn btn-primary btn-sm">';
|
||||
echo htmlspecialchars(__('Connect'));
|
||||
echo '</button>';
|
||||
Html::closeForm();
|
||||
echo '</td>';
|
||||
if ($canWrite) {
|
||||
echo '<td>';
|
||||
echo '<form method="post" action="' . htmlspecialchars($formAction) . '" class="d-inline">';
|
||||
echo Html::hidden('_glpi_csrf_token', ['value' => Session::getNewCSRFToken()]);
|
||||
echo Html::hidden('itemtype', ['value' => $asset['itemtype']]);
|
||||
echo Html::hidden('items_id', ['value' => $asset['items_id']]);
|
||||
echo Html::hidden('id', ['value' => (int) $server->fields['id']]);
|
||||
echo '<button type="submit" name="link_asset" value="1" class="btn btn-primary btn-sm">';
|
||||
echo htmlspecialchars(__('Connect'));
|
||||
echo '</button>';
|
||||
Html::closeForm();
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user