def post(self): # check captcha challenge = self.request.POST.get('recaptcha_challenge_field') response = self.request.POST.get('recaptcha_response_field') remoteip = self.request.remote_addr cResponse = captcha.submit(challenge, response, self.reCaptcha_private_key, remoteip) if cResponse.is_valid: # captcha was valid... carry on..nothing to see here pass else: _message = _('Wrong image verification code. Please try again.') self.add_message(_message, 'error') return self.redirect_to('password-reset') # load the email address email = str(self.request.POST.get('email')).lower().strip() if utils.is_email_valid(email): user = models.User.get_by_email(email) _message = _( "You should receive an email from us shortly with instructions for resetting your password." ) if user is not None: user_id = user.get_id() token = models.User.create_auth_token(user_id) email_url = self.uri_for('taskqueue-send-email') reset_url = self.uri_for('password-reset-check', user_id=user_id, token=token, _full=True) subject = _("%s Password Assistance" % config.app_name) # load email's template template_val = { "username": user.username, "email": user.email, "reset_password_url": reset_url, "support_url": self.uri_for("contact", _full=True), "app_name": config.app_name, } body_path = "emails/reset_password.txt" body = self.jinja2.render_template(body_path, **template_val) logging.info("value is: %s" % reset_url) taskqueue.add(url=email_url, params={ 'to': user.email, 'subject': subject, 'body': body, 'sender': config.contact_sender, }) self.add_message(_message, 'success') return self.redirect_to('login') self.add_message(_message, 'warning') return self.redirect_to('password-reset')
def post(self): # check captcha challenge = self.request.POST.get('recaptcha_challenge_field') response = self.request.POST.get('recaptcha_response_field') remoteip = self.request.remote_addr cResponse = captcha.submit( challenge, response, self.reCaptcha_private_key, remoteip) if cResponse.is_valid: # captcha was valid... carry on..nothing to see here pass else: _message = _('Wrong image verification code. Please try again.') self.add_message(_message, 'error') return self.redirect_to('password-reset') # load the email address email = str(self.request.POST.get('email')).lower().strip() if utils.is_email_valid(email): user = models.User.get_by_email(email) _message = _("You should receive an email from us shortly with instructions for resetting your password.") if user is not None: user_id = user.get_id() token = models.User.create_auth_token(user_id) email_url = self.uri_for('taskqueue-send-email') reset_url = self.uri_for('password-reset-check', user_id=user_id, token=token, _full=True) subject = _("%s Password Assistance" % config.app_name) # load email's template template_val = { "username": user.username, "email": user.email, "reset_password_url": reset_url, "support_url": self.uri_for("contact", _full=True), "app_name": config.app_name, } body_path = "emails/reset_password.txt" body = self.jinja2.render_template(body_path, **template_val) logging.info("value is: %s" % reset_url) taskqueue.add(url = email_url, params={ 'to': user.email, 'subject' : subject, 'body' : body, 'sender' : config.contact_sender, }) self.add_message(_message, 'success') return self.redirect_to('login') self.add_message(_message, 'warning') return self.redirect_to('password-reset')
def post(self): # check captcha challenge = self.request.POST.get('recaptcha_challenge_field') response = self.request.POST.get('recaptcha_response_field') remoteip = self.request.remote_addr cResponse = captcha.submit( challenge, response, self.reCaptcha_private_key, remoteip) if cResponse.is_valid: # captcha was valid... carry on..nothing to see here pass else: logging.warning(cResponse.error_code) _message = _('Wrong image verification code. Please try again.') self.add_message(_message, 'error') return self.redirect_to('password-reset') #check if we got an email or username email_or_username = str(self.request.POST.get('email_or_username')).lower().strip() if utils.is_email_valid(email_or_username): user = models.User.get_by_email(email_or_username) _message = _("If the e-mail address you entered") + " (<strong>%s</strong>) " % email_or_username else: auth_id = "own:%s" % email_or_username user = models.User.get_by_auth_id(auth_id) _message = _("If the username you entered") + " (<strong>%s</strong>) " % email_or_username if user is not None: user_id = user.get_id() token = models.User.create_auth_token(user_id) email_url = self.uri_for('taskqueue-send-email') reset_url = self.uri_for('password-reset-check', user_id=user_id, token=token, _full=True) subject = _("Password reminder") body = _('Please click below to create a new password:'******'to': user.email, 'subject' : subject, 'body' : body, 'sender' : config.contact_sender, }) _message = _message + _("is associated with an account in our records, you will receive "\ "an e-mail from us with instructions for resetting your password. "\ "<br>If you don't receive this e-mail, please check your junk mail folder or ") +\ '<a href="' + self.uri_for('contact') + '">' + _('contact us') + '</a> ' + _("for further assistance.") self.add_message(_message, 'success') return self.redirect_to('login') _message = _('Your email / username was not found. Please try another or ') + '<a href="' + self.uri_for('register') + '">' + _('create an account') + '</a>' self.add_message(_message, 'error') return self.redirect_to('password-reset')
def clean(self, values): super(ReCaptchaField, self).clean(values[1]) recaptcha_challenge_value = smart_unicode(values[0]) recaptcha_response_value = smart_unicode(values[1]) check_captcha = captcha.submit(recaptcha_challenge_value, recaptcha_response_value, settings.RECAPTCHA_PRIV_KEY, {}) if not check_captcha.is_valid: raise forms.util.ValidationError(_('Invalid captcha')) return values[0]
def clean(self, values): super(ReCaptchaField, self).clean(values) recaptcha_response_value = smart_unicode(values) check_captcha = captcha.submit(recaptcha_response_value, settings.RECAPTCHA_PRIV_KEY, "0.0.0.0") if not check_captcha.is_valid: raise forms.util.ValidationError( _('Invalid captcha ' + check_captcha.error_code)) return values
def post(self): # check captcha challenge = self.request.POST.get('recaptcha_challenge_field') response = self.request.POST.get('recaptcha_response_field') remoteip = self.request.remote_addr cResponse = captcha.submit( challenge, response, self.reCaptcha_private_key, remoteip) if cResponse.is_valid: # captcha was valid... carry on..nothing to see here pass else: logging.warning(cResponse.error_code) _message = 'Wrong image verification code. Please try again.' self.add_message(_message, 'error') return self.redirect_to('password-reset') #check if we got an email or username email_or_username = str(self.request.POST.get('email_or_username')).lower().strip() if utils.is_email_valid(email_or_username): user = models.User.get_by_email(email_or_username) _message = "If the e-mail address you entered <strong>%s</strong> " % email_or_username else: auth_id = "own:%s" % email_or_username user = models.User.get_by_auth_id(auth_id) _message = "If the username you entered <strong>%s</strong> " % email_or_username if user is not None: user_id = user.get_id() token = models.User.create_auth_token(user_id) email_send_url = self.uri_for('send-reset-email') taskqueue.add(url = email_send_url, params={ 'recipient_email': user.email, 'token' : token, 'user_id' : user_id, }) _message = _message + "is associated with an account in our records, you will receive " \ "an e-mail from us with instructions for resetting your password. " \ "<br>If you don't receive this e-mail, please check your junk mail folder or " \ "<a href='/contact'>contact us</a> for further assistance." self.add_message(_message, 'success') return self.redirect_to('login') _message = 'Your email / username was not found. Please try another or <a href="/register">create an account</a>.' self.add_message(_message, 'error') return self.redirect_to('password-reset')
def post(self): # check captcha challenge = self.request.POST.get('recaptcha_challenge_field') response = self.request.POST.get('recaptcha_response_field') remoteip = self.request.remote_addr cResponse = captcha.submit( challenge, response, self.app.config.get('captcha_private_key'), remoteip) if cResponse.is_valid: # captcha was valid... carry on..nothing to see here pass else: _message = _('Wrong image verification code. Please try again.') self.add_message(_message, 'error') return self.redirect_to('password-reset') #check if we got an email or username email_or_username = str(self.request.POST.get('email_or_username')).lower().strip() if utils.is_email_valid(email_or_username): user = models.User.get_by_email(email_or_username) _message = _("If the e-mail address you entered") + " (<strong>%s</strong>) " % email_or_username else: auth_id = "own:%s" % email_or_username user = models.User.get_by_auth_id(auth_id) _message = _("If the username you entered") + " (<strong>%s</strong>) " % email_or_username _message = _message + _("is associated with an account in our records, you will receive " "an e-mail from us with instructions for resetting your password. " "<br>If you don't receive instructions within a minute or two, " "check your email's spam and junk filters, or ") +\ '<a href="' + self.uri_for('contact') + '">' + _('contact us') + '</a> ' + _("for further assistance.") if user is not None: user_id = user.get_id() token = models.User.create_auth_token(user_id) email_url = self.uri_for('taskqueue-send-email') reset_url = self.uri_for('password-reset-check', user_id=user_id, token=token, _full=True) subject = _("%s Password Assistance" % self.app.config.get('app_name')) # load email's template template_val = { "username": user.username, "email": user.email, "reset_password_url": reset_url, "support_url": self.uri_for("contact", _full=True), "app_name": self.app.config.get('app_name'), } body_path = "emails/reset_password.txt" body = self.jinja2.render_template(body_path, **template_val) taskqueue.add(url = email_url, params={ 'to': user.email, 'subject' : subject, 'body' : body, 'sender' : self.app.config.get('contact_sender'), }) self.add_message(_message, 'warning') return self.redirect_to('login')
def post(self): # check captcha challenge = self.request.POST.get('recaptcha_challenge_field') response = self.request.POST.get('recaptcha_response_field') remoteip = self.request.remote_addr cResponse = captcha.submit(challenge, response, self.reCaptcha_private_key, remoteip) if cResponse.is_valid: # captcha was valid... carry on..nothing to see here pass else: logging.warning(cResponse.error_code) _message = _('Wrong image verification code. Please try again.') self.add_message(_message, 'error') return self.redirect_to('password-reset') # check if we got an email or username email_or_username = str( self.request.POST.get('email_or_username')).lower().strip() if utils.is_email_valid(email_or_username): user = models.User.get_by_email(email_or_username) _message = _("If the e-mail address you entered" ) + " (<strong>%s</strong>) " % email_or_username else: auth_id = "own:%s" % email_or_username user = models.User.get_by_auth_id(auth_id) _message = _("If the username you entered" ) + " (<strong>%s</strong>) " % email_or_username if user is not None: user_id = user.get_id() token = models.User.create_auth_token(user_id) email_url = self.uri_for('taskqueue-send-email') reset_url = self.uri_for('password-reset-check', user_id=user_id, token=token, _full=True) subject = _("Password reminder") body = _('Please click below to create a new password:'******'to': user.email, 'subject': subject, 'body': body, 'sender': config.contact_sender, }) _message = _message + _("is associated with an account in our records, you will receive "\ "an e-mail from us with instructions for resetting your password. "\ "<br>If you don't receive this e-mail, please check your junk mail folder or ") +\ '<a href="' + self.uri_for('contact') + '">' + _('contact us') + '</a> ' + _("for further assistance.") self.add_message(_message, 'success') return self.redirect_to('login') _message = _( 'Your email / username was not found. Please try another or ' ) + '<a href="' + self.uri_for('register') + '">' + _( 'create an account') + '</a>' self.add_message(_message, 'error') return self.redirect_to('password-reset')