class ResetPassword(View, Controller): """Reset Password Page Controller""" template_name = 'templates/reset_password.html' @redirect_if_not_installed @redirect_if_authenticated def get(self, request, token): self.__reset_password_core = ResetPasswordModule() self.autoload_options() self.context_push({ "page_title": _("Reset Password · %s") % self.context_get("app_name", os.getenv("APP_NAME", "Silverback")), "reset_token": token }) if not self.__reset_password_core.check_token(token): messages.error( request, _("Reset token is expired or invalid, Please request another token!" )) return redirect("app.web.forgot_password") return render(request, self.template_name, self.context_get())
def get(self, request, token): self.__correlation_id = request.META[ "X-Correlation-ID"] if "X-Correlation-ID" in request.META else "" self.__reset_password_core = ResetPasswordModule() self.__context = Context() self.__option_entity = OptionEntity() self.__context.autoload_options() self.__context.push({ "page_title": _("Reset Password · %s") % self.__context.get( "app_name", os.getenv("APP_NAME", "Silverback")), "reset_token": token }) if not self.__reset_password_core.check_token(token): messages.error( request, _("Reset token is expired or invalid, Please request another token!" )) return redirect("app.web.forgot_password") return render(request, self.template_name, self.__context.get())
def __init__(self): self.__request = Request() self.__response = Response() self.__helpers = Helpers() self.__form = Form() self.__reset_password = ResetPasswordModule() self.__logger = self.__helpers.get_logger(__name__) self.__form.add_validator(ExtraRules())
def get(self, request, token): self.__reset_password_core = ResetPasswordModule() self.autoload_options() self.context_push({ "page_title": _("Reset Password · %s") % self.context_get("app_name", os.getenv("APP_NAME", "Silverback")), "reset_token": token }) if not self.__reset_password_core.check_token(token): messages.error( request, _("Reset token is expired or invalid, Please request another token!" )) return redirect("app.web.forgot_password") return render(request, self.template_name, self.context_get())
class ResetPassword(View): __request = None __response = None __helpers = None __form = None __reset_password = None __logger = None __correlation_id = None def __init__(self): self.__request = Request() self.__response = Response() self.__helpers = Helpers() self.__form = Form() self.__reset_password = ResetPasswordModule() self.__logger = self.__helpers.get_logger(__name__) self.__form.add_validator(ExtraRules()) @stop_request_if_authenticated def post(self, request): self.__correlation_id = request.META[ "X-Correlation-ID"] if "X-Correlation-ID" in request.META else "" self.__request.set_request(request) request_data = self.__request.get_request_data("post", { "reset_token": "", "new_password": "" }) self.__form.add_inputs({ 'reset_token': { 'value': request_data["reset_token"], 'sanitize': { 'escape': {}, 'strip': {} }, 'validate': {} }, 'new_password': { 'value': request_data["new_password"], 'validate': { 'sv_password': { 'error': _('Error! Password must contain at least uppercase letter, lowercase letter, numbers and special character.' ) }, 'length_between': { 'param': [7, 20], 'error': _('Error! Password length must be from 8 to 20 characters.' ) } } } }) self.__form.process() if not self.__form.is_passed(): return JsonResponse( self.__response.send_errors_failure(self.__form.get_errors(), {}, self.__correlation_id)) if not self.__reset_password.check_token( self.__form.get_sinput("reset_token")): return JsonResponse( self.__response.send_private_failure( [{ "type": "error", "message": _("Error! Reset token is expired or invalid.") }], {}, self.__correlation_id)) result = self.__reset_password.reset_password( self.__form.get_sinput("reset_token"), self.__form.get_sinput("new_password")) result &= self.__reset_password.delete_reset_request( self.__form.get_sinput("reset_token")) if not result: return JsonResponse( self.__response.send_private_failure([{ "type": "error", "message": _("Error! Something goes wrong while resetting password.") }], {}, self.__correlation_id)) else: return JsonResponse( self.__response.send_private_success( [{ "type": "success", "message": _("Password updated successfully.") }], {}, self.__correlation_id))
def __init__(self): self.__reset_password = ResetPasswordModule()
class ResetPassword(View, Controller): """Reset Password Private Endpoint Controller""" def __init__(self): self.__reset_password = ResetPasswordModule() @stop_request_if_authenticated def post(self, request): request_data = self.get_request_data(request, "post", { "reset_token": "", "new_password": "" }) self.form().add_inputs({ 'reset_token': { 'value': request_data["reset_token"], 'sanitize': { 'escape': {}, 'strip': {} }, 'validate': {} }, 'new_password': { 'value': request_data["new_password"], 'validate': { 'sv_password': { 'error': _('Error! Password must contain at least uppercase letter, lowercase letter, numbers and special character.' ) }, 'length_between': { 'param': [7, 20], 'error': _('Error! Password length must be from 8 to 20 characters.' ) } } } }) self.form().process() if not self.form().is_passed(): return self.json(self.form().get_errors()) if not self.__reset_password.check_token( self.form().get_sinput("reset_token")): return self.json([{ "type": "error", "message": _("Error! Reset token is expired or invalid.") }]) result = self.__reset_password.reset_password( self.form().get_sinput("reset_token"), self.form().get_sinput("new_password")) result &= self.__reset_password.delete_reset_request( self.form().get_sinput("reset_token")) if not result: return self.json([{ "type": "error", "message": _("Error! Something goes wrong while resetting password.") }]) else: return self.json([{ "type": "success", "message": _("Password updated successfully.") }])