From 572b9047260322ed19cc9f674657b8be8d62c052 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 1 Jun 2018 15:50:52 +0200 Subject: Adapt forms, wizards, views, urls for new management of documents (refs #4107) --- ishtar_common/wizards.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'ishtar_common/wizards.py') diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 3e153c9dd..b98c698ac 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -1781,3 +1781,42 @@ class SourceWizard(Wizard): if 'history_modifier' in dct: 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 OperationSourceDeletionWizard(DeletionWizard): + model = models.OperationSource + fields = ['operation', 'title', 'source_type', 'authors'] +""" -- cgit v1.2.3