/** * Function for resources of user based on a specific permission * @param $permission * @return array */ function resourcesByPermission($permission) { try { $permissionObj = Permission::where('name', '=', $permission)->firstOrFail(); } catch (ModelNotFoundException $e) { return false; } $roleResourcePermissions = $this->resourcePermissions()->where('permission_id', $permissionObj->id)->get(); $resources = array(); foreach ($roleResourcePermissions as $p) { $resources[] = $p->resource; } return $resources; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { if (Auth::user() && Auth::user()->id == Config::get('laracancan.super_admin')) { $input = Input::all(); $rules = ['name' => 'required|min:3|max:32', 'display_name' => 'required|min:3|max:32']; $validator = Validator::make($input, $rules); $error_msg = $validator->errors(); if (count($error_msg) != 0) { return redirect()->back()->withErrors($validator)->withInput(); } $permissions = Permission::where('name', '=', $input['name'])->where('id', '!=', $id)->get(); $permissions1 = Permission::where('display_name', '=', $input['display_name'])->where('id', '!=', $id)->get(); if (count($permissions) > 0 || count($permissions1) > 0) { return redirect()->back()->with('flash_error', 'Permission already exists!'); } $permission = Permission::findOrFail($id); $permission->name = $input['name']; $permission->display_name = $input['display_name']; $permission->description = $input['description']; $permission->save(); return redirect()->back()->with('flash_success', 'Permission edited Successfully !'); } return response(view('laracancan::master.401'), 401); }