From dafc097282ea0138f8bd7c0e8a705bd18c90b5df Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 24 Mar 2017 17:48:18 +0100 Subject: Warehouse: divisions forms is readonly if containers are localised in this warehouse (refs #3563) --- .../ishtar/wizard/wizard_containerlocalisation.html | 4 +++- .../ishtar/wizard/wizard_warehouse_divisions.html | 11 +++++++++++ archaeological_warehouse/wizards.py | 14 ++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 archaeological_warehouse/templates/ishtar/wizard/wizard_warehouse_divisions.html (limited to 'archaeological_warehouse') diff --git a/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html b/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html index 2e817ff41..41be02748 100644 --- a/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html +++ b/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html @@ -3,7 +3,9 @@ {% load url from future %} {% block form_head %} {% if not wizard.form.fields %} -

{% trans "No division set for this warehouse. Define at least one division to localise containers in this warehouse." %}
+

+ + {% trans "No division set for this warehouse. Define at least one division to localise containers in this warehouse." %}
{{wizard.form.warehouse}} diff --git a/archaeological_warehouse/templates/ishtar/wizard/wizard_warehouse_divisions.html b/archaeological_warehouse/templates/ishtar/wizard/wizard_warehouse_divisions.html new file mode 100644 index 000000000..83dbfc0fe --- /dev/null +++ b/archaeological_warehouse/templates/ishtar/wizard/wizard_warehouse_divisions.html @@ -0,0 +1,11 @@ +{% extends "ishtar/wizard/default_wizard.html" %} +{% load i18n %} +{% load url from future %} +{% block form_head %} +{% if wizard.form.readonly %} +

+ + {% trans "Containers with localisation are associated to this warehouse. You cannot change divisions." %}
+

+{% endif %} +{% endblock %} diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index 9ecc16b3f..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): -- cgit v1.2.3