diff --git a/symposion/proposals/models.py b/symposion/proposals/models.py index cf852b48..6d1603c3 100644 --- a/symposion/proposals/models.py +++ b/symposion/proposals/models.py @@ -44,6 +44,16 @@ class ProposalSection(models.Model): Q(closed=False) | Q(closed=None), ) + def is_available(self): + if self.closed: + return False + now = datetime.datetime.now() + if self.start and self.start > now: + return False + if self.end and self.end < now: + return False + return True + def __unicode__(self): return self.section.name diff --git a/symposion/proposals/views.py b/symposion/proposals/views.py index fd5e210c..8cfdfa04 100644 --- a/symposion/proposals/views.py +++ b/symposion/proposals/views.py @@ -59,6 +59,9 @@ def proposal_submit_kind(request, kind_slug): except ObjectDoesNotExist: return redirect("dashboard") + if not kind.section.proposalsection.is_available(): + return redirect("proposal_submit") + form_class = get_form(settings.PROPOSAL_FORMS[kind_slug]) if request.method == "POST":