47 lines
1.3 KiB
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'));
|
|
}
|
|
}
|