Пример #1
0
def user_edit(email):
    with permissions['users'].require():
        from recorder.models import Role, User 
        user = User.load(email)
        if not user:
            return abort(404)

        ret = _default_response()
        ret['form'] = UserEditForm()
        ret['form'].roles.choices = [(r.name, r.description) for r in Role.all()]
        ret['user'] = user
        ret['title'] =  u"Edtuj konto"
        ret['roles'] = user.roles
        ret['section_title'] = u"Edytuj konto"

        if request.method == 'POST' and ret['form'].validate_on_submit():
            if ret['form'].password.data == ret['form'].re_password.data:
                if ret['form'].password.data:
                    user.password = ret['form'].password.data
                user.roles = ret['form'].roles.data
                user.save()
                return redirect('users')
            else:
                ret['error'] = u"Podano dwa różne hasła"

        return ret
Пример #2
0
def user_add():
    with permissions['users'].require():
        from recorder.models import Role
        ret = _default_response()
        ret['form'] = UserAddForm()
        ret['form'].roles.choices = [(r.name, r.description) for r in Role.all()]
        ret['title'] =  u"Dodaj użytkownika"
        ret['section_title'] = u"Dodaj użytkownika"

        if ret['form'].validate_on_submit():
            if ret['form'].password.data == ret['form'].re_password.data:
                from recorder.models import User
                user = User(**{'email':ret['form'].email.data, 
                               'password' : ret['form'].password.data,
                               'roles' : ret['form'].roles.data })
                user.save()
            else:
                ret['error'] = u"Podano dwa różne hasła"
        return ret
Пример #3
0
def users():
    with permissions['users'].require():
        from recorder.models import Role, User
        ret = _default_response()
        ret['title'] =  u"Użytkownicy"
        ret['section_title'] = u"Użytkownicy"
        users = User.all()
        for u in users:
            u.roles = map(lambda r: Role.load(r).description, u.roles)
        ret['users'] = users
        return ret
Пример #4
0
def login():
    message = ""
    form = LoginForm()
    if form.validate_on_submit():
        from recorder.models import User
        user = User.load(form.email.data)
        if user and user.check_password(form.password.data):
            login_user(user)
            identity_changed.send(current_app._get_current_object(),
                                  identity=Identity(user.email))
            return redirect(url_for('search'))
        else:
            message = u"Zły użytkownik lub hasło"

    return {'form' : form, 'message' : message}
Пример #5
0
def load_user(email):
    from recorder.models import User
    return User.load(email)
Пример #6
0
def user_delete(email):
    with permissions['users'].require():
        from recorder.models import Role, User 
        user = User.load(email)
        user.delete()
        return redirect('users')
Пример #7
0
 def validate_email(form, field):
     from recorder.models import User
     if User.load(field.data):
         raise ValidationError(u"Email '%s' jest już zajety" % field.data)