diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-10 12:29:37 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-12 10:46:13 +0200 | 
| commit | 3728ddd681c428abf2a686b8b31f6cc95c5972cc (patch) | |
| tree | 6964cba3625130b7336075f01b4f2d678517e20a /ishtar_common/views.py | |
| parent | 124a782ab4bf9ac42cbf404362a0be2826ff6e99 (diff) | |
| download | Ishtar-3728ddd681c428abf2a686b8b31f6cc95c5972cc.tar.bz2 Ishtar-3728ddd681c428abf2a686b8b31f6cc95c5972cc.zip | |
Quick action to add a document from a sheet (refs #4107)
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): | 
