web custom links city placeholder

This commit is contained in:
2026-08-05 20:47:00 +02:00
parent e54891f4ed
commit cbf4020a3e
3 changed files with 29 additions and 3 deletions
+3 -1
View File
@@ -7,7 +7,9 @@
"authelia_user": "mmustermann",
"custom_links": [
{"label": "Google Suche", "url": "https://www.google.com/search?q=[fullname]"},
{"label": "LinkedIn", "url": "https://www.linkedin.com/search/results/all/?keywords=[fullname]"}
{"label": "LinkedIn", "url": "https://www.linkedin.com/search/results/all/?keywords=[fullname]"},
{"label": "Google Maps Home", "url": "https://www.google.com/maps?q=[homecity]"},
{"label": "Google Maps Work", "url": "https://www.google.com/maps?q=[workcity]"}
]
},
{
+25 -1
View File
@@ -356,6 +356,18 @@ def web_contact(
contact = _row_to_contact_out(row)
homecity = ""
workcity = ""
for addr in contact.get("addresses", []):
city = (addr.get("city") or "").strip()
if not city:
continue
addr_type = (addr.get("type") or "").lower()
if addr_type == "home" and not homecity:
homecity = city
elif addr_type == "work" and not workcity:
workcity = city
custom_links = []
contact_account = contact.get("account")
if contact_account:
@@ -365,6 +377,18 @@ def web_contact(
custom_links = acc.custom_links
break
resolved_links = []
for link in custom_links:
url = link["url"]
if "[homecity]" in url and not homecity:
continue
if "[workcity]" in url and not workcity:
continue
url = url.replace("[fullname]", quote_plus(contact.get("full_name") or ""))
url = url.replace("[homecity]", quote_plus(homecity))
url = url.replace("[workcity]", quote_plus(workcity))
resolved_links.append({"label": link["label"], "url": url})
return templates.TemplateResponse(
"contact.html",
{
@@ -374,6 +398,6 @@ def web_contact(
"show_all": show_all,
"contact": contact,
"search": search or "",
"custom_links": custom_links,
"custom_links": resolved_links,
},
)
+1 -1
View File
@@ -394,7 +394,7 @@
<div class="section-title">Schnelllinks</div>
<div class="section-list">
{% for link in custom_links %}
<a href="{{ link.url | replace('[fullname]', contact.full_name | urlquote) }}" target="_blank" class="quicklink-item">
<a href="{{ link.url }}" target="_blank" class="quicklink-item">
{{ link.label }}
</a>
{% endfor %}