diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 19 | 
1 files changed, 9 insertions, 10 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 7368f3fab..19fc9f848 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -2100,13 +2100,13 @@ class DocumentCreateView(DocumentFormMixin, CreateView):      def get_form_kwargs(self):          kwargs = super(DocumentCreateView, self).get_form_kwargs()          initial = kwargs.get("initial", {}) -        document = '' -        value = '' +        document_parent = None +        value = None          if self.kwargs.get("pk"):              try: -                document = models.Document.objects.get(pk=self.kwargs.get("pk")) -                assert check_permission(self.request, "document/create", document.pk) +                document_parent = models.Document.objects.get(pk=self.kwargs.get("pk")) +                assert check_permission(self.request, "document/create", document_parent.pk)              except (AssertionError, models.Document.DoesNotExist):                  raise Http404() @@ -2119,16 +2119,15 @@ class DocumentCreateView(DocumentFormMixin, CreateView):                      continue                  initial[related_key] = str(item.pk) -            if document: -                value = getattr(document, related_key) +        if document_parent: +            for k in models.Document.RELATED_MODELS: +                value = getattr(document_parent, k)                  if hasattr(value, "all"):                      value = ",".join([str(v.pk) for v in value.all()])                  if hasattr(value, "pk"):                      value = value.pk -            initial[related_key] = value - -        if document: -            initial["source"] = document.pk +                initial[k] = value +            initial["source"] = document_parent.pk          if initial:              kwargs["initial"] = initial  | 
