def load_user(user_id): role = user_id.split("_")[0] _id = user_id.split("_")[1] if role == "staff": return StaffModel.find_by_id(int(_id)) if role == "user": return UserModel.find_by_id(int(_id))
def user_close_account(): user_id = request.args.get("user_id") user= UserModel.find_by_id(user_id) if user: user.delete_from_db() return redirect(url_for("web.index"))
def delete(cls, user_id): user = UserModel.find_by_id(user_id) if user: user.delete_from_db() return { 'message': f"User with id '{user_id}' deleted successfully" }, 200 return {'message': f"User with id '{user_id}' not found"}, 404
def user_account(): if is_user(current_user): user_id = current_user.id else: user_id = request.args.get("user_id", type=int) user = UserModel.find_by_id(user_id) return render_template("user_account.html", user=user)
def post(self): user_id = int(get_jwt_identity()['id']) user = UserModel.find_by_id(id=user_id) data = self.parser.parse_args() if data['new_email']: user.email = data['new_email'] if data["new_profile_img"]: user.profile_img = data['new_profile_img'] if data["old_password"] and data["new_password"]: if check_password_hash(user.password_hash, data['old_password']): user.password_hash = generate_password_hash( data['new_password']) else: return {"message": "old password doesn't match record."}, 401 try: user.save_to_db() except: return { "message": "something wrong happened updating database." }, 500 return {"message": "profile updated successfully."}
def user_update(): if is_staff(current_user) or is_company_admin(current_user): return render_error_page_unauthorized_access() if is_user(current_user): user_id = current_user.id elif is_admin(current_user): user_id = request.args.get("user_id") user = UserModel.find_by_id(user_id) form = UserUpdateForm() if form.validate_on_submit(): user.email=form.email.data user.phone = form.phone.data user.password_hash = generate_password_hash(form.password.data) user.save_to_db() return render_template("user_account.html", user=user) form.email.data = user.email form.phone.data = user.phone return render_template("user_update.html", form=form)
def get(cls, user_id): user = UserModel.find_by_id(user_id) if user: return user.json() return {'message': f"User with id '{user_id}' not found"}, 404
def identity(payload): user_id = payload['identity'] return UserModel.find_by_id(user_id)