diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index 1603f924..e1f846a4 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -84,26 +84,6 @@ class EventEmbed(EventDetail): template_name = 'event_embed.html' -class EventRADetail(generic.DetailView): - model = models.RiskAssessment - template_name = 'risk_assessment_detail.html' - - def get_object(self, queryset=None): - epk = self.kwargs.get(self.pk_url_kwarg) - event = models.Event.objects.get(pk=epk) - ra, created = models.RiskAssessment.objects.get_or_create(event=event) - return ra - - -class EventRAEdit(generic.UpdateView): - model = models.RiskAssessment - template_name = 'risk_assessment_form.html' - form_class = forms.EventRiskAssessmentForm - - def get_success_url(self): - return reverse_lazy('event_ra', kwargs={'pk': self.object.event.pk}) - - class EventCreate(generic.CreateView): model = models.Event form_class = forms.EventForm @@ -441,6 +421,60 @@ class EventAuthoriseRequestEmailPreview(generic.DetailView): return context +class EventRiskAssessmentCreate(generic.CreateView): + model = models.RiskAssessment + template_name = 'risk_assessment_form.html' + form_class = forms.EventRiskAssessmentForm + + 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 not None: + return HttpResponseRedirect(reverse_lazy('ra_edit', kwargs={'pk': ra.pk})) + + return super(EventRiskAssessmentCreate, self).get(self) + + def get_form(self, **kwargs): + form = super(EventRiskAssessmentCreate, self).get_form(**kwargs) + epk = self.kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + form.instance.event = event + return form + + def get_context_data(self, **kwargs): + context = super(EventRiskAssessmentCreate, self).get_context_data(**kwargs) + epk = self.kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + context['event'] = event + return context + + def get_success_url(self): + return reverse_lazy('ra_detail', kwargs={'pk': self.object.pk}) + + +class EventRiskAssessmentEdit(generic.UpdateView): + model = models.RiskAssessment + template_name = 'risk_assessment_form.html' + form_class = forms.EventRiskAssessmentForm + + def get_success_url(self): + return reverse_lazy('ra_detail', kwargs={'pk': self.object.pk}) + + def get_context_data(self, **kwargs): + context = super(EventRiskAssessmentEdit, self).get_context_data(**kwargs) + context['edit'] = True + return context + + +class EventRiskAssessmentDetail(generic.DetailView): + model = models.RiskAssessment + template_name = 'risk_assessment_detail.html' + + class EventRiskAssessmentList(generic.ListView): paginate_by = 20 model = models.RiskAssessment diff --git a/RIGS/templates/.risk_assessment_table.html.kate-swp b/RIGS/templates/.risk_assessment_table.html.kate-swp deleted file mode 100644 index 6a7e0023..00000000 Binary files a/RIGS/templates/.risk_assessment_table.html.kate-swp and /dev/null differ diff --git a/RIGS/templates/partials/yes_no_radio.html b/RIGS/templates/partials/yes_no_radio.html index d0f415ed..7ae89db8 100644 --- a/RIGS/templates/partials/yes_no_radio.html +++ b/RIGS/templates/partials/yes_no_radio.html @@ -1,6 +1,5 @@ -{% load help_text from filters %} + class="col-sm-8 control-label">{{ formitem.help_text|safe }}