diff --git a/training/forms.py b/training/forms.py index c6833764..3897ff54 100644 --- a/training/forms.py +++ b/training/forms.py @@ -12,7 +12,8 @@ class QualificationForm(forms.ModelForm): def __init__(self, *args, **kwargs): pk = kwargs.pop('pk', None) super().__init__(*args, **kwargs) - self.fields['trainee'].initial = Profile.objects.get(pk=pk) + if pk: + self.fields['trainee'].initial = Profile.objects.get(pk=pk) self.fields['date'].widget.format = '%Y-%m-%d' def clean_date(self): diff --git a/training/templates/trainee_item_list.html b/training/templates/trainee_item_list.html index 2b829189..b43ace80 100644 --- a/training/templates/trainee_item_list.html +++ b/training/templates/trainee_item_list.html @@ -33,7 +33,7 @@ {{ object.supervisor }} {{ object.notes }} {% if request.user.is_supervisor or perms.training.change_trainingitemqualification %} - {% button 'edit' 'edit_qualification' trainee.pk %} + {% button 'edit' 'edit_qualification' object.pk %} {% endif %} {% empty %} diff --git a/training/urls.py b/training/urls.py index 479cc16a..2ebc1049 100644 --- a/training/urls.py +++ b/training/urls.py @@ -15,7 +15,7 @@ urlpatterns = [ path('trainee//history', has_perm_or_supervisor('RIGS.view_profile')(VersionHistory.as_view()), name='trainee_history', kwargs={'model': models.Trainee, 'app': 'training'}), # Not picked up automatically because proxy model (I think) path('trainee//add_qualification/', has_perm_or_supervisor('training.add_trainingitemqualification')(views.AddQualification.as_view()), name='add_qualification'), - path('trainee//edit_qualification/', has_perm_or_supervisor('training.change_trainingitemqualification')(views.EditQualification.as_view()), + path('trainee/edit_qualification//', has_perm_or_supervisor('training.change_trainingitemqualification')(views.EditQualification.as_view()), name='edit_qualification'), path('levels/', login_required(views.LevelList.as_view()), name='level_list'), diff --git a/training/views.py b/training/views.py index 95765d08..a75679d6 100644 --- a/training/views.py +++ b/training/views.py @@ -136,15 +136,9 @@ class EditQualification(generic.UpdateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["depths"] = models.TrainingItemQualification.CHOICES - trainee = models.Trainee.objects.get(pk=self.kwargs['pk']) - context['page_title'] = f"Edit Qualification {self.object} for {trainee}" + context['page_title'] = f"Edit Qualification {self.object} for {self.object.trainee}" return context - def get_form_kwargs(self): - kwargs = super().get_form_kwargs() - kwargs['pk'] = self.kwargs['pk'] - return kwargs - @transaction.atomic() @reversion.create_revision() def form_valid(self, form, *args, **kwargs):