mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
More moving of event size logic
This commit is contained in:
16
RIGS/hs.py
16
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')
|
||||
|
||||
@@ -104,15 +104,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">Power {% if object.event_size == 2 %}
|
||||
<span class="badge badge-danger p-2 my-3">Large Event</span>
|
||||
{% elif object.event_size == 1 %}
|
||||
<span class="badge badge-warning p-2 my-3">Medium Event</span>
|
||||
{%else%}<span class="badge badge-success p-2 my-3">Small Event</span>
|
||||
{%endif%}</div>
|
||||
{% if object.event_size != 2 %}
|
||||
<div class="card-header">Power {% include 'partials/event_size.html' with object=object.event.riskassessment %}</div>
|
||||
{% if object.event.riskassessment.event_size != 2 %}
|
||||
<div class="card-body">
|
||||
{% if object.event_size == 1 %}
|
||||
{% if object.event.riskassessment.event_size == 1 %}
|
||||
<dl class="row">
|
||||
<dt class="col-10">{{ object|help_text:'source_rcd'|safe }}</dt>
|
||||
<dd class="col-2">
|
||||
|
||||
@@ -29,36 +29,7 @@
|
||||
{% include 'partials/datetime-fix.html' %}
|
||||
|
||||
<script>
|
||||
const matches = window.matchMedia("(prefers-reduced-motion: reduce)").matches || window.matchMedia("(update: slow)").matches;
|
||||
$(document).ready(function () {
|
||||
dur = matches ? 0 : 500;
|
||||
{% if not object.pk %}
|
||||
$('.form-hide').slideUp(dur);
|
||||
{% else %}
|
||||
$('#size-selector button[data-event-size={{object.event_size}}]').addClass('active');
|
||||
for(i = 0; i < 3; i++) {
|
||||
if(i == {{object.event_size}}) {
|
||||
$('#size-{{object.event_size}}').slideDown(dur);
|
||||
}
|
||||
else {
|
||||
$('#size-' + i).slideUp(dur);
|
||||
}
|
||||
}
|
||||
{% endif %}
|
||||
$('#size-selector button').on('click', function () {
|
||||
$('#{{form.event_size.auto_id}}').val($(this).data('event-size'))
|
||||
$(this).toggleClass('active');
|
||||
$('#size-selector button').not(this).removeClass('active');
|
||||
$('#size-' + $(this).data('event-size')).slideDown(dur);
|
||||
for(i = 0; i < 3; i++) {
|
||||
if(i == $(this).data('event-size')) {
|
||||
$('#size-' + $(this).data('event-size')).slideDown(dur);
|
||||
}
|
||||
else {
|
||||
$('#size-' + i).slideUp(dur);
|
||||
}
|
||||
}
|
||||
});
|
||||
$('button[data-action=add]').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
var target = $($(this).attr('data-target'));
|
||||
@@ -116,6 +87,8 @@
|
||||
<dd class="col-8">{{ event.name }}</dd>
|
||||
<dt class="col-4">Client</dt>
|
||||
<dd class="col-8">{{ event.person }}</dd>
|
||||
<dt class="col-4">Event Size</dt>
|
||||
<dd class="col-8">{% include 'partials/event_size.html' with object=event.riskassessment %}</dd>
|
||||
</dl>
|
||||
<div class="form-group form-row">
|
||||
<label for="{{ form.date.id_for_label }}"
|
||||
@@ -263,22 +236,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3">
|
||||
{% if event.riskassessment.event_size == 0 %}
|
||||
<div class="row my-3" id="size-0">
|
||||
<div class="col-12">
|
||||
<div class="card text-center">
|
||||
<div class="card-header">Event Size</div>
|
||||
<div class="card-body" id="size-selector">
|
||||
{% render_field form.event_size style="display: none;" %}
|
||||
<button type="button" class="btn btn-success" data-event-size="0" style="width: 32%">Small</button>
|
||||
<button type="button" class="btn btn-warning" data-event-size="1" style="width: 32%">Medium</button>
|
||||
<button type="button" class="btn btn-danger" data-event-size="2" style="width: 32%">Large</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3 form-hide" id="size-0">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card border-success">
|
||||
<div class="card-header">Electrical Checks <small>for ‘Small’ TEC Events <6kVA (aprox. 26A)</small></div>
|
||||
<div class="card-body">
|
||||
{% include 'partials/checklist_checkbox.html' with formitem=form.rcds %}
|
||||
@@ -289,9 +250,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3 form-hide" id="size-1">
|
||||
{% elif event.riskassessment.event_size == 1 %}
|
||||
<div class="row my-3" id="size-1">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card border-warning">
|
||||
<div class="card-header">Electrical Checks <small>for ‘Medium’ TEC Events </small></div>
|
||||
<div class="card-body">
|
||||
{% include 'partials/checklist_checkbox.html' with formitem=form.source_rcd %}
|
||||
@@ -383,9 +345,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3 form-hide" id="size-2">
|
||||
{% else %}
|
||||
<div class="row my-3" id="size-2">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card border-danger">
|
||||
<div class="card-header">Electrical Checks <small>for ‘Large’ TEC Events</small></div>
|
||||
<div class="card-body">
|
||||
<p>Outside the scope of this assessment. <strong>I really hope you checked with a supervisor...</strong></p>
|
||||
@@ -393,6 +356,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mt-3">
|
||||
<div class="col-sm-12 text-right">
|
||||
{% button 'submit' %}
|
||||
|
||||
7
RIGS/templates/partials/event_size.html
Normal file
7
RIGS/templates/partials/event_size.html
Normal file
@@ -0,0 +1,7 @@
|
||||
{% if object.event_size == 2 %}
|
||||
<span class="badge badge-danger p-2 my-3">Large Event</span>
|
||||
{% elif object.event_size == 1 %}
|
||||
<span class="badge badge-warning p-2 my-3">Medium Event</span>
|
||||
{%else%}
|
||||
<span class="badge badge-success p-2 my-3">Small Event</span>
|
||||
{%endif%}
|
||||
@@ -40,12 +40,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-default mb-3">
|
||||
<div class="card-header">Power {% if object.event_size == 2 %}
|
||||
<span class="badge badge-danger p-2 my-3">Large Event</span>
|
||||
{% elif object.event_size == 1 %}
|
||||
<span class="badge badge-warning p-2 my-3">Medium Event</span>
|
||||
{%else%}<span class="badge badge-success p-2 my-3">Small Event</span>
|
||||
{%endif%}</div>
|
||||
<div class="card-header">Power {% include 'partials/event_size.html' %}</div>
|
||||
<div class="card-body">
|
||||
<dl class="row">
|
||||
<dt class="col-sm-6">{{ object|help_text:'big_power' }}</dt>
|
||||
|
||||
@@ -9,7 +9,6 @@ from django.shortcuts import get_object_or_404
|
||||
from django.core import serializers
|
||||
from django.conf import settings
|
||||
import simplejson
|
||||
from django.contrib import messages
|
||||
import datetime
|
||||
import pytz
|
||||
import operator
|
||||
|
||||
Reference in New Issue
Block a user