diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-01 15:50:52 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-12 09:57:24 +0200 |
commit | 572b9047260322ed19cc9f674657b8be8d62c052 (patch) | |
tree | 0ed9392291c50980c7dbff14c9a05edc601076de /ishtar_common/wizards.py | |
parent | 66a376e081e335cf94ecf6fd41e5fe13a5445c57 (diff) | |
download | Ishtar-572b9047260322ed19cc9f674657b8be8d62c052.tar.bz2 Ishtar-572b9047260322ed19cc9f674657b8be8d62c052.zip |
Adapt forms, wizards, views, urls for new management of documents (refs #4107)
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 39 |
1 files changed, 39 insertions, 0 deletions
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'] +""" |