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