diff --git a/RIGS/ical.py b/RIGS/ical.py index bd3dfcba..3940390b 100644 --- a/RIGS/ical.py +++ b/RIGS/ical.py @@ -102,7 +102,7 @@ class CalendarICS(ICalFeed): return item.earliest_time def item_end_datetime(self, item): - if type(item.latest_time) == datetime.date: # Ical end_datetime is non-inclusive, so add a day + if isinstance(item.latest_time, datetime.date): # Ical end_datetime is non-inclusive, so add a day return item.latest_time + datetime.timedelta(days=1) return item.latest_time diff --git a/RIGS/migrations/0041_auto_20200528_1751.py b/RIGS/migrations/0041_auto_20200528_2143.py similarity index 79% rename from RIGS/migrations/0041_auto_20200528_1751.py rename to RIGS/migrations/0041_auto_20200528_2143.py index 7b60d9f7..c4c98831 100644 --- a/RIGS/migrations/0041_auto_20200528_1751.py +++ b/RIGS/migrations/0041_auto_20200528_2143.py @@ -1,4 +1,4 @@ -# Generated by Django 3.0.3 on 2020-05-28 16:51 +# Generated by Django 3.0.3 on 2020-05-28 20:43 from django.conf import settings from django.db import migrations, models @@ -20,8 +20,6 @@ class Migration(migrations.Migration): name='RiskAssessment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('created', models.DateTimeField(blank=True, null=True)), - ('last_edited', models.DateTimeField(blank=True, null=True)), ('nonstandard_equipment', models.BooleanField(default=False)), ('nonstandard_use', models.BooleanField(default=False)), ('contractors', models.BooleanField(default=False)), @@ -45,13 +43,8 @@ class Migration(migrations.Migration): ('special_structures', models.BooleanField(default=False)), ('persons_responsible_structures', models.TextField(blank=True, null=True)), ('suspended_structures', models.BooleanField(default=False)), - ('completed_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='completer', to=settings.AUTH_USER_MODEL, verbose_name='Completed By')), + ('event', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='RIGS.Event')), ('power_mic', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='power_mic', to=settings.AUTH_USER_MODEL, verbose_name='Power MIC')), ], ), - migrations.AddField( - model_name='event', - name='risk_assessment', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='RIGS.RiskAssessment'), - ), ] diff --git a/RIGS/models.py b/RIGS/models.py index 61d31fef..c730ef1f 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -325,10 +325,7 @@ class Event(models.Model, RevisionMixin): auth_request_by = models.ForeignKey('Profile', null=True, blank=True, on_delete=models.CASCADE) auth_request_at = models.DateTimeField(null=True, blank=True) auth_request_to = models.EmailField(null=True, blank=True) - - # Risk assessment info - risk_assessment = models.ForeignKey('RiskAssessment', null=True, blank=True, on_delete=models.CASCADE) - + # Calculated values """ EX Vat @@ -574,11 +571,7 @@ class Payment(models.Model): @reversion.register class RiskAssessment(models.Model): - completed_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='completer', blank=True, null=True, - verbose_name="Completed By", on_delete=models.CASCADE) - created = models.DateTimeField(blank=True, null=True) - last_edited = models.DateTimeField(blank=True, null=True) - + event = models.OneToOneField('Event', on_delete=models.CASCADE) # General nonstandard_equipment = models.BooleanField(default=False) nonstandard_use = models.BooleanField(default=False) @@ -586,21 +579,21 @@ class RiskAssessment(models.Model): other_companies = models.BooleanField(default=False) crew_fatigue = models.BooleanField(default=False) general_notes = models.TextField(blank=True, null=True) - + # Power big_power = models.BooleanField(default=False) power_mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='power_mic', blank=True, null=True, - verbose_name="Power MIC", on_delete=models.CASCADE) + verbose_name="Power MIC", on_delete=models.CASCADE) generators = models.BooleanField(default=False) other_companies_power = models.BooleanField(default=False) nonstandard_equipment_power = models.BooleanField(default=False) multiple_electrical_environments = models.BooleanField(default=False) power_notes = models.TextField(blank=True, null=True) - + # Sound noise_monitoring = models.BooleanField(default=False) sound_notes = models.TextField(blank=True, null=True) - + # Site known_venue = models.BooleanField(default=False) safe_loading = models.BooleanField(default=False) @@ -608,10 +601,10 @@ class RiskAssessment(models.Model): area_outside_of_control = models.BooleanField(default=False) barrier_required = models.BooleanField(default=False) nonstandard_emergency_procedure = models.BooleanField(default=False) - + # Structures special_structures = models.BooleanField(default=False) persons_responsible_structures = models.TextField(blank=True, null=True) suspended_structures = models.BooleanField(default=False) - + # Blimey that was a lot of options diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index 17162fc5..ed0839ef 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -92,25 +92,17 @@ class EventRADetail(generic.DetailView): 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) - - ra.event = event - - if created: - ra.created = timezone.now() - return ra - + + class EventRAEdit(generic.UpdateView): model = models.RiskAssessment template_name = 'risk_assessment_form.html' form_class = forms.EventRiskAssessmentForm - + def get_success_url(self): - ra = self.get_object() - ra.completed_by = self.request.user - ra.last_edited = timezone.now() - ra.save() - return super().get_success_url() + return reverse_lazy('event_ra', kwargs={'pk': self.object.event.pk }) + class EventCreate(generic.CreateView): model = models.Event diff --git a/RIGS/templates/risk_assessment_detail.html b/RIGS/templates/risk_assessment_detail.html index bd80d6dc..2066591e 100644 --- a/RIGS/templates/risk_assessment_detail.html +++ b/RIGS/templates/risk_assessment_detail.html @@ -5,7 +5,8 @@