Exemplo n.º 1
0
def edit_member(id):
    if request.method == 'GET':
        user = users.find_by_id(id)
        return render_template('admin/edit_member.html', user=user)
    else:
        logi('edit member')
        try:
            validate_member()
        except ValueError, e:
            user = users.find_by_id(id)
            logi('edit member: validation error uid=%d', id)
            return render_template('admin/edit_member.html', user=user,
                    errors=e.errors)

        u = users.make_obj(request.form, id)
        logi('edit member: update uid=%d', id)
        try:
            users.update(id, u.password, u.sex, u.permission)
        except users.NotUniquePassword:
            user = users.find_by_id(id)
            logi('not unique password')
            return render_template('admin/edit_member.html', user=user,
                    errors=not_unique_password_error())

        if id != g.user.id:
            return redirect(url_for('admin.member'))
        elif u.is_member_admin():
            return redirect(url_for('admin.member'))
        elif u.is_admin():
            return redirect(url_for('admin.index'))
        else:
            return redirect(url_for('general.index'))
Exemplo n.º 2
0
def new_member():
    if request.method == 'GET':
        return render_template('admin/edit_member.html')
    else:
        logi('new member')
        try:
            validate_member()
        except ValueError, e:
            logi('new member: validation error errors=%s', e.errors.keys())
            return render_template('admin/edit_member.html', errors=e.errors)

        u = users.make_obj(request.form)
        logi('new member: insert name=%s', u.name)
        try:
            users.insert(u.name, u.password, u.sex, u.permission)
            return redirect(url_for('admin.member'))
        except users.NotUniquePassword:
            logi('not unique password')
            return render_template('admin/edit_member.html',
                    errors=not_unique_password_error())