$this->roles->all(), 'permissions' => $this->permissions->all() ]); } /** * Displays the form for creating new permission. * * @return Factory|View */ public function create() { return view('permission.add-edit', ['edit' => false]); } /** * Store permission to database. * * @param CreatePermissionRequest $request * @return mixed */ public function store(CreatePermissionRequest $request) { $this->permissions->create($request->all()); return redirect()->route('permissions.index') ->withSuccess(__('Permission created successfully.')); } /** * Displays the form for editing specific permission. * * @param Permission $permission * @return Factory|View */ public function edit(Permission $permission) { return view('permission.add-edit', [ 'edit' => true, 'permission' => $permission ]); } /** * Update specified permission. * * @param Permission $permission * @param UpdatePermissionRequest $request * @return mixed */ public function update(Permission $permission, UpdatePermissionRequest $request) { $this->permissions->update($permission->id, $request->all()); return redirect()->route('permissions.index') ->withSuccess(__('Permission updated successfully.')); } /** * Destroy the permission if it is removable. * * @param Permission $permission * @return mixed * @throws Exception */ public function destroy(Permission $permission) { if (! $permission->removable) { throw new NotFoundHttpException; } $this->permissions->delete($permission->id); return redirect()->route('permissions.index') ->withSuccess(__('Permission deleted successfully.')); } }