diff options
Diffstat (limited to 'archaeological_warehouse/wizards.py')
-rw-r--r-- | archaeological_warehouse/wizards.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index 0adb06f75..571e56b1b 100644 --- a/archaeological_warehouse/wizards.py +++ b/archaeological_warehouse/wizards.py @@ -64,6 +64,20 @@ class WarehouseModificationWizard(Wizard): model = models.Warehouse modification = True wizard_done_window = reverse_lazy('show-warehouse') + wizard_templates = { + 'divisions-warehouse_modification': + 'ishtar/wizard/wizard_warehouse_divisions.html', + } + + def get_form_kwargs(self, step=None): + kwargs = super(WarehouseModificationWizard, self).get_form_kwargs(step) + if step == "divisions-warehouse_modification": + current_warehouse = self.get_current_object() + q = models.ContainerLocalisation.objects.filter( + division__warehouse=current_warehouse) + if q.count(): + kwargs['readonly'] = True + return kwargs class WarehouseDeletionWizard(DeletionWizard): @@ -73,10 +87,13 @@ class WarehouseDeletionWizard(DeletionWizard): class ContainerWizard(Wizard): model = models.Container wizard_templates = { - 'localisation-container_localisation': + 'localisation-container_creation': + 'ishtar/wizard/wizard_containerlocalisation.html', + 'localisation-container_modification': 'ishtar/wizard/wizard_containerlocalisation.html', } ignore_init_steps = ['localisation'] + wizard_done_window = reverse_lazy('show-container') def get_form_kwargs(self, step=None): kwargs = super(ContainerWizard, self).get_form_kwargs(step) @@ -98,6 +115,7 @@ class ContainerWizard(Wizard): Save the localisation """ super(ContainerWizard, self).done(form_list) + dct = {} for idx, form in enumerate(form_list): if not form.is_valid(): return self.render(form) @@ -119,8 +137,12 @@ class ContainerWizard(Wizard): ) localisation.reference = form.cleaned_data[div_name] localisation.save() + dct = {'item': container} + self.current_object = container + # force evaluation of lazy urls + dct['wizard_done_window'] = unicode(self.wizard_done_window) return render_to_response( - self.wizard_done_template, {}, + self.wizard_done_template, dct, context_instance=RequestContext(self.request)) |