/** * Creates a form for adding permissions * * @param int $id * @param User $user * @return \Kris\LaravelFormBuilder\Form */ protected function getAddRoleForm($id, User $user) { $form = $this->form('Reactor\\Html\\Forms\\Roles\\AddRoleForm', ['url' => route('reactor.users.roles.associate', $id)]); $choices = Role::all()->diff($user->roles)->pluck('label', 'id')->toArray(); $form->modify('role', 'select', ['choices' => $choices]); return [$form, count($choices)]; }
/** * Run the database seeds. * * @return void */ public function run() { DB::table('permissions')->truncate(); DB::table('permission_role')->truncate(); // Create superadmin permissions $permissions = $this->getSuperadminPermissionsList(); $role = Role::whereName('SUPERADMIN')->first(); foreach ($permissions as $permission) { Permission::create(['name' => $permission]); $role->givePermissionTo($permission); } // Create admin permissions $permissions = $this->getAdminPermissionsList(); $role = Role::whereName('ADMINISTRATOR')->first(); foreach ($permissions as $permission) { Permission::create(['name' => $permission]); $role->givePermissionTo($permission); } // Associate editor permissions $permissions = $this->getEditorPermissionsList(); $role = Role::whereName('EDITOR')->first(); foreach ($permissions as $permission) { Permission::create(['name' => $permission]); $role->givePermissionTo($permission); } }
/** * Run the database seeds. * * @return void */ public function run() { DB::table('roles')->truncate(); $locale = env('REACTOR_LOCALE', 'en'); $roles = $this->roles[$locale]; foreach ($roles as $role) { Role::create($role); } }
/** * Remove an user from the specified resource. * * @param Request $request * @param int $id * @return Response */ public function dissociateUser(Request $request, $id) { $this->authorize('EDIT_USERS'); $role = Role::findOrFail($id); $role->dissociateUser($request->input('user')); app('reactor.viewcache')->flushReactor(); $this->notify('users.dissociated', 'dissociated_user_from_role', $role); return redirect()->route('reactor.roles.users', $id); }
/** * @param Request $request * @param Role $role */ protected function validateEditForm(Request $request, Role $role) { $this->validateForm('Reactor\\Html\\Forms\\Roles\\CreateEditForm', $request, ['name' => ['required', 'max:255', 'unique:roles,name,' . $role->getKey(), 'regex:/^([A-Z]+)$/']]); }