def login_failure(request, reason=None): """ Response from redirect upon login failure, either because of invalid or incorrect user credentials. .. seealso:: - :func:`sign_in` """ http_err = HTTPUnauthorized if reason is None: reason = s.Signin_POST_UnauthorizedResponseSchema.description try: user_name = ar.get_value_multiformat_body_checked(request, "user_name", default=None) ar.get_value_multiformat_body_checked(request, "password", default=None, pattern=None) except HTTPException: http_err = HTTPBadRequest reason = s.Signin_POST_BadRequestResponseSchema.description else: user_name_list = ax.evaluate_call( lambda: [user.user_name for user in UserService.all(models.User, db_session=request.db)], fallback=lambda: request.db.rollback(), http_error=HTTPForbidden, msg_on_fail=s.Signin_POST_ForbiddenResponseSchema.description) if user_name in user_name_list: http_err = HTTPInternalServerError reason = s.Signin_POST_Internal_InternalServerErrorResponseSchema.description content = ag.get_request_info(request, default_message=s.Signin_POST_UnauthorizedResponseSchema.description) content.setdefault("detail", str(reason)) ax.raise_http(http_error=http_err, content=content, detail=s.Signin_POST_UnauthorizedResponseSchema.description)
def get_users_view(request): """ List all registered user names. """ user_name_list = ax.evaluate_call( lambda: [ user.user_name for user in UserService.all(models.User, db_session=request.db) ], fallback=lambda: request.db.rollback(), http_error=HTTPForbidden, msg_on_fail=s.Users_GET_ForbiddenResponseSchema.description) return ax.valid_http(http_success=HTTPOk, content={"user_names": sorted(user_name_list)}, detail=s.Users_GET_OkResponseSchema.description)
def users_list(request): """ Returns users list """ props = [ "user_name", "id", "first_name", "last_name", "email", "last_login_date", "status", ] users = UserService.all() users_dicts = [] for user in users: u_dict = user.get_dict(include_keys=props) u_dict["gravatar_url"] = UserService.gravatar_url(user, s=20) users_dicts.append(u_dict) return users_dicts