Password must contain at least 6 characters and one uppercase letter.

As the password is stored as a hash in a database, I added validation before the user is created.
Zastanawiałam się nad tym, ale doszłam do wniosku, że to jest supermałe..
Ok, poprawię.

2014-12-23 15:33 GMT+01:00 Ludwik Trammer <notifications@github.com>:

> In addons/bestja_volunteer/models.py
> <https://github.com/EE/bestja/pull/59#discussion-diff-22216789>:
>
> > +    def signup(self, values, token=None):
> > +        """
> > +            Added for password validation: at least 6 characters, any letters,
> > +            any uppercase letter, not only lowercase.
> > +            You can't do it using constraints, as password is hashed in the database.
> > +        """
> > +        if (len(values.get('password')) < 6 or not re.search('[a-zA-Z]+', values.get('password'))
> > +                or values.get('password').islower() or values.get('password').isupper()):
> > +            raise SignupError("Hasło powinno zawierać co najmniej 6 znaków, w tym litery różnej wielkości!")
> > +        return super(Volunteer, self).signup(values, token)
> > +
> > +    @api.model
> > +    def change_password(self, old_passwd, new_passwd):
> > +        """
> > +            For changing password in preferences.
> > +        """
>
> Skoro masz dwie metody z identycznym kodem to pewnie warto sobie go
> wyodrębnić do osobnej metody w stylu check_password_rules i tylko ją
> odpalać zawsze gdy sprawdzamy czy hasło jest odpowiednie?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/EE/bestja/pull/59/files#r22216789>.
>