45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Admin;
|
|
|
|
use LivewireUI\Modal\ModalComponent;
|
|
|
|
/**
|
|
* Rückfrage vor dem Festnageln (R23).
|
|
*
|
|
* Das Modal mutiert nichts: es löst `pin-release-confirmed` aus, und
|
|
* App\Livewire\Admin\Settings führt die Handlung mit ihrer eigenen
|
|
* Berechtigungsprüfung aus. Damit bleibt die Prüfung an der einen Stelle, an
|
|
* der sie schon stand, statt hier verdoppelt zu werden.
|
|
*
|
|
* Die Version kommt als Argument aus dem Auswahlfeld der Seite (R20: kein
|
|
* Modal fürs Auswahlfeld selbst, nur für die Bestätigung der Handlung). Ein
|
|
* Modal ist ohne die Route-Middleware der Seite erreichbar, deshalb prüft
|
|
* auch `mount()` die Berechtigung selbst statt sich auf die aufrufende Seite
|
|
* zu verlassen.
|
|
*/
|
|
class ConfirmPinRelease extends ModalComponent
|
|
{
|
|
public string $version = '';
|
|
|
|
public function mount(string $version = ''): void
|
|
{
|
|
$this->authorize('site.manage');
|
|
|
|
$this->version = $version;
|
|
}
|
|
|
|
public function confirm(): void
|
|
{
|
|
$this->authorize('site.manage');
|
|
|
|
$this->dispatch('pin-release-confirmed');
|
|
$this->closeModal();
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.admin.confirm-pin-release');
|
|
}
|
|
}
|