diff options
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 |
commit | 66b5c967cb0e94c8f8d5b09e854b8d0bd7ccc832 (patch) | |
tree | 8e3f8a9979d71a58304c2011a10bb05aa86e5823 | |
parent | 0636972bf32617eba4fd9f889eb54e23d0e1c743 (diff) | |
download | Ishtar-66b5c967cb0e94c8f8d5b09e854b8d0bd7ccc832.tar.bz2 Ishtar-66b5c967cb0e94c8f8d5b09e854b8d0bd7ccc832.zip |
Archaeological sites: deletion wizard (refs #3913)
-rw-r--r-- | archaeological_operations/ishtar_menu.py | 8 | ||||
-rw-r--r-- | archaeological_operations/urls.py | 9 | ||||
-rw-r--r-- | archaeological_operations/views.py | 16 | ||||
-rw-r--r-- | archaeological_operations/wizards.py | 9 |
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': |