예제 #1
0
파일: users.py 프로젝트: rafal-kos/pytis
    def authenticate(self):
        user = User()
        user.login = request.POST["login"]
        user.password = request.POST["password"]

        try:
            user.exists()
        except UserDoesntExistsException:
            flash(u"Niepoprawne dane autoryzacyjne. Sprawdź swój login i hasło.", "error")
            return redirect(url(controller="users", action="login"))

        user = User.query.filter(User.login == request.POST["login"]).first()
        flash(u"Witamy w systemie")
        try:
            session["user"] = {"id": user.id, "login": user.login}

            groups = []
            for group in user.groups:
                groups.append(str(group.name).lower())
            session["user"].update({"groups": groups})
        except KeyError:
            pass
        else:
            session.save()
            return redirect(url("/"))
예제 #2
0
파일: form.py 프로젝트: rafal-kos/pytis
    def validate_old_password(form, field):
        user = User()
        user.id = h.auth.user_id()
        user.password = form.old_password.data

        try:
            user.exists()
        except UserDoesntExistsException:
            raise ValidationError(u'Podano nieprawidłowe hasło')
예제 #3
0
파일: users.py 프로젝트: rafal-kos/pytis
    def register(self):
        c.form = UserRegisterForm(request.POST)

        if request.method == "POST" and c.form.validate():
            user = User()
            c.form.populate_obj(user, exclude=["id"])

            try:
                user.save()
            except LoginOrEmailExistsException:
                flash(u"Twój email lub login istnieje już w bazie danych. Użyj innego.")
            else:
                flash(u"Użytkownik został pomyślnie dodany do bazy danych.")
                return redirect(url(controller="users", action="list"))

        return render("/users/register.xhtml")