summaryrefslogtreecommitdiff
path: root/archaeological_context_records/views.py
diff options
context:
space:
mode:
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
commit6969da6fc4bc8b551d94ca328400e7609c50595d (patch)
tree8abead0cd473127fcbd18fd9581470af8f48e654 /archaeological_context_records/views.py
parent2e608dde86b1de6fa5b66ebbbcd8c1b719981b45 (diff)
downloadIshtar-6969da6fc4bc8b551d94ca328400e7609c50595d.tar.bz2
Ishtar-6969da6fc4bc8b551d94ca328400e7609c50595d.zip
Delete action: context records, files, finds, treatments, treatments files, admin acts
Diffstat (limited to 'archaeological_context_records/views.py')
-rw-r--r--archaeological_context_records/views.py30
1 files changed, 14 insertions, 16 deletions
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'),