mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Refactor RA creation stuff, again
This commit is contained in:
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -1,6 +1,5 @@
|
||||
{% load help_text from filters %}
|
||||
<label for="{{ formitem.id_for_label }}"
|
||||
class="col-sm-8 control-label">{{ object|help_text:formitem.name|safe }}</label>
|
||||
class="col-sm-8 control-label">{{ formitem.help_text|safe }}</label>
|
||||
<div class="col-4 pb-3">
|
||||
{% for radio in formitem %}
|
||||
<div class="custom-control custom-radio">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="row my-3 py-3">
|
||||
<div class="col-sm-12">
|
||||
<h3>Risk Assessment for Event N{{ object.event.pk|stringformat:"05d" }} {{ object.event.name }}</h3>
|
||||
<a href="{% url 'event_ra_edit' object.pk %}" class="btn btn-warning my-3"><span class="fas fa-edit"></span> <span
|
||||
<a href="{% url 'ra_edit' object.pk %}" class="btn btn-warning my-3"><span class="fas fa-edit"></span> <span
|
||||
class="hidden-xs">Edit</span></a>
|
||||
<div class="card card-default mb-3">
|
||||
<div class="card-header">General</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{% load static %}
|
||||
{% load help_text from filters %}
|
||||
|
||||
{% block title %}{% if object.pk %}Edit{% else %}Create{% endif %} Risk Assessment for Event N{{ event.pk|stringformat:"05d" }}{% endblock %}
|
||||
{% block title %}{% if edit %}Edit{% else %}Create{% endif %} Risk Assessment for Event N{{ event.pk|stringformat:"05d" }}{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{{ block.super }}
|
||||
@@ -29,8 +29,12 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="col-sm-offset-1 col-sm-10">
|
||||
<h3>{% if object.pk %}Edit{% else %}Create{% endif %} Risk Assessment for Event N{{ event.pk|stringformat:"05d" }}</h3>
|
||||
<form role="form" method="POST">
|
||||
<h3>{% if edit %}Edit{% else %}Create{% endif %} Risk Assessment for Event N{{ event.pk|stringformat:"05d" }}</h3>
|
||||
{% if edit %}
|
||||
<form method="POST" action="{% url 'ra_edit' pk=object.pk %}">
|
||||
{% else %}
|
||||
<form role="form" method="POST" action="{% url 'event_ra' pk=event.pk %}">
|
||||
{% endif %}
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th scope="col">Event</th>
|
||||
<th scope="col" class="text-truncate">{{ object_list.0|verbose_name:'nonstandard_equipment'|title }}</th>
|
||||
<th scope="col" class="">{{ object_list.0|verbose_name:'nonstandard_equipment'|title }}</th>
|
||||
<th scope="col">{{ object_list.0|verbose_name:'nonstandard_use'|title }}</th>
|
||||
<th scope="col">{{ object_list.0|verbose_name:'contractors'|title }}</th>
|
||||
<th scope="col">{{ object_list.0|verbose_name:'other_companies'|title }}</th>
|
||||
@@ -47,7 +47,7 @@
|
||||
<tbody>
|
||||
{% for object in object_list %}
|
||||
<tr>
|
||||
<th scope="row">{{ object.event }}</th>
|
||||
<th scope="row"><a href="{% url 'event_detail' object.event.pk %}">{{ object.event }}</a></th>
|
||||
<td class="{% if object.nonstandard_equipment%}bg-danger text-white{%endif%}">{{object.nonstandard_equipment|yesno|title}}</td>
|
||||
<td class="{% if object.nonstandard_use%}bg-danger text-white{%endif%}">{{object.nonstandard_use|yesno|title}}</td>
|
||||
<td class="{% if object.contractors%}bg-danger text-white{%endif%}">{{object.contractors|yesno|title}}</td>
|
||||
|
||||
@@ -9,13 +9,6 @@
|
||||
<div class="col-sm-12">
|
||||
<h1>Venue | {{ object.name }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 text-right">
|
||||
<div class="btn-group btn-page">
|
||||
<a href="{% url 'venue_update' object.pk %}" class="btn btn-default"><span
|
||||
class="fas fa-pencil"></span> Edit</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-sm-12">
|
||||
<div class="card card-info">
|
||||
@@ -46,8 +39,8 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card card-default">
|
||||
<div class="col-sm-12 py-3">
|
||||
<div class="card">
|
||||
<div class="card-header">Associated Events</div>
|
||||
<div class="card-body">
|
||||
{% with object.latest_events as events %}
|
||||
@@ -79,7 +72,7 @@
|
||||
<div class="col-sm-12 text-right">
|
||||
<div class="btn-group btn-page">
|
||||
<a href="{% url 'venue_detail' object.pk %}" class="btn btn-primary"><span
|
||||
class="fas fa-eye-open"></span> Open Page</a>
|
||||
class="fas fa-eye"></span> Open Page</a>
|
||||
<a href="{% url 'venue_update' object.pk %}" class="btn btn-warning"><span
|
||||
class="fas fa-edit"></span> Edit</a>
|
||||
</div>
|
||||
|
||||
@@ -93,10 +93,12 @@ urlpatterns = [
|
||||
permission_required_with_403('RIGS.view_event')(versioning.VersionHistory.as_view()),
|
||||
name='event_history', kwargs={'model': models.Event}),
|
||||
# Event H&S
|
||||
path('event/<int:pk>/ra/', permission_required_with_403('RIGS.change_event')(rigboard.EventRADetail.as_view()),
|
||||
path('event/<int:pk>/ra/', permission_required_with_403('RIGS.change_event')(rigboard.EventRiskAssessmentCreate.as_view()),
|
||||
name='event_ra'),
|
||||
path('event/ra/<int:pk>/edit/', permission_required_with_403('RIGS.change_event')(rigboard.EventRAEdit.as_view()),
|
||||
name='event_ra_edit'),
|
||||
path('event/ra/<int:pk>/', permission_required_with_403('RIGS.change_event')(rigboard.EventRiskAssessmentDetail.as_view()),
|
||||
name='ra_detail'),
|
||||
path('event/ra/<int:pk>/edit/', permission_required_with_403('RIGS.change_event')(rigboard.EventRiskAssessmentEdit.as_view()),
|
||||
name='ra_edit'),
|
||||
path('event/ra/<int:pk>/history/', permission_required_with_403('RIGS.change_event')(versioning.VersionHistory.as_view()),
|
||||
name='ra_history', kwargs={'model': models.RiskAssessment}),
|
||||
path('event/ra/list', permission_required_with_403('RIGS.change_event')(rigboard.EventRiskAssessmentList.as_view()),
|
||||
|
||||
@@ -180,6 +180,7 @@ class VenueCreate(generic.CreateView):
|
||||
|
||||
|
||||
class VenueUpdate(generic.UpdateView):
|
||||
template_name = 'venue_form.html'
|
||||
model = models.Venue
|
||||
fields = ['name', 'phone', 'email', 'address', 'notes', 'three_phase_available']
|
||||
|
||||
|
||||
Reference in New Issue
Block a user