Added and updated policy

This commit is contained in:
dhanabalan
2025-04-23 14:42:33 +05:30
parent 01f8eae2f7
commit 7fd2810278
18 changed files with 1567 additions and 9 deletions

View File

@@ -2,9 +2,13 @@
namespace App\Providers;
use App\Models\User;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider;
use URL;
use App\Policies\RolePolicy;
use App\Policies\PermissionPolicy;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
// use Doctrine\DBAL\Types\Type;
@@ -23,8 +27,12 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot(): void
{
Gate::before(function ($user, $ability) {
return $user->hasRole('Super Admin') ? true : null;
// Gate::before(function ($user, $ability) {
// return $user->hasRole('Super Admin') ? true : null;
// });
Gate::before(function (User $user, string $ability) {
return $user->isSuperAdmin() ? true: null;
});
// URL::forceScheme('https');
@@ -32,5 +40,8 @@ class AppServiceProvider extends ServiceProvider
// if (!Type::hasType('citext')) {
// Type::addType('citext', \Doctrine\DBAL\Platforms\PostgreSqlPlatform::class);
// }
Gate::policy(Role::class, RolePolicy::class);
Gate::policy(Permission::class, PermissionPolicy::class);
}
}

View File

@@ -3,12 +3,15 @@
namespace App\Providers\Filament;
use Althinect\FilamentSpatieRolesPermissions\FilamentSpatieRolesPermissionsPlugin;
use App\Filament\Pages\InvoiceDashboard;
use Filament\Facades\Filament;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Navigation\MenuItem;
use Filament\Navigation\NavigationGroup;
use Filament\Navigation\NavigationItem;
use Filament\Pages;
use Filament\Panel;
use Filament\PanelProvider;
@@ -20,6 +23,7 @@ use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use Althinect\FilamentSpatieRolesPermissions\Middleware\SyncSpatiePermissionsWithFilamentTenants;
class AdminPanelProvider extends PanelProvider
{
@@ -27,7 +31,6 @@ class AdminPanelProvider extends PanelProvider
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
@@ -38,9 +41,9 @@ class AdminPanelProvider extends PanelProvider
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
->pages([
])
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets')
// ->widgets([
// Widgets\AccountWidget::class,
@@ -60,6 +63,9 @@ class AdminPanelProvider extends PanelProvider
->authMiddleware([
Authenticate::class,
])
->tenantMiddleware([
SyncSpatiePermissionsWithFilamentTenants::class,
], isPersistent: true)
->databaseNotifications()
->plugin(FilamentSpatieRolesPermissionsPlugin::make());
}