summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-06-12 18:49:38 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-06-12 18:49:38 +0200
commit41fa659fa8c53aa30dae3d6bf6bb9965eaf08d94 (patch)
treee7e19b115e0bd59f46521615584bb6b0180ace91
parentc8f19ffca144e3e940bd0b878bf82f70192780e8 (diff)
downloadIshtar-41fa659fa8c53aa30dae3d6bf6bb9965eaf08d94.tar.bz2
Ishtar-41fa659fa8c53aa30dae3d6bf6bb9965eaf08d94.zip
Document: deletion
-rw-r--r--ishtar_common/ishtar_menu.py31
-rw-r--r--ishtar_common/urls.py4
-rw-r--r--ishtar_common/views.py56
-rw-r--r--ishtar_common/wizards.py42
4 files changed, 22 insertions, 111 deletions
diff --git a/ishtar_common/ishtar_menu.py b/ishtar_common/ishtar_menu.py
index bd068c449..73a7b81d7 100644
--- a/ishtar_common/ishtar_menu.py
+++ b/ishtar_common/ishtar_menu.py
@@ -140,32 +140,11 @@ MENU_SECTIONS = [
model=models.Document,
access_controls=['change_document',
'change_own_document']),
+ MenuItem('document/delete',
+ _(u"Deletion"),
+ model=models.Document,
+ access_controls=['change_document',
+ 'change_own_document']),
])
)
]
-"""
-SectionItem(
- 'operation_source', _(u"Documentation"),
- childs=[
- MenuItem('operation_source_search',
- _(u"Search"),
- model=models.OperationSource,
- access_controls=['view_operation',
- 'view_own_operation']),
- MenuItem('operation_source_creation',
- _(u"Creation"),
- model=models.OperationSource,
- access_controls=['change_operation',
- 'change_own_operation']),
- MenuItem('operation_source_modification',
- _(u"Modification"),
- model=models.OperationSource,
- access_controls=['change_operation',
- 'change_own_operation']),
- MenuItem('operation_source_deletion',
- _(u"Deletion"),
- model=models.OperationSource,
- access_controls=['change_operation',
- 'change_own_operation']),
- ])
-"""
diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py
index 0c249d131..f9f342ce3 100644
--- a/ishtar_common/urls.py
+++ b/ishtar_common/urls.py
@@ -240,6 +240,10 @@ urlpatterns += [
check_rights(['change_document', 'change_own_document'])(
views.DocumentEditView.as_view()),
name='edit-document'),
+ url(r'document/delete/(?P<step>.+)?$',
+ check_rights(['change_document', 'change_own_document'])(
+ views.document_deletion_wizard),
+ name='document_deletion'),
]
urlpatterns += get_urls_for_model(models.Document, views)
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 2baa5994a..22452ca91 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -1648,54 +1648,12 @@ class DocumentEditView(DocumentFormMixin, UpdateView):
return kwargs
-"""
-class DocumentSelectView(DocumentSelectMixin, IshtarMixin, LoginRequiredMixin,
- FormView):
- page_name = _(u"Merge persons")
- current_url = 'person-manual-merge'
- redir_url = 'person_manual_merge_items'
-"""
-
-"""
-# operation sources
-
-operation_source_search_wizard = SearchWizard.as_view([
- ('selec-operation_source_search', OperationSourceFormSelection)],
- label=_(u"Operation: source search"),
- url_name='operation_source_search',)
-
-operation_source_creation_wizard = OperationSourceWizard.as_view([
- ('selec-operation_source_creation', SourceOperationFormSelection),
- ('source-operation_source_creation', OperationSourceForm),
- ('authors-operation_source_creation', AuthorFormset),
- ('final-operation_source_creation', FinalForm)],
- label=_(u"Operation: source creation"),
- url_name='operation_source_creation',)
-
-operation_source_modification_steps = [
- ('selec-operation_source_modification', OperationSourceFormSelection),
- ('source-operation_source_modification', OperationSourceForm),
- ('authors-operation_source_modification', AuthorFormset),
- ('final-operation_source_modification', FinalForm)
+document_deletion_steps = [
+ ('selec-document_deletion', forms.DocumentFormSelection),
+ ('final-document_deletion', FinalDeleteForm)
]
-operation_source_modification_wizard = OperationSourceWizard.as_view(
- operation_source_modification_steps,
- label=_(u"Operation: source modification"),
- url_name='operation_source_modification',)
-
-
-def operation_source_modify(request, pk):
- operation_source_modification_wizard(request)
- OperationSourceWizard.session_set_value(
- request, 'selec-operation_source_modification', 'pk', pk, reset=True)
- return redirect(reverse(
- 'operation_source_modification',
- kwargs={'step': 'source-operation_source_modification'}))
-
-operation_source_deletion_wizard = OperationSourceDeletionWizard.as_view([
- ('selec-operation_source_deletion', OperationSourceFormSelection),
- ('final-operation_source_deletion', SourceDeletionForm)],
- label=_(u"Operation: source deletion"),
- url_name='operation_source_deletion',)
-"""
+document_deletion_wizard = wizards.DocumentDeletionWizard.as_view(
+ document_deletion_steps,
+ label=_(u"Document deletion"),
+ url_name='document_deletion',)
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 69f7c4c8e..979f611ce 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -1735,41 +1735,11 @@ class SourceWizard(Wizard):
dct.pop('history_modifier')
return dct
-"""
-class OperationSourceWizard(SourceWizard):
- model = models.OperationSource
- wizard_done_window = reverse_lazy('show-operationsource')
-
- def get_form_initial(self, step, data=None):
- initial = super(OperationSourceWizard, self).get_form_initial(step)
- # put default index and operation_id field in the main source form
- general_form_key = 'selec-' + self.url_name
- if step.startswith('source-'):
- operation_id = None
- if self.session_has_key(general_form_key, 'operation'):
- try:
- operation_id = int(self.session_get_value(general_form_key,
- "operation"))
- except ValueError:
- pass
- elif self.session_has_key(general_form_key, "pk"):
- try:
- pk = self.session_get_value(general_form_key, "pk")
- source = models.OperationSource.objects.get(pk=pk)
- operation_id = source.operation.pk
- except (ValueError, ObjectDoesNotExist):
- pass
- if operation_id:
- initial['hidden_operation_id'] = operation_id
- if 'index' not in initial:
- max_val = models.OperationSource.objects.filter(
- operation__pk=operation_id).aggregate(
- Max('index'))["index__max"]
- initial['index'] = max_val and (max_val + 1) or 1
- return initial
+class DocumentDeletionWizard(DeletionWizard):
+ model = models.Document
+ fields = [f.name for f in model._meta.get_fields()
+ if f.name != 'id' and f.name not in model.RELATED_MODELS] + \
+ model.RELATED_MODELS
+ filter_owns = {'selec-document_deletion': ['pk']}
-class OperationSourceDeletionWizard(DeletionWizard):
- model = models.OperationSource
- fields = ['operation', 'title', 'source_type', 'authors']
-"""