From c10b0bac3f5d5ee61d7789de4db0fbb18dd666d3 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 28 Oct 2013 19:31:45 +0100 Subject: Templates: list all dependant documents New template tags for displaying table of documents --- archaeological_operations/models.py | 29 +++++++++++++++++++- .../templates/ishtar/sheet_operation.html | 31 +++++++--------------- 2 files changed, 38 insertions(+), 22 deletions(-) (limited to 'archaeological_operations') diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index c805f9a3d..3d6eaa15a 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -22,6 +22,7 @@ from itertools import groupby from django.conf import settings from django.contrib.gis.db import models +from django.core.urlresolvers import reverse from django.db.models import Q, Count, Sum, Max, Avg from django.db.models.signals import post_save, m2m_changed from django.utils.translation import ugettext_lazy as _, ugettext @@ -156,6 +157,16 @@ class Operation(BaseHistorizedItem, OwnPerms): def short_class_name(self): return _(u"OPE") + @property + def short_label(self): + if settings.COUNTRY == 'fr': + return self.code_patriarche + return unicode(self) + + @property + def show_url(self): + return reverse('show-operation', args=[self.pk, '']) + @property def reference(self): if self.code_patriarche: @@ -187,7 +198,19 @@ class Operation(BaseHistorizedItem, OwnPerms): def grouped_parcels(self): return Parcel.grouped_parcels(list(self.parcels.all())) - associated_file_short_label_lbl = _(u"Archaelogical file") + def context_record_docs_q(self): + from archaeological_context_records.models import ContextRecordSource + return ContextRecordSource.objects.filter( + context_record__operation=self) + + def find_docs_q(self): + from archaeological_finds.models import FindSource + print FindSource.objects.filter( + find__base_finds__context_record__operation=self).query + return FindSource.objects.filter( + find__base_finds__context_record__operation=self) + + associated_file_short_label_lbl = _(u"Archaeological file") @property def associated_file_short_label(self): if not self.associated_file: @@ -309,6 +332,10 @@ class OperationSource(Source): TABLE_COLS = ['operation.year', 'operation.operation_code'] + \ Source.TABLE_COLS + @property + def owner(self): + return self.operation + class ActType(GeneralType): TYPE = (('F', _(u'Archaelogical file')), ('O', _(u'Operation')), diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html index 0672cf22f..2768fd96c 100644 --- a/archaeological_operations/templates/ishtar/sheet_operation.html +++ b/archaeological_operations/templates/ishtar/sheet_operation.html @@ -1,5 +1,5 @@ {% extends "ishtar/sheet.html" %} -{% load i18n %} +{% load i18n window_tables %} {% block head_sheet %} {{block.super}} @@ -117,26 +117,8 @@ {% endfor %} -

{% trans "Scientific documentation"%}

- - - - - - - - - {% for doc in item.source.all %} - - - - - - - {% empty %} - - {% endfor %} -
{%trans "Documents"%}
{% trans "Title" %}{% trans "Type" %}{% trans "Authors" %}{% trans "Link" %}
{{ doc.title }}{{doc.source_type}}{{ doc.authors.all|join:", " }}{% if doc.associated_url %}{% trans "Link"%}{% endif %}
{% trans "No scientific document associated to this operation" %}
+{% trans "Document from this operation" as operation_docs %} +{% if item.source.count %} {% table_document operation_docs item.source.all %}{% endif %} @@ -161,6 +143,10 @@ {% endfor %}
{%trans "Context records"%}
{% trans "No context record associated to this operation" %}
+ +{% trans "Documents from associated context records" as cr_docs %} +{% if item.context_record_docs_q.count %} {% table_document cr_docs item.context_record_docs_q.all %}{% endif %} +
@@ -206,4 +192,7 @@
{%trans "Finds"%}
+{% trans "Documents from associated finds" as find_docs %} +{% if item.find_docs_q.count %} {% table_document find_docs item.find_docs_q.all %}{% endif %} + {% endblock %} -- cgit v1.2.3