diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 74aa589c1..2baa5994a 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1596,6 +1596,21 @@ class DocumentFormMixin(IshtarMixin, LoginRequiredMixin):  class DocumentCreateView(DocumentFormMixin, CreateView):      page_name = _(u"Document creation") +    def get_form_kwargs(self): +        kwargs = super(DocumentCreateView, self).get_form_kwargs() +        initial = kwargs.get('initial', {}) +        for related_key in models.Document.RELATED_MODELS_ALT: +            model = models.Document._meta.get_field(related_key).related_model +            if model.SLUG in self.request.GET: +                try: +                    item = model.objects.get(pk=self.request.GET[model.SLUG]) +                except model.DoesNotExist: +                    continue +                initial[related_key] = str(item.pk) +        if initial: +            kwargs['initial'] = initial +        return kwargs +  class DocumentSelectView(IshtarMixin, LoginRequiredMixin,                           FormView): | 
