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'))
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())