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 |