SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit ee064d30 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Simplify conditionals in Post create test_func

parent f2b21d17
No related branches found
No related tags found
No related merge requests found
...@@ -172,22 +172,18 @@ class PostCreateView(UserPassesTestMixin, CreateView): ...@@ -172,22 +172,18 @@ class PostCreateView(UserPassesTestMixin, CreateView):
if self.request.user.has_perm('forums.add_forum'): if self.request.user.has_perm('forums.add_forum'):
return True return True
forum = get_object_or_404(Forum, slug=self.kwargs.get('slug')) 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. # Only allow posting if it's within a Forum, or within an ongoing meeting.
try: try:
if datetime.date.today() > forum.meeting.date_until: if datetime.date.today() > forum.meeting.date_until:
messages.error(self.request, raise Http404('You cannot Post to a Meeting which is finished.')
'Error: you cannot Post to a Meeting which is finished.')
raise PermissionDenied
elif datetime.date.today () < forum.meeting.date_from: elif datetime.date.today () < forum.meeting.date_from:
messages.warning(self.request, raise Http404('This meeting has not started yet, please come back later!')
'This meeting has not started yet, please come back later!')
raise PermissionDenied
except Meeting.DoesNotExist: except Meeting.DoesNotExist:
pass pass
if self.request.user.has_perm('can_post_to_forum', forum): return True
return True
else:
raise PermissionDenied
def get_initial(self, *args, **kwargs): def get_initial(self, *args, **kwargs):
initial = super().get_initial(*args, **kwargs) initial = super().get_initial(*args, **kwargs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment