X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/d0f0e1412cc42d366b234e798dfb68feed05d751..d555d988764995ea1f9f5ece46f453a66f09b334:/src/edumed/forum.py?ds=sidebyside diff --git a/src/edumed/forum.py b/src/edumed/forum.py new file mode 100644 index 0000000..86cfb0c --- /dev/null +++ b/src/edumed/forum.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +from pybb.permissions import DefaultPermissionHandler + + +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()