summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-03-24 17:48:18 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-03-24 17:48:55 +0100
commitdafc097282ea0138f8bd7c0e8a705bd18c90b5df (patch)
treebaf65f96b3ab499cf60cb1d7c134ac8c8edd0d3e
parentefd503d99267332b49011d1127d1819592f64101 (diff)
downloadIshtar-dafc097282ea0138f8bd7c0e8a705bd18c90b5df.tar.bz2
Ishtar-dafc097282ea0138f8bd7c0e8a705bd18c90b5df.zip
Warehouse: divisions forms is readonly if containers are localised in this warehouse (refs #3563)
-rw-r--r--archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html4
-rw-r--r--archaeological_warehouse/templates/ishtar/wizard/wizard_warehouse_divisions.html11
-rw-r--r--archaeological_warehouse/wizards.py14
3 files changed, 28 insertions, 1 deletions
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 %}
-<p class='warning'>{% trans "No division set for this warehouse. Define at least one division to localise containers in this warehouse." %}<br/>
+<p class="alert">
+ <i class="fa fa-exclamation-triangle"></i>
+ {% trans "No division set for this warehouse. Define at least one division to localise containers in this warehouse." %}<br/>
{{wizard.form.warehouse}}
<a href="{% url 'warehouse_modify' wizard.form.warehouse.pk %}">
<span class="fa-stack fa-lg">
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 %}
+<p class="alert">
+ <i class="fa fa-exclamation-triangle"></i>
+ {% trans "Containers with localisation are associated to this warehouse. You cannot change divisions." %}<br/>
+</p>
+{% 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):