Beispiel #1
0
    def __post_email(self, **post):
        try:
            data = Bunch(recover_form.native(post)[0])
        except Exception as e:
            if config.get('debug', False):
                raise
            return 'json:', dict(success=False,
                                 message=_("Unable to parse data."),
                                 data=post,
                                 exc=str(e))

        user = lookup_email(data.email)
        if not user:
            user = lookup_email(data.email.lower())
        if not user:
            # FixMe: possibly do send success any way, to prevent email address confirmation
            #   - would be necessary for register as well
            return 'json:', dict(success=False,
                                 message=_("Unknown email."),
                                 data=post)
        send_recover_email(user)
        return 'json:', dict(
            success=True,
            message=_(
                "Recovery e-mail sent - "
                "please follow the instructions in that mail to restore your password"
            ))
Beispiel #2
0
 def __get_recovery(email, recovery_key):
     if not email:
         return None
     user = lookup_email(email)
     if not user:
         user = lookup_email(email.lower())
     if not user:
         return None
     recovery = PasswordRecovery.objects(user=user, recovery_key=recovery_key).first()
     return recovery
Beispiel #3
0
 def __get_recovery(email, recovery_key):
     if not email:
         return None
     user = lookup_email(email)
     if not user:
         user = lookup_email(email.lower())
     if not user:
         return None
     recovery = PasswordRecovery.objects(user=user,
                                         recovery_key=recovery_key).first()
     return recovery
Beispiel #4
0
    def __post_email(self, **post):
        try:
            data = Bunch(recover_form.native(post)[0])
        except Exception as e:
            if config.get('debug', False):
                raise
            return 'json:', dict(success=False, message=_("Unable to parse data."), data=post, exc=str(e))

        user = lookup_email(data.email)
        if not user:
            user = lookup_email(data.email.lower())
        if not user:
            # FixMe: possibly do send success any way, to prevent email address confirmation
            #   - would be necessary for register as well
            return 'json:', dict(success=False, message=_("Unknown email."), data=post)
        send_recover_email(user)
        return 'json:', dict(success=True,
                             message=_("Recovery e-mail sent - "
                                       "please follow the instructions in that mail to restore your password"))