Exemple #1
0
    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')
            }
Exemple #2
0
 def normalize_email(request, email):
     norm_email = None
     mojo_domain = Utils.get_domain(request)
     if email: 
         norm_email = mojo_domain + "-" + email
     return norm_email