<div class="infos">\r
{% block general_info %}\r
<dl class="listing">\r
- {% dl_field collection.title %}\r
- {% dl_field collection.alt_title %}\r
- {% dl_field collection.creator %}\r
+ {% dl_field collection "title" %}\r
+ {% dl_field collection "alt_title" %}\r
+ {% dl_field collection "creator" %}\r
{% if collection.recorded_from_year %}\r
<dt>{% trans "Recording year" %}</dt>\r
<dd>{{ collection.recorded_from_year }} {{ collection.recorded_to_year|prepend:" - " }}</dd>\r
{% endif %}\r
- {% dl_field collection.year_published %}\r
+ {% dl_field collection "year_published" %}\r
</dl>\r
{% endblock general_info %}\r
</div>\r
<h4><a href="#">{% trans "Geographic and cultural informations" %}</a></h4>\r
<div>\r
<dl class="listing">\r
- {% dl_field collection.countries join with ", " %}\r
- {% dl_field collection.ethnic_groups join with ", " %}\r
+ {% dl_field collection "countries" join with ", " %}\r
+ {% dl_field collection "ethnic_groups" join with ", " %}\r
</dl>\r
</div>\r
</div>\r
<dl class="listing">\r
{% if collection.collector_is_creator %}\r
{% if collection.creator %}\r
- <dt>{% trans "Collector" %}</dt><dd>{{ collector.creator }}</dd>\r
+ <dt>{% trans "Collector" %}</dt><dd>{{ collection.creator }}</dd>\r
{% endif%}\r
{% else %}\r
- {% dl_field collection.collector %}\r
+ {% dl_field collection "collector" %}\r
{% endif %}\r
- {% dl_field collection.publisher %}\r
- {% dl_field collection.publisher_collection %}\r
- {% dl_field collection.publisher_serial %}\r
- {% dl_field collection.booklet_author %}\r
- {% dl_field collection.external_references %}\r
- {% dl_field collection.doctype_code %}\r
- {% dl_field collection.public_access %}\r
- {% dl_field collection.legal_rights %}\r
+ {% dl_field collection "publisher" %}\r
+ {% dl_field collection "publisher_collection" %}\r
+ {% dl_field collection "publisher_serial" %}\r
+ {% dl_field collection "booklet_author" %}\r
+ {% dl_field collection "external_references" %}\r
+ {% dl_field collection "doctype_code" %}\r
+ {% dl_field collection "public_access" %}\r
+ {% dl_field collection "legal_rights" %}\r
</dl>\r
</div>\r
</div>\r
<h4><a href="#">{% trans "Archiving data" %}</a></h4>\r
<div>\r
<dl class="listing">\r
- {% dl_field collection.acquisition_mode %}\r
- {% dl_field collection.cnrs_contributor %}\r
- {% dl_field collection.metadata_writer %}\r
- {% dl_field collection.booklet_description %}\r
- {% dl_field collection.publishing_status %}\r
- {% dl_field collection.alt_ids %}\r
- {% dl_field collection.comment %}\r
- {% dl_field collection.metadata_writer %}\r
- {% dl_field collection.travail %}\r
- {% dl_field collection.items_done %}\r
+ {% dl_field collection "acquisition_mode" %}\r
+ {% dl_field collection "cnrs_contributor" %}\r
+ {% dl_field collection "metadata_writer" %}\r
+ {% dl_field collection "booklet_description" %}\r
+ {% dl_field collection "publishing_status" %}\r
+ {% dl_field collection "alt_ids" %}\r
+ {% dl_field collection "comment" %}\r
+ {% dl_field collection "metadata_writer" %}\r
+ {% dl_field collection "travail" %}\r
+ {% dl_field collection "items_done" %}\r
</dl>\r
</div>\r
</div>\r
<h4><a href="#">{% trans "Technical data" %}</a></h4>\r
<div>\r
<dl class="listing">\r
- {% dl_field collection.code %}\r
- {% dl_field collection.old_code %}\r
+ {% dl_field collection "code" %}\r
+ {% dl_field collection "old_code" %}\r
<dt>{% trans "Media type" %}</dt><dd>{% trans "Audio" %}</dd>\r
- {% dl_field collection.approx_duration %}\r
- {% dl_field collection.computed_duration %}\r
- {% dl_field collection.physical_items_num %}\r
+ {% dl_field collection "approx_duration" %}\r
+ {% dl_field collection "computed_duration" %}\r
+ {% dl_field collection "physical_items_num" %}\r
<dt>{% trans "Number of items" %}</dt><dd>{{ collection.items.count }}</dd>\r
- {% dl_field collection.physical_format %}\r
- {% dl_field collection.ad_conversion %}\r
+ {% dl_field collection "physical_format" %}\r
+ {% dl_field collection "ad_conversion" %}\r
</dl>\r
</div>\r
</div>\r
return dc.express_collection(resource)
class DescriptionListFieldNode(template.Node):
- def __init__(self, variable, join_with = None):
- cut = variable.split('.')
- self.model = template.Variable('.'.join(cut[:-1]))
- self.member = cut[-1]
+ def __init__(self, model, attr, join_with = None):
+ self.model = model
+ self.member = attr
self.join_with = join_with
def render(self, context):
try:
model = self.model.resolve(context)
- label = html.escape(capfirst(unicode(model.field_label(self.member))))
+ if isinstance(self.member, template.Variable):
+ member = self.member.resolve(context)
+ else:
+ member = self.member
+ label = html.escape(capfirst(unicode(model.field_label(member))))
try:
- value = getattr(model, self.member)
+ value = getattr(model, member)
except AttributeError:
value = '<ERROR: no such field>'
except template.VariableDoesNotExist:
cut = token.split_contents()
join_with = None
try:
- tag_name, variable = cut
+ tag_name, model, attr = cut
except ValueError:
try:
- tag_name, variable, arg3, arg4, arg5 = cut
+ tag_name, model, attr, arg3, arg4, arg5 = cut
if arg3 == 'join' and arg4 == 'with'and arg5[0] == arg5[-1] and arg5[0] in ('"', "'"):
join_with = arg5[1:-1]
else:
raise template.TemplateSyntaxError("%r tag: invalid arguments"
% token.contents.split()[0])
- return DescriptionListFieldNode(variable, join_with=join_with)
+ if attr[0] == attr[-1] and attr[0] in ('"', "'"):
+ attr = attr[1:-1]
+ else:
+ attr = template.Variable(attr)
+ model = template.Variable(model)
+ return DescriptionListFieldNode(model, attr, join_with=join_with)
@register.filter
def prepend(str, prefix):