fix - profile in install
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# MEMORY.md - Stato del Plugin UrBackup
|
||||
|
||||
## Ultima modifica: 22/05/2026
|
||||
## Ultima modifica: 27/05/2026
|
||||
|
||||
## Performance - Asset Definition vs Computer
|
||||
|
||||
@@ -39,5 +39,18 @@ L'overhead è in GLPI 11 core, non nel plugin:
|
||||
- `AssetTab::loadApiData()`: cache sessione 30s (chiave: server_id + client_name)
|
||||
- API timeout: 30s, connect timeout: 5s
|
||||
|
||||
## Bugfix: Campi API username/password non visibili in nuova installazione
|
||||
|
||||
### Problema
|
||||
In una nuova installazione del plugin, i campi "API username" e "API password" non venivano renderizzati come input — si vedeva solo la label ma non il campo editabile.
|
||||
|
||||
### Cause (2 bug distinti)
|
||||
1. **`src/Server.php:436`** — `$canUpdate` controllava solo `Session::haveRight(self::$rightname, UPDATE)`. In fase di creazione di un nuovo server, l'utente ha diritto CREATE ma non necessariamente UPDATE, quindi il campo non veniva mostrato.
|
||||
2. **`src/Profile.php:73-77`** — `installRights()` usava `$_SESSION['glpiactiveprofile']['id']` per assegnare i diritti completi al profilo corrente. In installazione via CLI (`php bin/console glpi:plugin:install`), non c'è sessione, quindi `$profiles_id = 0` e nessun profilo riceveva i diritti completi.
|
||||
|
||||
### Fix applicati
|
||||
1. **`Server.php::showFormFields()`** — Sostituito `$canUpdate` con `$canEdit`: per nuovi server (`$ID <= 0`) usa `CREATE`, per server esistenti usa `UPDATE`.
|
||||
2. **`Profile.php::installRights()`** — In assenza di sessione attiva (CLI), cerca il profilo "Super-Admin" tramite query diretta e gli assegna tutti i diritti.
|
||||
|
||||
## Versione
|
||||
- 0.6.0
|
||||
- 0.6.1
|
||||
|
||||
Reference in New Issue
Block a user