protected function seedSettingsPermissions() { $settings = Page::whereName('settings')->first(['id'])->id; // Manage users page $permission = Permission::create(['name' => 'settings.users', 'description' => 'View user management page', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->orWhere('name', 'admin')->get()); // Add new user $permission = Permission::create(['name' => 'settings.users.add', 'description' => 'Add a new user', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Edit a user $permission = Permission::create(['name' => 'settings.users.edit', 'description' => 'Edit existing user', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Delete a user $permission = Permission::create(['name' => 'settings.users.delete', 'description' => 'Delete existing user', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Refresh a user(s) $permission = Permission::create(['name' => 'settings.users.refresh', 'description' => 'Refresh a user(s)', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Manage SSMS options $permission = Permission::create(['name' => 'settings.options', 'description' => 'Manage application options', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Manage quick links $permission = Permission::create(['name' => 'settings.quick_links', 'description' => 'Manage application quick links', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->orWhere('name', 'admin')->get()); // Manage page access control $permission = Permission::create(['name' => 'settings.page_management', 'description' => 'Manage pages and their access', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Manage permmission control $permission = Permission::create(['name' => 'settings.permission_control', 'description' => 'Manage application permissions', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); // Manage triggers $permission = Permission::create(['name' => 'settings.notifications', 'description' => 'Manage application notifications', 'page_id' => $settings]); $this->attach($permission, Role::where('name', 'super_admin')->get()); return $this; }