diff options
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 |
commit | 41fa659fa8c53aa30dae3d6bf6bb9965eaf08d94 (patch) | |
tree | e7e19b115e0bd59f46521615584bb6b0180ace91 /ishtar_common | |
parent | c8f19ffca144e3e940bd0b878bf82f70192780e8 (diff) | |
download | Ishtar-41fa659fa8c53aa30dae3d6bf6bb9965eaf08d94.tar.bz2 Ishtar-41fa659fa8c53aa30dae3d6bf6bb9965eaf08d94.zip |
Document: deletion
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/ishtar_menu.py | 31 | ||||
-rw-r--r-- | ishtar_common/urls.py | 4 | ||||
-rw-r--r-- | ishtar_common/views.py | 56 | ||||
-rw-r--r-- | ishtar_common/wizards.py | 42 |
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'] -""" |