mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Add ability to mark event checklists as Large Event
This just disables the checks to allow the rest of it to be filled out for large events, though I expect paper forms may still be used...
This commit is contained in:
23
RIGS/migrations/0040_auto_20200925_2141.py
Normal file
23
RIGS/migrations/0040_auto_20200925_2141.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.1 on 2020-09-25 20:41
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('RIGS', '0039_auto_20200915_0937'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='eventchecklist',
|
||||
name='medium_event',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='eventchecklist',
|
||||
name='event_size',
|
||||
field=models.IntegerField(choices=[(0, 'Small'), (1, 'Medium'), (2, 'Large')], default=0),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
@@ -680,6 +680,10 @@ class RiskAssessment(models.Model, RevisionMixin):
|
||||
|
||||
@reversion.register(follow=['vehicles', 'crew'])
|
||||
class EventChecklist(models.Model, RevisionMixin):
|
||||
SMALL = (0, 'Small')
|
||||
MEDIUM = (1, 'Medium')
|
||||
LARGE = (2, 'Large')
|
||||
SIZES = (SMALL, MEDIUM, LARGE)
|
||||
event = models.OneToOneField('Event', on_delete=models.CASCADE)
|
||||
|
||||
# General
|
||||
@@ -704,7 +708,7 @@ class EventChecklist(models.Model, RevisionMixin):
|
||||
earthing = models.BooleanField(help_text="Equipment appropriately earthed?<br><small>(truss, stage, generators etc)</small>")
|
||||
pat = models.BooleanField(help_text="All equipment in PAT period?")
|
||||
|
||||
medium_event = models.BooleanField()
|
||||
event_size = models.IntegerField(choices=SIZES)
|
||||
# Medium Electrical Checks
|
||||
source_rcd = models.BooleanField(blank=True, null=True, help_text="Source RCD protected?<br><small>(if cable is more than 3m long) </small>")
|
||||
labelling = models.BooleanField(blank=True, null=True, help_text="Appropriate and clear labelling on distribution and cabling?")
|
||||
@@ -753,10 +757,10 @@ class EventChecklist(models.Model, RevisionMixin):
|
||||
if self.earthing is None or self.pat is None:
|
||||
errdict['earthing'] = 'Fill out the electrical checks'
|
||||
|
||||
if not self.medium_event and (self.rcds is None or self.supply_test is None):
|
||||
if self.event_size == 0 and (self.rcds is None or self.supply_test is None):
|
||||
errdict['rcds'] = 'Fill out the small event electrical checks'
|
||||
|
||||
if self.medium_event:
|
||||
if self.event_size == 1:
|
||||
if self.source_rcd is None or self.labelling is None or self.all_rcds_tested is None or self.public_sockets_tested is None:
|
||||
errdict['source_rcd'] = 'Fill out the medium event electrical checks'
|
||||
|
||||
|
||||
@@ -92,9 +92,15 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="card card-default mb-3">
|
||||
<div class="card-header">Power {% if object.medium_event %}<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 {% 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-body">
|
||||
{% if object.medium_event %}
|
||||
{% if object.event_size == 1 %}
|
||||
<dl class="row">
|
||||
<dt class="col-10">{{ object|help_text:'source_rcd'|safe }}</dt>
|
||||
<dd class="col-2">
|
||||
@@ -220,6 +226,7 @@
|
||||
</dl>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 text-right">
|
||||
|
||||
@@ -32,31 +32,28 @@
|
||||
{% if not object.pk %}
|
||||
$('.form-hide').slideUp();
|
||||
{% else %}
|
||||
{% if object.medium_event %}
|
||||
$('#small-event').slideUp();
|
||||
$('#medium-event').slideDown();
|
||||
$('#size-selector button[data-event-size=1]').addClass('active');
|
||||
{% else %}
|
||||
$('#small-event').slideDown();
|
||||
$('#medium-event').slideUp();
|
||||
$('#size-selector button[data-event-size=0]').addClass('active');
|
||||
{% endif%}
|
||||
$('#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();
|
||||
}
|
||||
else {
|
||||
$('#size-' + i).slideUp();
|
||||
}
|
||||
}
|
||||
{% 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');
|
||||
if ($(this).data('event-size') == 1) {
|
||||
$('#{{form.medium_event.auto_id}}').prop('checked', true);
|
||||
$('#small-event').slideUp();
|
||||
$('#medium-event').slideDown();
|
||||
//$('#medium-event').find('select,input').attr('required', 'true');
|
||||
//$('#small-event').find('select,input').removeAttr('required');
|
||||
} else {
|
||||
$('#{{form.medium_event.auto_id}}').prop('checked', false);
|
||||
$('#small-event').slideDown();
|
||||
$('#medium-event').slideUp();
|
||||
//('#small-event').find('select,input').attr('required', 'true');
|
||||
//('#medium-event').find('select,input').removeAttr('required');
|
||||
$('#size-' + $(this).data('event-size')).slideDown();
|
||||
for(i = 0; i < 3; i++) {
|
||||
if(i == $(this).data('event-size')) {
|
||||
$('#size-' + $(this).data('event-size')).slideDown();
|
||||
}
|
||||
else {
|
||||
$('#size-' + i).slideUp();
|
||||
}
|
||||
}
|
||||
});
|
||||
$('button[data-action=add]').on('click', function (event) {
|
||||
@@ -238,14 +235,15 @@
|
||||
<div class="card">
|
||||
<div class="card-header">Event Size</div>
|
||||
<div class="card-body" id="size-selector">
|
||||
{% render_field form.medium_event style="display: none" %}
|
||||
{% render_field form.event_size style="display: none;" %}
|
||||
<button type="button" class="btn btn-success" data-event-size="0" style="width: 10rem;">Small</button>
|
||||
<button type="button" class="btn btn-warning" data-event-size="1" style="width: 10rem;">Medium</button>
|
||||
<button type="button" class="btn btn-danger" data-event-size="2" style="width: 10rem;">Large</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3 form-hide" id="small-event">
|
||||
<div class="row my-3 form-hide" id="size-0">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">Electrical Checks <small>for ‘Small’ TEC Events <6kVA (aprox. 26A)</small></div>
|
||||
@@ -258,7 +256,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3 form-hide" id="medium-event">
|
||||
<div class="row my-3 form-hide" id="size-1">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">Electrical Checks <small>for ‘Medium’ TEC Events </small></div>
|
||||
@@ -348,6 +346,16 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-3 form-hide" id="size-2">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">Electrical Checks <small>for ‘Large’ TEC Events</div>
|
||||
<div class="card-body">
|
||||
<p>Outside the scope of this assessment. Carry on.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-3">
|
||||
<div class="col-sm-12 text-right">
|
||||
<div class="btn-group">
|
||||
|
||||
Reference in New Issue
Block a user