def _process(self, request): # create the token raw_email = self.cleaned_data.get('email', '') t = Token( domain=Utils.get_domain(request), email=raw_email, token=Token.generate_token(), type='reset_password', used=False, expired=datetime.datetime.now() + datetime.timedelta(days=3), ) t.save() # create the email site = Utils.get_site(self.request) if site and site.get('email_manager'): from_email = site.get('email_manager') else: raise Exception("No account email set.") # pragma: no cover domain = Utils.get_domain(request) link = reverse('reset-password', kwargs={'code': t.token}) subject = "Reset your password" msg_plain = "Click there link to reset your password: <a href=\"%s\">%s</a>" % ( link, link) t.url = link t.save() # send email try: EmailUtils.send_email(from_email, raw_email, subject, msg_plain) except Exception, e: # pragma: no cover return { 'return': 302, # pragma: no cover 'msg': 'Oop, we are having diffculty to send you email', 'redirect_url': reverse('login') }
def normalize_email(request, email): norm_email = None mojo_domain = Utils.get_domain(request) if email: norm_email = mojo_domain + "-" + email return norm_email