diff options
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'] +""" | 
