This lets us avoid complex templating. Signed-off-by: Stephen Finucane <step...@that.guru> --- .../templates/patchwork/optin-request.html | 8 ++--- .../templates/patchwork/optout-request.html | 8 ++--- patchwork/templatetags/admins.py | 29 +++++++++++++++++++ 3 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 patchwork/templatetags/admins.py
diff --git patchwork/templates/patchwork/optin-request.html patchwork/templates/patchwork/optin-request.html index 3384c462..36744c26 100644 --- patchwork/templates/patchwork/optin-request.html +++ patchwork/templates/patchwork/optin-request.html @@ -1,5 +1,7 @@ {% extends "base.html" %} +{% load admins %} + {% block title %}Opt-in{% endblock %} {% block heading %}Opt-in{% endblock %} @@ -40,11 +42,7 @@ {% if error and admins %} <p> - If you are having trouble opting in, please email -{% for admin in admins %} -{% if admins|length > 1 and forloop.last %} or {% endif %} -{{ admin.0 }} <<a href="mailto:{{ admin.1 }}">{{ admin.1 }}</a>>{% if admins|length > 2 and not forloop.last %}, {% endif %} -{% endfor %} + If you are having trouble opting in, please email {% site_admins %}. </p> {% endif %} {% endif %} diff --git patchwork/templates/patchwork/optout-request.html patchwork/templates/patchwork/optout-request.html index 7396fd36..a89f72bb 100644 --- patchwork/templates/patchwork/optout-request.html +++ patchwork/templates/patchwork/optout-request.html @@ -1,5 +1,7 @@ {% extends "base.html" %} +{% load admins %} + {% block title %}Opt-out{% endblock %} {% block heading %}Opt-out{% endblock %} @@ -42,11 +44,7 @@ {% if error and admins %} <p> - If you are having trouble opting out, please email -{% for admin in admins %} -{% if admins|length > 1 and forloop.last %} or {% endif %} -{{ admin.0 }} <<a href="mailto:{{ admin.1 }}">{{ admin.1 }}</a>>{% if admins|length > 2 and not forloop.last %}, {% endif %} -{% endfor %} + If you are having trouble opting out, please email {% site_admins %}. </p> {% endif %} {% endif %} diff --git patchwork/templatetags/admins.py patchwork/templatetags/admins.py new file mode 100644 index 00000000..3809655c --- /dev/null +++ patchwork/templatetags/admins.py @@ -0,0 +1,29 @@ +# Patchwork - automated patch tracking system +# Copyright (C) 2020 Stephen Finucane <step...@that.guru> +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from django.conf import settings +from django import template +from django.utils.safestring import mark_safe + + +register = template.Library() + + +@register.simple_tag() +def site_admins(): + admins = [ + f'{admin[0]} <<a href="mailto:{admin[1]}">{admin[1]}</a>>' + for admin in settings.ADMINS + ] + + if not admins: + return '' + + if len(admins) == 1: + return mark_safe(admins[0]) + + return mark_safe( + ', '.join(admins[:-2]) + admins[-2] + ' or ' + admins[-1] + ) -- 2.31.1 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork