From 217976ba53aee88c9a721972719eea6c9f1f8610 Mon Sep 17 00:00:00 2001 From: Zambom Date: Tue, 25 Oct 2016 19:22:36 -0300 Subject: [PATCH] Editing forum permissions --- forum/permissions.py | 32 ++++++++++++++++++++++++++++++++ forum/templates/forum/forum_view.html | 2 +- forum/views.py | 39 ++++++++++++++++++++++++++++++++++++--- 3 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 forum/permissions.py diff --git a/forum/permissions.py b/forum/permissions.py new file mode 100644 index 0000000..9d98c82 --- /dev/null +++ b/forum/permissions.py @@ -0,0 +1,32 @@ +from rolepermissions.permissions import register_object_checker +from amadeus.roles import SystemAdmin + +@register_object_checker() +def view_forum(role, user, forum): + if (role == SystemAdmin): + return True + + if (user in forum.topic.subject.professors.all() or user in forum.topic.subject.students.all()): + return True + + return False + +@register_object_checker() +def edit_forum(role, user, forum): + if (role == SystemAdmin): + return True + + if (user in forum.topic.subject.professors.all()): + return True + + return False + +@register_object_checker() +def delete_forum(role, user, forum): + if (role == SystemAdmin): + return True + + if (user in forum.topic.subject.professors.all()): + return True + + return False diff --git a/forum/templates/forum/forum_view.html b/forum/templates/forum/forum_view.html index 18272fc..f19b088 100644 --- a/forum/templates/forum/forum_view.html +++ b/forum/templates/forum/forum_view.html @@ -34,7 +34,7 @@ - {% if request.user|has_role:'system_admin' or request.user|has_role:'professor' and request.user == post.user %} + {% if request.user|has_role:'system_admin' or request.user|has_role:'professor' and request.user in forum.topic.subject.professors.all %}