From ee064d301dd63155b2fed2f446be4e9e0f1ae856 Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Sat, 9 Mar 2019 14:31:56 +0100
Subject: [PATCH] Simplify conditionals in Post create test_func

---
 forums/views.py | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/forums/views.py b/forums/views.py
index 807bc90a9..ac1966c09 100644
--- a/forums/views.py
+++ b/forums/views.py
@@ -172,22 +172,18 @@ class PostCreateView(UserPassesTestMixin, CreateView):
         if self.request.user.has_perm('forums.add_forum'):
             return True
         forum = get_object_or_404(Forum, slug=self.kwargs.get('slug'))
+        if not self.request.user.has_perm('can_post_to_forum', forum):
+            raise PermissionDenied
         # Only allow posting if it's within a Forum, or within an ongoing meeting.
         try:
             if datetime.date.today() > forum.meeting.date_until:
-                messages.error(self.request,
-                               'Error: you cannot Post to a Meeting which is finished.')
-                raise PermissionDenied
+                raise Http404('You cannot Post to a Meeting which is finished.')
             elif datetime.date.today () < forum.meeting.date_from:
-                messages.warning(self.request,
-                               'This meeting has not started yet, please come back later!')
-                raise PermissionDenied
+                raise Http404('This meeting has not started yet, please come back later!')
         except Meeting.DoesNotExist:
             pass
-        if self.request.user.has_perm('can_post_to_forum', forum):
-            return True
-        else:
-            raise PermissionDenied
+        return True
+
 
     def get_initial(self, *args, **kwargs):
         initial = super().get_initial(*args, **kwargs)
-- 
GitLab