From e00b646f20bf6a7f82a4649282202157eda2d369 Mon Sep 17 00:00:00 2001 From: James Tauber Date: Tue, 14 Aug 2012 17:09:51 -0400 Subject: [PATCH] added method for determining if section is open for proposals and redirect away from form if not --- symposion/proposals/models.py | 10 ++++++++++ symposion/proposals/views.py | 3 +++ 2 files changed, 13 insertions(+) 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":