summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-02-16 15:49:15 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-02-16 16:08:49 +0100
commit66b5c967cb0e94c8f8d5b09e854b8d0bd7ccc832 (patch)
tree8e3f8a9979d71a58304c2011a10bb05aa86e5823 /archaeological_operations
parent0636972bf32617eba4fd9f889eb54e23d0e1c743 (diff)
downloadIshtar-66b5c967cb0e94c8f8d5b09e854b8d0bd7ccc832.tar.bz2
Ishtar-66b5c967cb0e94c8f8d5b09e854b8d0bd7ccc832.zip
Archaeological sites: deletion wizard (refs #3913)
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/ishtar_menu.py8
-rw-r--r--archaeological_operations/urls.py9
-rw-r--r--archaeological_operations/views.py16
-rw-r--r--archaeological_operations/wizards.py9
4 files changed, 35 insertions, 7 deletions
diff --git a/archaeological_operations/ishtar_menu.py b/archaeological_operations/ishtar_menu.py
index 746c25f50..208cb33d8 100644
--- a/archaeological_operations/ishtar_menu.py
+++ b/archaeological_operations/ishtar_menu.py
@@ -119,8 +119,12 @@ MENU_SECTIONS = [
MenuItem(
'site_modification', _(u"Modification"),
model=models.ArchaeologicalSite,
- access_controls=['modify_archaeologicalsite',
- 'modify_own_archaeologicalsite']),
+ access_controls=['change_archaeologicalsite',
+ 'change_own_archaeologicalsite']),
+ MenuItem('site_deletion',
+ _(u"Deletion"),
+ model=models.ArchaeologicalSite,
+ access_controls=['change_site']),
]),
),
(30, SectionItem(
diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py
index be734c031..ea46010b8 100644
--- a/archaeological_operations/urls.py
+++ b/archaeological_operations/urls.py
@@ -169,11 +169,14 @@ urlpatterns = [
views.site_creation_wizard),
name='site_creation'),
url(r'site_modification/(?P<step>.+)?$',
- check_rights(['modify_archaeologicalsite',
- 'modify_own_archaeologicalsite'])(
+ check_rights(['change_archaeologicalsite',
+ 'change_own_archaeologicalsite'])(
views.site_modification_wizard),
name='site_modification'),
-
+ url(r'site_deletion/(?P<step>.+)?$',
+ check_rights(['change_archaeologicalsite'])(
+ views.site_deletion_wizard),
+ name='site_deletion'),
url(r'autocomplete-patriarche/$', views.autocomplete_patriarche,
name='autocomplete-patriarche'),
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 4647b0fc7..3e20a067d 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -29,7 +29,8 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy
from ishtar_common.models import get_current_profile, IshtarSiteProfile
from archaeological_operations import models
-from ishtar_common.forms import ClosingDateFormSelection, FinalForm
+from ishtar_common.forms import ClosingDateFormSelection, FinalForm, \
+ FinalDeleteForm
from ishtar_common.forms_common import AuthorFormset, SourceDeletionForm
from archaeological_operations.forms import ArchaeologicalSiteForm, \
OperationFormSelection, OperationFormFileChoice, OperationFormGeneral, \
@@ -53,7 +54,8 @@ from archaeological_operations.wizards import has_associated_file, \
OperationClosingWizard, OperationDeletionWizard, SiteSearch, \
OperationSourceWizard, OperationSourceDeletionWizard, \
OperationAdministrativeActWizard, OperationEditAdministrativeActWizard, \
- AdministrativeActDeletionWizard, SiteWizard, SiteModificationWizard
+ AdministrativeActDeletionWizard, SiteWizard, SiteModificationWizard, \
+ SiteDeletionWizard
def autocomplete_patriarche(request):
@@ -370,6 +372,16 @@ site_modification_wizard = SiteModificationWizard.as_view(
url_name='site_modification',
)
+site_deletion_steps = [
+ ('selec-site_deletion', SiteFormSelection),
+ ('final-site_deletion', FinalDeleteForm)
+]
+
+site_deletion_wizard = SiteDeletionWizard.as_view(
+ site_deletion_steps,
+ label=_(u"Site deletion"),
+ url_name='site_deletion',)
+
# operation sources
operation_source_search_wizard = SearchWizard.as_view([
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py
index d5cb1d5ac..18c4b20e8 100644
--- a/archaeological_operations/wizards.py
+++ b/archaeological_operations/wizards.py
@@ -447,6 +447,10 @@ class OperationEditAdministrativeActWizard(OperationAdministrativeActWizard):
def get_associated_item(self, dct):
return self.get_current_object().operation
+########
+# Site #
+########
+
class SiteLabel(object):
def get_label(self):
@@ -467,6 +471,11 @@ class SiteModificationWizard(SiteWizard):
modification = True
+class SiteDeletionWizard(DeletionWizard):
+ model = models.ArchaeologicalSite
+ fields = models.ArchaeologicalSite.TABLE_COLS + ['operations']
+
+
class AdministrativeActDeletionWizard(ClosingWizard):
wizard_templates = {
'final-operation_administrativeactop_deletion':