コード例 #1
0
 def __init__(self, *args, **kwargs):
     self.initial = {}
     if 'username' in kwargs:
         self.initial['username'] = kwargs.get('username')
         del kwargs['username']
     if 'key' in kwargs:
         self.initial['key'] = kwargs.get('key')
         del kwargs['key']
     self.initial['gonzo'] = do_gonzo(self.initial.get('username', ''),
                                      self.initial.get('key', ''))
     kwargs['initial'] = self.initial
     super(SetPasswordForm, self).__init__(*args, **kwargs)
コード例 #2
0
    def clean(self):
        passwd = self.cleaned_data.get('password')
        passwd_ = self.cleaned_data.get('password_again')
        gonzo = self.cleaned_data.get('gonzo')

        if passwd == passwd_:
            if len(passwd) < 6:
                raise ValidationError(_(u"Chosen password is too short. It \
                    must be at least 6 characters long."))
            chars = []
            for char in passwd:
                if char not in chars:
                    chars.append(char)
            if len(chars) < 3:
                raise ValidationError(_(u"The password muust contain at least \
                    3 different characters."))
        # FIXME:
        # FIXME: Testear: No está llegando la key. Supongo que no llegó la
        # FIXME: primera vez y entonces las veces consecutivas no tuvieron
        # FIXME: acceso para chequearlo. Hacer todo el proceso de nuevo,
        # FIXME: debería andar. Sino arreglar, la concha de la lora.
        if gonzo != do_gonzo(self.initial.get('username', ''),
                                              self.initial.get('key', '')):
            raise ValidationError(_(u"Unknown error occurred."))