From 7efe26d54d8f4b291d4f2f9acd351e3cf35a8741 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 10 Mar 2025 11:33:06 +0100 Subject: ✨ if user ignore 10 times the new version info message stop displaying it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/context_processors.py | 14 +++++++++++--- ishtar_common/views.py | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 63c9630cf..3365d504e 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -102,10 +102,11 @@ def get_base_context(request): dct["SITE_PROFILE"] = get_current_profile() + is_main_page = not request.is_ajax() and not getattr(request, "is_js", False) # messages dct["MESSAGES"] = [] if ( - not request.is_ajax() + is_main_page and "messages" in request.session and request.session["messages"] ): @@ -115,8 +116,8 @@ def get_base_context(request): menu = Menu(request.user, current_action=current_action, session=request.session) menu.init() - if hasattr(request.user, "ishtaruser") and request.user.ishtaruser: - + if is_main_page and hasattr(request.user, "ishtaruser") \ + and request.user.ishtaruser: # check password expiration date if settings.ISHTAR_PASSWORD_EXPIRATION_DAYS and \ isinstance(settings.ISHTAR_PASSWORD_EXPIRATION_DAYS, int): @@ -146,6 +147,13 @@ def get_base_context(request): user_version = request.user.ishtaruser.latest_news_version current_version = get_changelog_version() if current_version != user_version and "changelog" not in dct["CURRENT_PATH"]: + if "info_version_displayed" not in request.session: + request.session["info_version_displayed"] = 0 + request.session["info_version_displayed"] += 1 + if request.session["info_version_displayed"] >= 10: + request.user.ishtaruser.latest_news_version = current_version + request.user.ishtaruser.save() + request.session['info_version_displayed'] = 0 if user_version: msg = str(_("Since your last login, Ishtar has been updated from version to " ". Check the .")) diff --git a/ishtar_common/views.py b/ishtar_common/views.py index e4ab55728..69e93a24f 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -587,6 +587,7 @@ def activate_simple_shortcut_menu(request): def settings_js(request): + request.is_js = True return render(request, "ishtar/settings.js", content_type="text/javascript") -- cgit v1.2.3