Beispiel #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     if (!$this->extraVerficiation($request)) {
         return $this->forwardToAuth($request);
     }
     $password = PasswordEntry::findOrFail($id);
     if (!$password->canAccess(Auth::user())) {
         $request->session()->flash('flash_message', 'You are not allowed to edit this entry.');
         return Redirect::route('passwordstore::index');
     }
     $permission = Permission::findOrFail($request->get('permission_id'));
     if (!Auth::user()->can($permission->name)) {
         $request->session()->flash('flash_message', 'You are not allowed to set this permission for a password.');
         return Redirect::back();
     }
     if ($request->get('type') == 'password') {
         $password->fill(['permission_id' => $permission->id, 'description' => $request->get('description'), 'username' => Crypt::encrypt($request->get('username')), 'password' => Crypt::encrypt($request->get('password')), 'url' => $request->get('url') == "" ? null : $request->get('url'), 'note' => null]);
         $password->save();
         $request->session()->flash('flash_message', 'Password saved.');
         return Redirect::route('passwordstore::index');
     } elseif ($request->get('type') == 'note') {
         $password->fill(['permission_id' => $permission->id, 'description' => $request->get('description'), 'username' => null, 'password' => null, 'url' => null, 'note' => Crypt::encrypt($request->get('note'))]);
         $password->save();
         $request->session()->flash('flash_message', 'Note saved.');
         return Redirect::route('passwordstore::index');
     }
     $request->session()->flash('flash_message', 'Invalid input.');
     return Redirect::route('passwordstore::index');
 }