52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
namespace App\Filament\Pages;
|
|
|
|
use App\Models\User;
|
|
use BackedEnum;
|
|
use Filament\Notifications\Notification;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use UnitEnum;
|
|
|
|
class UnitaImmobiliareV2 extends UnitaImmobiliarePage
|
|
{
|
|
protected static ?string $navigationLabel = 'Unità immobiliare V2';
|
|
|
|
protected static ?string $title = 'Unità immobiliare V2';
|
|
|
|
protected static ?string $slug = 'unita-immobiliare-v2';
|
|
|
|
protected static BackedEnum|string|null $navigationIcon = 'heroicon-o-home-modern';
|
|
|
|
protected static UnitEnum|string|null $navigationGroup = 'Stabile';
|
|
|
|
protected string $view = 'filament.pages.unita-immobiliare-v2';
|
|
|
|
protected static bool $shouldRegisterNavigation = false;
|
|
|
|
public static function canAccess(): bool
|
|
{
|
|
$user = Auth::user();
|
|
|
|
return $user instanceof User
|
|
&& $user->hasAnyRole(['super-admin', 'admin', 'amministratore', 'collaboratore']);
|
|
}
|
|
|
|
public function mount(): void
|
|
{
|
|
// Manteniamo la route storica ma riportiamo alla pagina unica.
|
|
$unitaId = request()->query('unita_id');
|
|
$url = UnitaImmobiliarePage::getUrl(panel: 'admin-filament');
|
|
if (is_numeric($unitaId)) {
|
|
$url .= '?unita_id=' . (int) $unitaId;
|
|
}
|
|
|
|
Notification::make()
|
|
->title('Pagina aggiornata')
|
|
->body('Unità immobiliare V2 è stata dismessa: uso la pagina Unità immobiliare unica.')
|
|
->info()
|
|
->send();
|
|
|
|
$this->redirect($url);
|
|
}
|
|
}
|