Files
Malek TellissiandClaude Sonnet 4.6 1494273efd
Deploy / deploy (push) Successful in 16s
Add viewer access to records and restrict activity log
- 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>
2026-09-13 02:44:00 +02:00

39 lines
967 B
PHP

<?php
namespace App\Traits;
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;
}
public static function canEdit(Model $record): bool
{
return auth()->user()?->hasAnyRole(['sms-admin', 'sms-manager']) ?? false;
}
public static function canDelete(Model $record): bool
{
return auth()->user()?->hasRole('sms-admin') ?? false;
}
public static function canDeleteAny(): bool
{
return auth()->user()?->hasRole('sms-admin') ?? false;
}
}