summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple.html8
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple_full.html9
-rw-r--r--ishtar_common/templatetags/window_field.py23
3 files changed, 40 insertions, 0 deletions
diff --git a/ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple.html b/ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple.html
new file mode 100644
index 000000000..b6faa0cc1
--- /dev/null
+++ b/ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple.html
@@ -0,0 +1,8 @@
+{% load i18n %}{% if data %}
+<dl class="col-12 {% if size == 2 %}col-lg-6{% else %}col-md-6 col-lg-3{% endif %} flex-wrap">
+ <dt>{% trans caption %}</dt>
+ <dd>{% for d in data %}
+ {% if forloop.counter0 %} ; {% endif %}{{d.link}} {{ d.item }}
+ {% endfor %}</dd>
+</dl>
+{% endif %}
diff --git a/ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple_full.html b/ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple_full.html
new file mode 100644
index 000000000..12ab9d524
--- /dev/null
+++ b/ishtar_common/templates/ishtar/blocks/window_field_flex_detail_multiple_full.html
@@ -0,0 +1,9 @@
+{% load i18n %}{% if data %}
+<dl class="col-12">
+ <dt>{% trans caption %}</dt>
+ <dd>{% for d in data %}
+ {% if forloop.counter0 %} ; {% endif %}{{d.link}} {{ d.item }}
+ {% endfor %}</dd>
+</dl>
+{% endif %}
+
diff --git a/ishtar_common/templatetags/window_field.py b/ishtar_common/templatetags/window_field.py
index 051540a19..7aaf62397 100644
--- a/ishtar_common/templatetags/window_field.py
+++ b/ishtar_common/templatetags/window_field.py
@@ -175,6 +175,29 @@ def field_flex_detail_full(context, caption, item, small=False):
return field_detail(context, caption, item, size=size)
+@register.inclusion_tag('ishtar/blocks/window_field_flex_detail_multiple.html',
+ takes_context=True)
+def field_flex_detail_multiple(context, caption, items, small=False, size=None):
+ if small:
+ size = 2
+ data = []
+ if hasattr(items, "all"):
+ items = items.distinct().all()
+ for item in items:
+ link = link_to_window(item, context)
+ data.append({"item": item, "link": link})
+ dct = {'caption': caption, 'data': data, "size": size}
+ return dct
+
+
+@register.inclusion_tag(
+ 'ishtar/blocks/window_field_flex_detail_multiple_full.html',
+ takes_context=True)
+def field_flex_detail_multiple_full(context, caption, items):
+ size = "full"
+ return field_flex_detail_multiple(context, caption, items, size=size)
+
+
@register.filter
def m2m_listing(item, key):
return item.m2m_listing(key)