diff options
Diffstat (limited to 'archaeological_warehouse/wizards.py')
-rw-r--r-- | archaeological_warehouse/wizards.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index 41c5c5945..03258f1e2 100644 --- a/archaeological_warehouse/wizards.py +++ b/archaeological_warehouse/wizards.py @@ -38,9 +38,18 @@ class ContainerSearch(SearchWizard): class PackagingWizard(TreatmentWizard): basket_step = 'base-packaging' + def get_form_initial(self, step, data=None): + initial = super(PackagingWizard, self).get_form_initial(step) + user = self.request.user + if step != 'base-packaging' or not getattr(user, 'ishtaruser', None) \ + or not user.ishtaruser.person: + return initial + initial['person'] = user.ishtaruser.person.pk + return initial + def save_model(self, dct, m2m, whole_associated_models, form_list, return_object): - dct = self.get_extra_model(dct, form_list) + dct = self.get_extra_model(dct, m2m, form_list) obj = self.get_current_saved_object() dct['location'] = dct['container'].location items = None @@ -51,6 +60,8 @@ class PackagingWizard(TreatmentWizard): items = dct.pop('basket') else: dct.pop('basket') + if 'treatment_type_list' in dct: + dct.pop('treatment_type_list') treatment = Treatment(**dct) extra_args_for_new = {"container": dct['container']} treatment.save(items=items, user=self.request.user, |