summaryrefslogtreecommitdiff
path: root/archaeological_warehouse
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-23 22:15:34 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-23 22:15:34 +0100
commit7cd2e6de106151e27cd1720bbebfec0d679d88e5 (patch)
tree5ebd08808fbbc580392c11dc70a0ed29fef99480 /archaeological_warehouse
parenteaad97f909965da717d1db0da356c490f270859e (diff)
downloadIshtar-7cd2e6de106151e27cd1720bbebfec0d679d88e5.tar.bz2
Ishtar-7cd2e6de106151e27cd1720bbebfec0d679d88e5.zip
Container: Localisation form become modification form
Diffstat (limited to 'archaeological_warehouse')
-rw-r--r--archaeological_warehouse/forms.py8
-rw-r--r--archaeological_warehouse/ishtar_menu.py10
-rw-r--r--archaeological_warehouse/urls.py6
-rw-r--r--archaeological_warehouse/views.py13
-rw-r--r--archaeological_warehouse/wizards.py23
5 files changed, 37 insertions, 23 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index d51dcf1f4..846e7cb46 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -143,6 +143,8 @@ class WarehouseForm(ManageOldType, forms.Form):
class ContainerForm(ManageOldType, forms.Form):
form_label = _(u"Container")
+ associated_models = {'container_type': models.ContainerType,
+ 'location': models.Warehouse}
reference = forms.CharField(label=_(u"Ref."))
container_type = forms.ChoiceField(label=_(u"Container type"), choices=[])
location = forms.IntegerField(
@@ -203,6 +205,12 @@ ContainerFormSelection = get_form_selection(
_(u"You should select a container."), new=True,
new_message=_(u"Add a new container"))
+MainContainerFormSelection = get_form_selection(
+ 'ContainerFormSelection', _(u"Container search"), 'pk',
+ models.Container, ContainerSelect, 'get-container',
+ _(u"You should select a container.")
+)
+
class BasePackagingForm(SelectFindBasketForm):
form_label = _(u"Packaging")
diff --git a/archaeological_warehouse/ishtar_menu.py b/archaeological_warehouse/ishtar_menu.py
index 7f182d02b..6bc65c9c7 100644
--- a/archaeological_warehouse/ishtar_menu.py
+++ b/archaeological_warehouse/ishtar_menu.py
@@ -45,9 +45,13 @@ MENU_SECTIONS = [
MenuItem('warehouse_modification', _(u"Modification"),
model=models.Warehouse,
access_controls=['change_warehouse',]),
- MenuItem('container_localisation', _(u"Container localisation"),
- model=models.Warehouse,
- access_controls=['change_warehouse',]),
+ SectionItem(
+ 'containers', _(u"Containers"),
+ childs=[
+ MenuItem('container_modification', _(u"Modification"),
+ model=models.Warehouse,
+ access_controls=['change_warehouse',]),
+ ])
]))
]
"""
diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py
index 5c18200db..cb04d6cbc 100644
--- a/archaeological_warehouse/urls.py
+++ b/archaeological_warehouse/urls.py
@@ -57,8 +57,8 @@ urlpatterns += patterns(
check_rights(['change_warehouse'])(
views.warehouse_modification_wizard),
name='warehouse_modification'),
- url(r'^container_localisation/(?P<step>.+)?$',
+ url(r'^container_modification/(?P<step>.+)?$',
check_rights(['change_warehouse'])(
- views.container_localisation_wizard),
- name='container_localisation'),
+ views.container_modification_wizard),
+ name='container_modification'),
)
diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py
index 5366aa53b..ac81a9897 100644
--- a/archaeological_warehouse/views.py
+++ b/archaeological_warehouse/views.py
@@ -110,12 +110,13 @@ warehouse_modification_wizard = WarehouseModificationWizard.as_view([
)
-container_localisation_wizard = LocalisationWizard.as_view([
- ('seleccontainer-container_localisation', ContainerFormSelection),
- ('localisation-container_localisation', LocalisationForm),
- ('final-container_localisation', FinalForm)],
- label=_(u"Container localisation"),
- url_name='container_localisation',
+container_modification_wizard = ContainerModificationWizard.as_view([
+ ('selec-container_modification', MainContainerFormSelection),
+ ('container-container_modification', ContainerModifyForm),
+ ('localisation-container_modification', LocalisationForm),
+ ('final-container_modification', FinalForm)],
+ label=_(u"Container modification"),
+ url_name='container_modification',
)
"""
diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py
index bdb3959dc..4bdc150cc 100644
--- a/archaeological_warehouse/wizards.py
+++ b/archaeological_warehouse/wizards.py
@@ -66,18 +66,20 @@ class WarehouseModificationWizard(Wizard):
wizard_done_window = reverse_lazy('show-warehouse')
-class LocalisationWizard(Wizard):
+class ContainerWizard(Wizard):
+ model = models.Container
wizard_templates = {
'localisation-container_localisation':
'ishtar/wizard/wizard_containerlocalisation.html',
}
+ ignore_init_steps = ['localisation']
def get_form_kwargs(self, step=None):
- kwargs = super(LocalisationWizard, self).get_form_kwargs(step)
- if step == 'localisation-container_localisation':
+ kwargs = super(ContainerWizard, self).get_form_kwargs(step)
+ if step == 'localisation-' + self.url_name:
container = None
container_pk = self.session_get_value(
- 'seleccontainer-container_localisation', 'container')
+ 'selec-' + self.url_name, 'pk')
q = models.Container.objects.filter(pk=container_pk)
if q.count():
container = q.all()[0]
@@ -88,17 +90,13 @@ class LocalisationWizard(Wizard):
"""
Save the localisation
"""
+ super(ContainerWizard, self).done(form_list)
container = None
for idx, form in enumerate(form_list):
if not form.is_valid():
return self.render(form)
- if not idx: # container form
- try:
- container = models.Container.objects.get(
- pk=form.cleaned_data['container'])
- except models.Container.DoesNotExist:
- return self.render(form)
- elif idx == 1: # localisation form
+ container = self.get_current_object()
+ if idx == 2: # localisation form
for div_name in form.cleaned_data:
try:
division = models.WarehouseDivisionLink.objects.get(
@@ -117,3 +115,6 @@ class LocalisationWizard(Wizard):
return render_to_response(
self.wizard_done_template, {},
context_instance=RequestContext(self.request))
+
+class ContainerModificationWizard(ContainerWizard):
+ modification = True