diff --git a/RIGS/hs.py b/RIGS/hs.py index f2843ce8..0f94a40e 100644 --- a/RIGS/hs.py +++ b/RIGS/hs.py @@ -5,7 +5,7 @@ from django.http import HttpResponseRedirect from django.urls import reverse_lazy from reversion import revisions as reversion from django.db.models import AutoField, ManyToOneRel - +from django.contrib import messages class EventRiskAssessmentCreate(generic.CreateView): model = models.RiskAssessment @@ -141,6 +141,20 @@ class EventChecklistCreate(generic.CreateView): template_name = 'event_checklist_form.html' form_class = forms.EventChecklistForm + # From both business logic and programming POVs, RAs must exist before ECs! + def get(self, *args, **kwargs): + epk = kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + + # Check if RA exists + ra = models.RiskAssessment.objects.filter(event=event).first() + + if ra is None: + messages.error(self.request, 'A Risk Assessment must exist prior to creating any Event Checklists for {}! Please create one now.'.format(event)) + return HttpResponseRedirect(reverse_lazy('event_ra', kwargs={'pk': epk})) + + return super(EventChecklistCreate, self).get(self) + def get_form(self, **kwargs): form = super(EventChecklistCreate, self).get_form(**kwargs) epk = self.kwargs.get('pk') diff --git a/RIGS/templates/event_checklist_detail.html b/RIGS/templates/event_checklist_detail.html index d7aa983d..2df9e169 100644 --- a/RIGS/templates/event_checklist_detail.html +++ b/RIGS/templates/event_checklist_detail.html @@ -104,15 +104,10 @@