summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/views.py')
-rw-r--r--archaeological_warehouse/views.py97
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"