From 62036eee21f912b6f686bb30574f9ac6b47bccab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?= <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de> Date: Wed, 7 Oct 2020 15:03:46 +0200 Subject: [PATCH] Add AK owner links to wiki export This will try to automatically detect whether wiki or external links were used Implements #90 --- AKModel/templates/admin/AKModel/wiki_export.html | 4 +++- AKModel/templatetags/tags_AKModel.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/AKModel/templates/admin/AKModel/wiki_export.html b/AKModel/templates/admin/AKModel/wiki_export.html index 555742ef..03512c67 100644 --- a/AKModel/templates/admin/AKModel/wiki_export.html +++ b/AKModel/templates/admin/AKModel/wiki_export.html @@ -1,5 +1,7 @@ {% extends "admin/base_site.html" %} +{% load tags_AKModel %} + {% block content %} {% regroup AKs by category as ak_list %} @@ -12,7 +14,7 @@ | name={{ ak.name }} | beschreibung= {{ ak.description }} | wieviele={{ ak.interest_counter }} -| wer={{ ak.owners_list }} +| wer={{ ak.owners|wiki_owners_export:ak.event }} | wann= | dauer={{ ak.durations_list }} | reso={{ ak.reso }} diff --git a/AKModel/templatetags/tags_AKModel.py b/AKModel/templatetags/tags_AKModel.py index 69133913..3bec0320 100644 --- a/AKModel/templatetags/tags_AKModel.py +++ b/AKModel/templatetags/tags_AKModel.py @@ -25,3 +25,17 @@ def message_bootstrap_class(tag): elif tag == "warning": return "alert-warning" return "alert-info" + + +@register.filter +def wiki_owners_export(owners, event): + def to_link(owner): + if owner.link != '': + event_link_prefix, _ = event.base_url.rsplit("/", 1) + link_prefix, link_end = owner.link.rsplit("/", 1) + if event_link_prefix == link_prefix: + return f"[[{link_end}|{str(owner)}]]" + return f"[{owner.link} {str(owner)}]" + return str(owner) + + return ", ".join(to_link(owner) for owner in owners.all()) -- GitLab