++ consolidamento funzionalità Backup
This commit is contained in:
@@ -29,8 +29,15 @@ class PasswordChangeController extends Controller
|
||||
'forced' => (bool) $user->password_change_required,
|
||||
// Il ripristino gira in coda e non ha una sessione in cui lasciare
|
||||
// un flash; deposita l'esito in cache a nome di chi l'ha avviato e
|
||||
// lo si consuma qui, che e' la prima pagina che quella persona vede.
|
||||
'esitoRipristino' => Cache::pull(RestoreBackupArchive::CHIAVE_ESITO . $user->id),
|
||||
// lo si legge qui, che e' la prima pagina che quella persona vede.
|
||||
//
|
||||
// Si legge senza consumare, e si cancella solo a password cambiata.
|
||||
// Con un pull, il messaggio non arriverebbe mai a schermo: quando e'
|
||||
// il middleware a dirottare una richiesta di Livewire, il client
|
||||
// segue il 302 via fetch — ed e' quella fetch a bruciare il
|
||||
// messaggio — per poi rifare la stessa GET con window.location, che
|
||||
// troverebbe la cache gia' vuota.
|
||||
'esitoRipristino' => Cache::get(RestoreBackupArchive::CHIAVE_ESITO . $user->id),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -66,6 +73,10 @@ class PasswordChangeController extends Controller
|
||||
$user->setRememberToken(null);
|
||||
$user->save();
|
||||
|
||||
// L'esito del ripristino ha esaurito il suo scopo: e' stato letto, e la
|
||||
// password richiesta e' stata impostata.
|
||||
Cache::forget(RestoreBackupArchive::CHIAVE_ESITO . $user->id);
|
||||
|
||||
activity()->causedBy($user)->log('password changed');
|
||||
|
||||
return redirect()->route('dashboard')
|
||||
|
||||
@@ -88,6 +88,15 @@ class BackupController extends Controller
|
||||
'backupZip.max' => 'Il pacchetto supera i 256 MB accettati dal server.',
|
||||
]);
|
||||
|
||||
// Stesso blocco del componente Livewire, ripetuto qui perche' questa e'
|
||||
// una porta d'ingresso separata: un ripristino avviato mentre gira un
|
||||
// azzeramento riscriverebbe le tabelle che l'altro sta cancellando.
|
||||
if ($this->stato->corrente() !== null) {
|
||||
return response()->json([
|
||||
'message' => 'C\'e\' gia\' un\'operazione in corso: attendi che finisca.',
|
||||
], 409);
|
||||
}
|
||||
|
||||
$operationId = (string) Str::uuid();
|
||||
|
||||
// Il file dell'upload vive in una cartella temporanea che sparisce a
|
||||
|
||||
Reference in New Issue
Block a user