mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-18 05:52:15 +00:00
Fix population of initial venue values for EC/PT
This commit is contained in:
@@ -190,15 +190,11 @@ class EventRiskAssessmentForm(forms.ModelForm):
|
||||
class EventChecklistForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance.event.venue:
|
||||
self.fields['venue'].initial = self.instance.event.venue
|
||||
self.fields['date'].widget.format = '%Y-%m-%d'
|
||||
for name, field in self.fields.items():
|
||||
if field.__class__ == forms.NullBooleanField:
|
||||
# Only display yes/no to user, the 'none' is only ever set in the background
|
||||
field.widget = forms.CheckboxInput()
|
||||
# Parsed from incoming form data by clean, then saved into models when the form is saved
|
||||
items = {}
|
||||
|
||||
related_models = {
|
||||
'venue': models.Venue,
|
||||
@@ -213,15 +209,16 @@ class EventChecklistForm(forms.ModelForm):
|
||||
class PowerTestRecordForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance.event.venue:
|
||||
self.fields['venue'].initial = self.instance.event.venue
|
||||
if self.instance.event.riskassessment.power_mic:
|
||||
self.fields['power_mic'].initial = self.instance.event.riskassessment.power_mic
|
||||
for name, field in self.fields.items():
|
||||
if field.__class__ == forms.NullBooleanField:
|
||||
# Only display yes/no to user, the 'none' is only ever set in the background
|
||||
field.widget = forms.CheckboxInput()
|
||||
|
||||
related_models = {
|
||||
'venue': models.Venue,
|
||||
'power_mic': models.Profile,
|
||||
}
|
||||
|
||||
class Meta:
|
||||
model = models.PowerTestRecord
|
||||
fields = '__all__'
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
<div class="col-sm-9 col-md-7 col-lg-8">
|
||||
<select id="{{ form.venue.id_for_label }}" name="{{ form.venue.name }}" class="selectpicker" data-live-search="true" data-sourceurl="{% url 'api_secure' model='venue' %}">
|
||||
{% if venue %}
|
||||
<option value="{{form.venue.value}}" selected="selected" data-update_url="{% url 'venue_update' form.venue.value %}">{{ venue }}</option>
|
||||
<option value="{{venue.value}}" selected="selected" data-update_url="{% url 'venue_update' venue.value %}">{{ venue }}</option>
|
||||
{% endif %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -13,19 +13,12 @@ from django.shortcuts import redirect
|
||||
|
||||
|
||||
class HSCreateView(generic.CreateView):
|
||||
def get_form(self, **kwargs):
|
||||
form = super().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().get_context_data(**kwargs)
|
||||
epk = self.kwargs.get('pk')
|
||||
event = models.Event.objects.get(pk=epk)
|
||||
event = models.Event.objects.get(pk=self.kwargs.get('pk'))
|
||||
context['event'] = event
|
||||
context['page_title'] = f'Create {self.model.__name__} for Event {event.display_id}'
|
||||
get_related(context['form'], context)
|
||||
return context
|
||||
|
||||
|
||||
@@ -43,7 +36,6 @@ class MarkReviewed(generic.RedirectView):
|
||||
class EventRiskAssessmentCreate(HSCreateView):
|
||||
model = models.RiskAssessment
|
||||
template_name = 'hs/risk_assessment_form.html'
|
||||
form_class = forms.EventRiskAssessmentForm
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
epk = kwargs.get('pk')
|
||||
@@ -55,6 +47,8 @@ class EventRiskAssessmentCreate(HSCreateView):
|
||||
if ra is not None:
|
||||
return HttpResponseRedirect(reverse('ra_edit', kwargs={'pk': ra.pk}))
|
||||
|
||||
form = forms.EventRiskAssessmentForm(initial={'venue': "66"})
|
||||
|
||||
return super(EventRiskAssessmentCreate, self).get(self)
|
||||
|
||||
def get_success_url(self):
|
||||
@@ -136,19 +130,22 @@ class EventChecklistCreate(HSCreateView):
|
||||
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, f'A Risk Assessment must exist prior to creating any Event Checklists for {event}! Please create one now.')
|
||||
return HttpResponseRedirect(reverse('event_ra', kwargs={'pk': epk}))
|
||||
|
||||
return super(EventChecklistCreate, self).get(self)
|
||||
return super().get(self)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('ec_detail', kwargs={'pk': self.object.pk})
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
if context['event'].venue:
|
||||
context['venue'] = context['event'].venue
|
||||
return context
|
||||
|
||||
|
||||
class PowerTestDetail(generic.DetailView):
|
||||
model = models.PowerTestRecord
|
||||
@@ -191,7 +188,6 @@ class PowerTestCreate(HSCreateView):
|
||||
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()
|
||||
|
||||
@@ -204,6 +200,14 @@ class PowerTestCreate(HSCreateView):
|
||||
def get_success_url(self):
|
||||
return reverse('pt_detail', kwargs={'pk': self.object.pk})
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
if context['event'].venue:
|
||||
context['venue'] = context['event'].venue
|
||||
if context['event'].riskassessment.power_mic:
|
||||
context['power_mic'] = context['event'].riskassessment.power_mic
|
||||
return context
|
||||
|
||||
|
||||
class HSList(generic.ListView):
|
||||
paginate_by = 20
|
||||
|
||||
Reference in New Issue
Block a user