diff options
Diffstat (limited to 'apioforum/forum.py')
-rw-r--r-- | apioforum/forum.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/apioforum/forum.py b/apioforum/forum.py index c0c0ba4..9d4a3cd 100644 --- a/apioforum/forum.py +++ b/apioforum/forum.py @@ -377,7 +377,18 @@ def view_user_role(forum): return redirect(url_for( 'forum.edit_user_role', username=request.form['user'],forum_id=forum['id'])) else: - return render_template("role_assignment.html",forum=forum) + db = get_db() + assignments = db.execute("SELECT * FROM role_assignments WHERE forum = ?;",(forum['id'],)).fetchall() + if is_bureaucrat(forum['id'], g.user): + roles = get_forum_roles(forum['id']) + roles.remove("other") + roles.add("bureaucrat") + else: + roles = ["approved"] + return render_template("role_assignment.html", + forum=forum, + forum_roles=roles, + role_assignments=assignments) @forum_route("role/<username>",methods=["GET","POST"]) @requires_permission("p_approve") @@ -407,7 +418,7 @@ def edit_user_role(forum, username): (username,role,forum['id'])) db.commit() flash("role assigned assignedly") - return redirect(url_for('forum.view_forum',forum_id=forum['id'])) + return redirect(url_for('forum.view_user_role',forum_id=forum['id'])) else: user = db.execute("SELECT * FROM users WHERE username = ?;",(username,)).fetchone() if user == None: |