From cc688a11152e3722fd4f42cea32f70933b205718 Mon Sep 17 00:00:00 2001 From: Evgeniy Martynenko <enimalojd@altlinux.org> Date: Thu, 27 Mar 2025 16:37:35 +0300 Subject: [PATCH] Show/hide images link in navbar (closes: #50503) --- conf/settings.py | 1 + core/context_processors.py | 12 ++++++++++++ templates/base/layout.html | 2 ++ 3 files changed, 15 insertions(+) create mode 100644 core/context_processors.py diff --git a/conf/settings.py b/conf/settings.py index ccfcdacb..fd197e9d 100644 --- a/conf/settings.py +++ b/conf/settings.py @@ -249,6 +249,7 @@ TEMPLATES = [ "django.contrib.auth.context_processors.auth", "django.contrib.messages.context_processors.messages", "csp.context_processors.nonce", + "core.context_processors.active_images_list", ], "builtins": [ "templatetags.my_tags", diff --git a/core/context_processors.py b/core/context_processors.py new file mode 100644 index 00000000..c1e923b1 --- /dev/null +++ b/core/context_processors.py @@ -0,0 +1,12 @@ +from typing import List + +from utils.images import get_image_packageset + + +def active_images_list(request) -> dict[str, List[str]]: + """ + Context processor that makes the list of active + image branches available in all templates. + """ + + return {"active_images_list": get_image_packageset()} diff --git a/templates/base/layout.html b/templates/base/layout.html index 162bba72..5fa0c1bf 100644 --- a/templates/base/layout.html +++ b/templates/base/layout.html @@ -81,9 +81,11 @@ <li class="pf-c-nav__item"> <a href="{% url 'packages:pkg_group' branch %}" class="pf-c-nav__link {% if request.resolver_match.app_name == 'images' %} {% elif request.resolver_match.url_name == 'pkg_group' or request.resolver_match.url_name == 'pkg_list' or request.resolver_match.app_name == 'packages:source' or request.resolver_match.app_name == 'packages:binary' or request.resolver_match.app_name == 'dependencies' or request.resolver_match.url_name == 'pkg_list_by_uuid' %}pf-m-current{% endif %}">{% trans "Packages" %}</a> </li> + {% if branch in active_images_list or base.repo in active_images_list %} <li class="pf-c-nav__item"> <a href="{% url 'images:imagestatus_list' branch %}" class="pf-c-nav__link {% if 'images' in request.resolver_match.app_names %}pf-m-current{% endif %}">{% trans "Images" %}</a> </li> + {% endif %} <li class="pf-c-nav__item"> <a href="{% url 'maintainers:maintainers' branch %}" class="pf-c-nav__link {% if request.resolver_match.app_name == 'maintainers' %}pf-m-current{% endif %}">{% trans "Maintainers" %}</a> </li> -- GitLab