public function showEditUserPage($userId) { if (!$this->CurrentUser || !$this->CurrentUser->isAdmin()) { return Redirect::to('login'); } $thatUser = AmaotoUser::whereId($userId)->first(); return View::make('admin/edit-user', array('thatUser' => $thatUser)); }
public function doEditUser() { try { // 检查必需参数 if (!Input::has('id')) { throw new InvalidArgumentException('缺少参数'); } // 检查id格式 $id = Input::get('id'); $validator = Validator::make(array('ID' => $id), array('ID' => 'required|integer|exists:users,id')); if ($validator->fails()) { throw new InvalidArgumentException($validator->messages()->first()); } // 获取用户 $thatUser = AmaotoUser::whereId($id)->first(); // 判断是否成功获取 if (!$thatUser) { throw new NotExistException('该用户不存在'); } // 检查权限 if ($this->CurrentUser->id !== $thatUser->id && !$this->CurrentUser->isAdmin()) { throw new PermissionDeniedException('无权编辑该用户'); } // username if (Input::has('username')) { $username = Input::get('username'); $validator = Validator::make(array('用户名' => $username), array('用户名' => 'required|alpha_dash')); if ($validator->fails()) { throw new InvalidArgumentException($validator->messages()->first()); } $thatUser->username = $username; } // email if (Input::has('email')) { $email = Input::get('email'); $validator = Validator::make(array('Email' => $email), array('Email' => 'email')); if ($validator->fails()) { throw new InvalidArgumentException($validator->messages()->first()); } $thatUser->email = $email; } // password if (Input::has('password')) { $password = Input::get('password'); $validator = Validator::make(array('密码' => $password), array('密码' => 'min:8')); if ($validator->fails()) { throw new InvalidArgumentException($validator->messages()->first()); } if (!strlen($password) == 0) { $thatUser->password = Hash::make($password); } } // password if (Input::has('power') && $this->CurrentUser->isAdmin()) { $power = Input::get('power'); $validator = Validator::make(array('权限' => $power), array('权限' => 'required|integer|min:0|max:99999')); if ($validator->fails()) { throw new InvalidArgumentException($validator->messages()->first()); } $thatUser->power = $power; } $thatUser->save(); return Response::json(array('type' => 'success', 'message' => '修改成功')); } catch (InvalidArgumentException $e) { return Response::json(array('type' => 'warning', 'message' => $e->getMessage())); } catch (Exception $e) { return Response::json(array('type' => 'error', 'message' => $e->getMessage())); } }