netgescon-day0/app/Filament/Pages/Contabilita/DatiBancariElenco.php

47 lines
1.3 KiB
PHP

<?php
namespace App\Filament\Pages\Contabilita;
use App\Models\DatiBancari;
use App\Models\User;
use BackedEnum;
use Filament\Pages\Page;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
use Illuminate\Support\Facades\Auth;
use Livewire\WithPagination;
use UnitEnum;
class DatiBancariElenco extends Page
{
use WithPagination;
protected static ?string $title = 'Dati Bancari';
protected static ?string $slug = 'contabilita/dati-bancari';
protected static BackedEnum|string|null $navigationIcon = 'heroicon-o-credit-card';
protected static UnitEnum|string|null $navigationGroup = 'Contabilità';
protected static ?int $navigationSort = 16;
protected static bool $shouldRegisterNavigation = false;
protected string $view = 'filament.pages.contabilita.dati-bancari-elenco';
public function getDatiBancari(): LengthAwarePaginator
{
return DatiBancari::query()
->with(['stabile', 'contatto'])
->orderByDesc('created_at')
->paginate(15);
}
public static function canAccess(): bool
{
$user = Auth::user();
return $user instanceof User
&& ($user->hasRole('super-admin') || $user->can('manage-accounting') || $user->can('contabilita.casse-banche'));
}
}