diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-04-08 18:06:26 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:20 +0100 |
commit | 9be03de7917bb321119641b9d0063cd060d9b3c1 (patch) | |
tree | 47c2df9adb1820c3993f1e50743dafcf86262e15 /archaeological_warehouse/views.py | |
parent | b2bb294b82a968b899a852f4fa64495e9cc2984f (diff) | |
download | Ishtar-9be03de7917bb321119641b9d0063cd060d9b3c1.tar.bz2 Ishtar-9be03de7917bb321119641b9d0063cd060d9b3c1.zip |
New container management - merge action
Diffstat (limited to 'archaeological_warehouse/views.py')
-rw-r--r-- | archaeological_warehouse/views.py | 97 |
1 files changed, 58 insertions, 39 deletions
diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 29f33dc04..cb74b49f9 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -21,21 +21,19 @@ import json from django.core.urlresolvers import reverse from django.db.models import Q +from django.views.generic.edit import FormView from django.http import HttpResponse, Http404, HttpResponseRedirect from django.shortcuts import redirect from ishtar_common.utils import ugettext_lazy as _ from archaeological_warehouse import models +from archaeological_warehouse import forms -from archaeological_warehouse.forms import WarehouseForm, ContainerForm, \ - ContainerFormSelection, BasePackagingForm, WarehouseFormSelection, \ - WarehouseModifyForm, SelectedDivisionFormset, WarehouseDeletionForm, \ - MainContainerFormSelection, ContainerModifyForm, LocalisationForm, \ - ContainerDeletionForm, ContainerSelect, WarehouseSelect, \ - MainContainerFormMultiSelection, WarehouseFormMultiSelection from ishtar_common.forms import FinalForm -from ishtar_common.views import QABaseLockView, wizard_is_available +from ishtar_common.views import QABaseLockView, wizard_is_available, \ + merge_action, ManualMergeMixin, ManualMergeItemsMixin, IshtarMixin, \ + LoginRequiredMixin from ishtar_common.views_item import get_item, show_item, new_qa_item from archaeological_finds.views import treatment_add @@ -44,18 +42,17 @@ from archaeological_warehouse.wizards import PackagingWizard, WarehouseSearch, \ ContainerSearch, ContainerWizard, ContainerModificationWizard, \ ContainerDeletionWizard -from ishtar_common.utils import put_session_message get_container = get_item(models.Container, 'get_container', 'container', - search_form=ContainerSelect) + search_form=forms.ContainerSelect) show_container = show_item(models.Container, 'container') get_warehouse = get_item(models.Warehouse, 'get_warehouse', 'warehouse', - search_form=WarehouseSelect) + search_form=forms.WarehouseSelect) show_warehouse = show_item(models.Warehouse, 'warehouse') -new_warehouse = new_qa_item(models.Warehouse, WarehouseForm) -new_container = new_qa_item(models.Container, ContainerForm) +new_warehouse = new_qa_item(models.Warehouse, forms.WarehouseForm) +new_container = new_qa_item(models.Container, forms.ContainerForm) def autocomplete_warehouse(request): @@ -115,36 +112,36 @@ def autocomplete_container(request): return HttpResponse(data, content_type='text/plain') warehouse_packaging_wizard = PackagingWizard.as_view([ # AFAC - ('seleccontainer-packaging', ContainerFormSelection), - ('base-packaging', BasePackagingForm), + ('seleccontainer-packaging', forms.ContainerFormSelection), + ('base-packaging', forms.BasePackagingForm), ('final-packaging', FinalForm)], - label=_(u"Packaging"), + label=_("Packaging"), url_name='warehouse_packaging',) warehouse_search_wizard = WarehouseSearch.as_view([ - ('selec-warehouse_search', WarehouseFormSelection)], - label=_(u"Warehouse search"), + ('selec-warehouse_search', forms.WarehouseFormSelection)], + label=_("Warehouse search"), url_name='warehouse_search', ) warehouse_creation_steps = [ - ("warehouse-warehouse_creation", WarehouseForm), - ('divisions-warehouse_creation', SelectedDivisionFormset), + ("warehouse-warehouse_creation", forms.WarehouseForm), + ('divisions-warehouse_creation', forms.SelectedDivisionFormset), ('final-warehouse_creation', FinalForm)] warehouse_creation_wizard = WarehouseWizard.as_view( warehouse_creation_steps, - label=_(u"Warehouse creation"), + label=_("Warehouse creation"), url_name='warehouse_creation', ) warehouse_modification_wizard = WarehouseModificationWizard.as_view([ - ('selec-warehouse_modification', WarehouseFormSelection), - ("warehouse-warehouse_modification", WarehouseModifyForm), - ('divisions-warehouse_modification', SelectedDivisionFormset), + ('selec-warehouse_modification', forms.WarehouseFormSelection), + ("warehouse-warehouse_modification", forms.WarehouseModifyForm), + ('divisions-warehouse_modification', forms.SelectedDivisionFormset), ('final-warehouse_modification', FinalForm)], - label=_(u"Warehouse modification"), + label=_("Warehouse modification"), url_name='warehouse_modification', ) @@ -161,9 +158,9 @@ def warehouse_modify(request, pk): warehouse_deletion_wizard = WarehouseDeletionWizard.as_view([ - ('selec-warehouse_deletion', WarehouseFormMultiSelection), - ('final-warehouse_deletion', WarehouseDeletionForm)], - label=_(u"Warehouse deletion"), + ('selec-warehouse_deletion', forms.WarehouseFormMultiSelection), + ('final-warehouse_deletion', forms.WarehouseDeletionForm)], + label=_("Warehouse deletion"), url_name='warehouse_deletion',) @@ -184,28 +181,28 @@ class QAWarehouseLockView(QABaseLockView): container_search_wizard = ContainerSearch.as_view([ - ('selec-container_search', MainContainerFormSelection)], - label=_(u"Container search"), + ('selec-container_search', forms.MainContainerFormSelection)], + label=_("Container search"), url_name='container_search', ) container_creation_steps = [ - ('container-container_creation', ContainerForm), - ('localisation-container_creation', LocalisationForm), + ('container-container_creation', forms.ContainerForm), + ('localisation-container_creation', forms.LocalisationForm), ('final-container_creation', FinalForm)] container_creation_wizard = ContainerWizard.as_view( container_creation_steps, - label=_(u"Container creation"), + label=_("Container creation"), url_name='container_creation', ) container_modification_wizard = ContainerModificationWizard.as_view([ - ('selec-container_modification', MainContainerFormSelection), - ('container-container_modification', ContainerModifyForm), - ('localisation-container_modification', LocalisationForm), + ('selec-container_modification', forms.MainContainerFormSelection), + ('container-container_modification', forms.ContainerModifyForm), + ('localisation-container_modification', forms.LocalisationForm), ('final-container_modification', FinalForm)], - label=_(u"Container modification"), + label=_("Container modification"), url_name='container_modification', ) @@ -222,9 +219,9 @@ def container_modify(request, pk): container_deletion_wizard = ContainerDeletionWizard.as_view([ - ('selec-container_deletion', MainContainerFormMultiSelection), - ('final-container_deletion', ContainerDeletionForm)], - label=_(u"Container deletion"), + ('selec-container_deletion', forms.MainContainerFormMultiSelection), + ('final-container_deletion', forms.ContainerDeletionForm)], + label=_("Container deletion"), url_name='container_deletion',) @@ -255,6 +252,28 @@ warehouse_packaging_wizard = ItemSourceWizard.as_view([ """ +container_merge = merge_action(models.Container, forms.MergeContainerForm, + 'container', name_key="reference") + + +class ContainerManualMerge(ManualMergeMixin, IshtarMixin, LoginRequiredMixin, + FormView): + form_class = forms.ContainerMergeFormSelection + template_name = 'ishtar/form.html' + page_name = _("Merge containers") + current_url = 'container-manual-merge' + redir_url = 'container_manual_merge_items' + + +class ContainerManualMergeItems(ManualMergeItemsMixin, IshtarMixin, + LoginRequiredMixin, FormView): + form_class = forms.ContainerMergeIntoForm + template_name = 'ishtar/form.html' + page_name = _("Select the main container") + current_url = 'container-manual-merge-items' + item_type = 'container' + + class QAContainerLockView(QABaseLockView): model = models.Container base_url = "container-qa-lock" |