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)) | 
