diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-12-25 11:29:47 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-12-25 11:29:47 +0100 |
commit | cd9e0a4be602877bde4f9811cadb422f72abad5b (patch) | |
tree | 42f9649632e7cb18b4faf337cd9e459e9edee9c7 | |
parent | f28e33bcf8c290d3ff2fab20c4d5728c847ff73b (diff) | |
download | Ishtar-cd9e0a4be602877bde4f9811cadb422f72abad5b.tar.bz2 Ishtar-cd9e0a4be602877bde4f9811cadb422f72abad5b.zip |
Manage container deletion (refs #3392)
-rw-r--r-- | archaeological_finds/models_treatments.py | 4 | ||||
-rw-r--r-- | archaeological_warehouse/forms.py | 7 | ||||
-rw-r--r-- | archaeological_warehouse/ishtar_menu.py | 6 | ||||
-rw-r--r-- | archaeological_warehouse/models.py | 2 | ||||
-rw-r--r-- | archaeological_warehouse/urls.py | 4 | ||||
-rw-r--r-- | archaeological_warehouse/views.py | 6 | ||||
-rw-r--r-- | archaeological_warehouse/wizards.py | 9 |
7 files changed, 31 insertions, 7 deletions
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 7f2e4e348..67bbd3ddb 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -214,7 +214,9 @@ def pre_delete_treatment(sender, **kwargs): for find in Find.objects.filter(upstream_treatment=treatment).all(): if find.downstream_treatment: # a new treatment have be done since the deleted treatment - raise NotImplemented() + # TODO ! + # raise NotImplemented() + pass find.delete() for find in Find.objects.filter(downstream_treatment=treatment).all(): find.downstream_treatment = None diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 5932fc7aa..d571364a4 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -27,7 +27,7 @@ from archaeological_finds.models import TreatmentType, FindBasket import models from ishtar_common import widgets from ishtar_common.forms import name_validator, reverse_lazy, \ - get_form_selection, TableSelect, ManageOldType + get_form_selection, TableSelect, ManageOldType, FinalForm from archaeological_finds.forms import FindMultipleFormSelection, \ SelectFindBasketForm @@ -269,3 +269,8 @@ class LocalisationForm(forms.Form): initial = q.all()[0].reference self.fields['division_{}'.format(divlink.pk)] = forms.CharField( label=str(divlink.division), max_length=200, initial=initial) + + +class ContainerDeletionForm(FinalForm): + confirm_msg = _(u"Would you like to delete this container?") + confirm_end_msg = _(u"Would you like to delete this container?") diff --git a/archaeological_warehouse/ishtar_menu.py b/archaeological_warehouse/ishtar_menu.py index d9a1bba15..12b9feb0f 100644 --- a/archaeological_warehouse/ishtar_menu.py +++ b/archaeological_warehouse/ishtar_menu.py @@ -54,9 +54,9 @@ MENU_SECTIONS = [ MenuItem('container_modification', _(u"Modification"), model=models.Warehouse, access_controls=['change_warehouse',]), - #MenuItem('container_deletion', _(u"Deletion"), - # model=models.Warehouse, - # access_controls=['change_warehouse',]), + MenuItem('container_deletion', _(u"Deletion"), + model=models.Warehouse, + access_controls=['change_warehouse',]), ]) ])) ] diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 1ab28504e..52752e4d0 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -158,7 +158,7 @@ class Container(LightHistorizedItem): verbose_name=_("Container type")) reference = models.CharField(_(u"Container ref."), max_length=40) comment = models.TextField(_(u"Comment"), null=True, blank=True) - cached_label = models.CharField(_(u"Cached name"), max_length=500, + cached_label = models.CharField(_(u"Localisation"), max_length=500, null=True, blank=True) cached_location = models.CharField(_(u"Cached location"), max_length=500, null=True, blank=True) diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index 7cc001eb9..a8c249bc1 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -65,4 +65,8 @@ urlpatterns += patterns( check_rights(['change_warehouse'])( views.container_modification_wizard), name='container_modification'), + url(r'^container_deletion/(?P<step>.+)?$', + check_rights(['change_warehouse'])( + views.container_deletion_wizard), + name='container_deletion'), ) diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 5ce878ab3..3b2b72f64 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -126,6 +126,12 @@ container_modification_wizard = ContainerModificationWizard.as_view([ url_name='container_modification', ) +container_deletion_wizard = ContainerDeletionWizard.as_view([ + ('selec-container_deletion', MainContainerFormSelection), + ('final-container_deletion', ContainerDeletionForm)], + label=_(u"Container deletion"), + url_name='container_deletion',) + """ warehouse_packaging_wizard = ItemSourceWizard.as_view([ ('selec-warehouse_packaging', ItemsSelection), diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index 0cc6915f8..0d73d9fd5 100644 --- a/archaeological_warehouse/wizards.py +++ b/archaeological_warehouse/wizards.py @@ -21,7 +21,7 @@ from django.shortcuts import render_to_response from django.template import RequestContext from ishtar_common.forms import reverse_lazy -from ishtar_common.wizards import Wizard +from ishtar_common.wizards import Wizard, DeletionWizard from archaeological_finds.wizards import TreatmentWizard from archaeological_finds.models import Treatment, TreatmentType @@ -118,5 +118,12 @@ class ContainerWizard(Wizard): self.wizard_done_template, {}, context_instance=RequestContext(self.request)) + class ContainerModificationWizard(ContainerWizard): modification = True + + +class ContainerDeletionWizard(DeletionWizard): + model = models.Container + fields = ['container_type', 'reference', 'comment', 'location', 'index', + 'cached_label'] |