diff --git a/training/forms.py b/training/forms.py index b7234797..e1a8ed5b 100644 --- a/training/forms.py +++ b/training/forms.py @@ -15,6 +15,10 @@ def validate_user_can_train_in(supervisor, item): class QualificationForm(forms.ModelForm): + related_models = { + 'item': models.TrainingItem + } + class Meta: model = models.TrainingItemQualification fields = '__all__' @@ -49,6 +53,10 @@ class QualificationForm(forms.ModelForm): class RequirementForm(forms.ModelForm): + related_models = { + 'item': models.TrainingItem + } + depth = forms.ChoiceField(choices=models.TrainingItemQualification.CHOICES) class Meta: diff --git a/training/templates/add_level_requirement.html b/training/templates/add_level_requirement.html index 3be60f10..e38d45c8 100644 --- a/training/templates/add_level_requirement.html +++ b/training/templates/add_level_requirement.html @@ -32,11 +32,7 @@ {% endif %}
{% csrf_token %} {% render_field form.level|attr:'hidden' value=form.level.initial %} -
- - -
+ {% include 'partials/item_field.html' %}
{% render_field form.depth|add_class:'form-control col-sm'|attr:'required' %} diff --git a/training/templates/edit_training_record.html b/training/templates/edit_training_record.html index 4536c133..5d7c8e6d 100644 --- a/training/templates/edit_training_record.html +++ b/training/templates/edit_training_record.html @@ -28,14 +28,7 @@ {% include 'form_errors.html' %} {% csrf_token %} {% render_field form.trainee|attr:'hidden' value=form.trainee.initial %} -
- - -
+ {% include 'partials/item_field.html' %}
{% render_field form.depth|add_class:'form-control custom-select col-sm-8' %} diff --git a/training/templates/partials/item_field.html b/training/templates/partials/item_field.html new file mode 100644 index 00000000..7e0a5a79 --- /dev/null +++ b/training/templates/partials/item_field.html @@ -0,0 +1,8 @@ +
+ + +
diff --git a/training/views.py b/training/views.py index 1f6b17e1..4b3ee26d 100644 --- a/training/views.py +++ b/training/views.py @@ -118,6 +118,7 @@ class AddQualification(generic.CreateView, ModalURLMixin): context['override'] = 'base_training.html' trainee = models.Trainee.objects.get(pk=self.kwargs['pk']) context['page_title'] = f"Add Qualification for {trainee}" + get_related(context['form'], context) return context def get_success_url(self): @@ -138,6 +139,7 @@ class EditQualification(generic.UpdateView): context = super().get_context_data(**kwargs) context["depths"] = models.TrainingItemQualification.CHOICES context['page_title'] = f"Edit Qualification {self.object} for {self.object.trainee}" + get_related(context['form'], context) return context @transaction.atomic() @@ -156,6 +158,7 @@ class AddLevelRequirement(generic.CreateView, ModalURLMixin): context = super().get_context_data(**kwargs) level = models.TrainingLevel.objects.get(pk=self.kwargs['pk']) context["page_title"] = f"Add Requirements to Training Level {level}" + get_related(context['form'], context) return context def get_form_kwargs(self):