- canView() + canViewAny() in EnforcesRoles: all SMS roles can view - View pages for all 7 resources so viewers can open records read-only - Custom ActivityResource restricts activity log to admin + manager only Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
596d66b366
commit
1494273efd
17 files changed
+106
-1
No files matched your search
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources;
|
||||
|
||||
class ActivityResource extends \Z3d0X\FilamentLogger\Resources\ActivityResource
|
||||
{
|
||||
public static function canViewAny(): bool
|
||||
{
|
||||
return auth()->user()?->hasAnyRole(['sms-admin', 'sms-manager']) ?? false;
|
||||
}
|
||||
}
|
||||
@@ -82,6 +82,7 @@ class PackingResource extends Resource
|
||||
return [
|
||||
'index' => Pages\ListPackings::route('/'),
|
||||
'create' => Pages\CreatePacking::route('/create'),
|
||||
'view' => Pages\ViewPacking::route('/{record}'),
|
||||
'edit' => Pages\EditPacking::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\PackingResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\PackingResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewPacking extends ViewRecord
|
||||
{
|
||||
protected static string $resource = PackingResource::class;
|
||||
}
|
||||
@@ -108,6 +108,7 @@ class ProductInventoryResource extends Resource
|
||||
return [
|
||||
'index' => Pages\ListProductInventory::route('/'),
|
||||
'create' => Pages\CreateProductInventory::route('/create'),
|
||||
'view' => Pages\ViewProductInventory::route('/{record}'),
|
||||
'edit' => Pages\EditProductInventory::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\ProductInventoryResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\ProductInventoryResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewProductInventory extends ViewRecord
|
||||
{
|
||||
protected static string $resource = ProductInventoryResource::class;
|
||||
}
|
||||
@@ -242,6 +242,7 @@ class ProductResource extends Resource {
|
||||
return [
|
||||
'index' => Pages\ListProducts::route('/'),
|
||||
'create' => Pages\CreateProduct::route('/create'),
|
||||
'view' => Pages\ViewProduct::route('/{record}'),
|
||||
'edit' => Pages\EditProduct::route('/{record}/edit'),
|
||||
'recipe-history' => Pages\RecipeHistory::route('/{record}/rezept-versionen'),
|
||||
];
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\ProductResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\ProductResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewProduct extends ViewRecord
|
||||
{
|
||||
protected static string $resource = ProductResource::class;
|
||||
}
|
||||
@@ -115,6 +115,7 @@ class ProductSaleResource extends Resource {
|
||||
return [
|
||||
'index' => Pages\ListProductSales::route('/'),
|
||||
'create' => Pages\CreateProductSale::route('/create'),
|
||||
'view' => Pages\ViewProductSale::route('/{record}'),
|
||||
'edit' => Pages\EditProductSale::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\ProductSaleResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\ProductSaleResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewProductSale extends ViewRecord
|
||||
{
|
||||
protected static string $resource = ProductSaleResource::class;
|
||||
}
|
||||
@@ -94,6 +94,7 @@ class SpiceResource extends Resource
|
||||
return [
|
||||
'index' => Pages\ListSpices::route('/'),
|
||||
'create' => Pages\CreateSpice::route('/create'),
|
||||
'view' => Pages\ViewSpice::route('/{record}'),
|
||||
'edit' => Pages\EditSpice::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\SpiceResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\SpiceResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewSpice extends ViewRecord
|
||||
{
|
||||
protected static string $resource = SpiceResource::class;
|
||||
}
|
||||
@@ -163,6 +163,7 @@ class SpiceSupplierResource extends Resource
|
||||
return [
|
||||
'index' => Pages\ListSpiceSuppliers::route('/'),
|
||||
'create' => Pages\CreateSpiceSupplier::route('/create'),
|
||||
'view' => Pages\ViewSpiceSupplier::route('/{record}'),
|
||||
'edit' => Pages\EditSpiceSupplier::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\SpiceSupplierResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\SpiceSupplierResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewSpiceSupplier extends ViewRecord
|
||||
{
|
||||
protected static string $resource = SpiceSupplierResource::class;
|
||||
}
|
||||
@@ -100,6 +100,7 @@ class SupplierResource extends Resource
|
||||
return [
|
||||
'index' => Pages\ListSuppliers::route('/'),
|
||||
'create' => Pages\CreateSupplier::route('/create'),
|
||||
'view' => Pages\ViewSupplier::route('/{record}'),
|
||||
'edit' => Pages\EditSupplier::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\SupplierResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\SupplierResource;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewSupplier extends ViewRecord
|
||||
{
|
||||
protected static string $resource = SupplierResource::class;
|
||||
}
|
||||
@@ -6,6 +6,16 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
trait EnforcesRoles
|
||||
{
|
||||
public static function canViewAny(): bool
|
||||
{
|
||||
return auth()->user()?->hasAnyRole(['sms-admin', 'sms-manager', 'sms-viewer']) ?? false;
|
||||
}
|
||||
|
||||
public static function canView(Model $record): bool
|
||||
{
|
||||
return auth()->user()?->hasAnyRole(['sms-admin', 'sms-manager', 'sms-viewer']) ?? false;
|
||||
}
|
||||
|
||||
public static function canCreate(): bool
|
||||
{
|
||||
return auth()->user()?->hasAnyRole(['sms-admin', 'sms-manager']) ?? false;
|
||||
|
||||
Reference in new issue
Block a user