X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/32ac950fc8d6ba7ef7ec4bf1c4b05f2ed25b02fd..db00cdfa47efb038db8c33393a25df1d240fd76b:/edumed/forum.py?ds=sidebyside diff --git a/edumed/forum.py b/edumed/forum.py old mode 100755 new mode 100644 index 8d52680..86cfb0c --- a/edumed/forum.py +++ b/edumed/forum.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from pybb.permissions import DefaultPermissionHandler @@ -5,3 +6,20 @@ class ForumPermissionHandler(DefaultPermissionHandler): def may_post_as_admin(self, user): """ return True if `user` may post as admin """ return False + + def may_create_topic(self, user, forum): + """ return True if `user` is allowed to create a new topic in `forum` """ + return user.is_authenticated() + + def may_create_post(self, user, topic): + """ return True if `user` is allowed to create a new post in `topic` """ + + if topic.forum.hidden and (not user.is_staff): + # if topic is hidden, only staff may post + return False + + if topic.closed and (not user.is_staff): + # if topic is closed, only staff may post + return False + + return user.is_authenticated()