diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-13 14:13:46 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-13 14:13:46 +0200 |
commit | 9c0ee6ee690f176dd6c944d263ec45678ebec49e (patch) | |
tree | 8abead0cd473127fcbd18fd9581470af8f48e654 /archaeological_context_records | |
parent | 801e31fc093bc554ae62ff50a5540659634098b4 (diff) | |
download | Ishtar-9c0ee6ee690f176dd6c944d263ec45678ebec49e.tar.bz2 Ishtar-9c0ee6ee690f176dd6c944d263ec45678ebec49e.zip |
Delete action: context records, files, finds, treatments, treatments files, admin acts
Diffstat (limited to 'archaeological_context_records')
-rw-r--r-- | archaeological_context_records/models.py | 1 | ||||
-rw-r--r-- | archaeological_context_records/urls.py | 2 | ||||
-rw-r--r-- | archaeological_context_records/views.py | 30 |
3 files changed, 17 insertions, 16 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index dc8409b39..dd76c355a 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -297,6 +297,7 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, APP = "archaeological-context-records" MODEL = "context-record" SHOW_URL = 'show-contextrecord' + DELETE_URL = 'delete-contextrecord' EXTERNAL_ID_KEY = 'context_record_external_id' EXTERNAL_ID_DEPENDENCIES = ['base_finds'] TABLE_COLS = ['label', 'operation__common_name', 'town__name', diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py index ccab8cacb..ec37b4a25 100644 --- a/archaeological_context_records/urls.py +++ b/archaeological_context_records/urls.py @@ -42,6 +42,8 @@ urlpatterns = [ url(r'record_deletion/(?P<step>.+)?$', check_rights(['change_contextrecord', 'change_own_contextrecord'])( views.record_deletion_wizard), name='record_deletion'), + url(r'record_delete/(?P<pk>.+)/$', + views.record_delete, name='delete-contextrecord'), url(r'autocomplete-contextrecord/$', views.autocomplete_contextrecord, name='autocomplete-contextrecord'), url(r'show-contextrecord(?:/(?P<pk>.+))?/(?P<type>.+)?$', diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index 1aa691cff..20718b33f 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -35,7 +35,7 @@ from archaeological_context_records import forms from ishtar_common.utils import put_session_message from ishtar_common.views import IshtarMixin, LoginRequiredMixin, QAItemForm, \ - QABaseLockView + QABaseLockView, wizard_is_available from ishtar_common.views_item import display_item, get_item, show_item, \ revert_item from archaeological_context_records import wizards @@ -135,23 +135,10 @@ record_modification_wizard = wizards.RecordModifWizard.as_view( def record_modify(request, pk): - try: - record_modification_wizard(request) - except IndexError: # no step available - put_session_message( - request.session.session_key, - _(u"You don't have sufficient permissions to do this action."), - 'warning' - ) + if not wizard_is_available(record_modification_wizard, request, + models.ContextRecord, pk): return HttpResponseRedirect("/") - q = models.ContextRecord.objects.filter(pk=pk) - if not q.count(): - raise Http404() - cr = q.all()[0] - if cr.locked: - raise Http404() - wizards.RecordModifWizard.session_set_value( request, 'selec-record_modification', 'pk', pk, reset=True) return redirect(reverse('record_modification', @@ -164,6 +151,17 @@ record_deletion_wizard = wizards.RecordDeletionWizard.as_view([ url_name='record_deletion',) +def record_delete(request, pk): + if not wizard_is_available(record_deletion_wizard, request, + models.ContextRecord, pk): + return HttpResponseRedirect("/") + + wizards.RecordDeletionWizard.session_set_value( + request, 'selec-record_deletion', 'pk', pk, reset=True) + return redirect(reverse('record_deletion', + kwargs={'step': 'final-record_deletion'})) + + def reset_wizards(request): for wizard_class, url_name in ( (wizards.RecordWizard, 'record_creation'), |