diff options
| -rw-r--r-- | ishtar_common/forms_common.py | 6 | ||||
| -rw-r--r-- | ishtar_common/models.py | 17 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/sheet_document.html | 3 | ||||
| -rw-r--r-- | ishtar_common/urls.py | 2 | ||||
| -rw-r--r-- | ishtar_common/views.py | 1 | 
5 files changed, 22 insertions, 7 deletions
| diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index d7c6da1ec..375f68784 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -1272,6 +1272,9 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType):          main_items_fields = {}          if "main_items_fields" in kwargs:              main_items_fields = kwargs.pop("main_items_fields") +        self.user = None +        if kwargs.get("user", None): +            self.user = kwargs.pop("user")          super(DocumentForm, self).__init__(*args, **kwargs)          for related_key in models.Document.RELATED_MODELS_ALT:              model = models.Document._meta.get_field(related_key).related_model @@ -1327,6 +1330,9 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType):                      related_item.main_image = item                      related_item.save()          item = models.Document.objects.get(pk=item.pk) +        if self.user: +            item.history_creator = self.user +        item.history_modifier = self.user          item.skip_history_when_saving = True          item.save()  # resave to regen the attached items          return item diff --git a/ishtar_common/models.py b/ishtar_common/models.py index f3ef8103c..ffa5323dd 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -5318,12 +5318,14 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel,      @classmethod      def get_query_owns(cls, ishtaruser): -        Operation = cls.operations.rel.related_model -        ArchaeologicalSite = cls.sites.rel.related_model -        query_own_list = ( -            ('operations__', Operation._get_query_owns_dicts(ishtaruser)), -            ('sites__', ArchaeologicalSite._get_query_owns_dicts(ishtaruser)), -        ) +        query_own_list = [] +        for rel_model in cls.RELATED_MODELS: +            klass = getattr(cls, rel_model).rel.related_model +            q_own_dct = klass._get_query_owns_dicts(ishtaruser) +            if q_own_dct: +                query_own_list.append( +                    (rel_model + "__", q_own_dct) +                )          q = None          for prefix, owns in query_own_list:              subq = cls._construct_query_own(prefix, owns) @@ -5332,6 +5334,9 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel,                      q = subq                  else:                      q |= subq +        q |= cls._construct_query_own('', [ +            {'history_creator': ishtaruser.user_ptr} +        ])          return q      def get_associated_operation(self): diff --git a/ishtar_common/templates/ishtar/sheet_document.html b/ishtar_common/templates/ishtar/sheet_document.html index 48d21ff00..386b33a8a 100644 --- a/ishtar_common/templates/ishtar/sheet_document.html +++ b/ishtar_common/templates/ishtar/sheet_document.html @@ -43,6 +43,9 @@      {% field_flex "Additional information" item.additional_information %}      {% field_flex_full "Authors" item.authors|add_links:'person' %}  </div> +<div class="row"> +    {% include "ishtar/blocks/sheet_creation_section.html" %} +</div>  {% include "ishtar/blocks/sheet_json.html" %} diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index 0efd7e8d9..0d524b668 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -317,7 +317,7 @@ urlpatterns += [          views.QANotAvailable.as_view(), name='qa-not-available'),  ] -urlpatterns += get_urls_for_model(models.Document, views) +urlpatterns += get_urls_for_model(models.Document, views, own=True)  urlpatterns += [      url(r'(?P<action_slug>' + actions + r')/$', views.action, name='action'), diff --git a/ishtar_common/views.py b/ishtar_common/views.py index d8474e6b0..7b7a890fb 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1911,6 +1911,7 @@ class DocumentCreateView(DocumentFormMixin, CreateView):                  initial[related_key] = str(item.pk)          if initial:              kwargs['initial'] = initial +        kwargs["user"] = self.request.user          return kwargs | 
