diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-03-10 11:33:06 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-03-10 11:33:06 +0100 |
commit | 7efe26d54d8f4b291d4f2f9acd351e3cf35a8741 (patch) | |
tree | 29a170bc7f182faee4b64eacb9bba67ba6d13797 | |
parent | dcfe99060642847e9f27ff073152c3299a8a99fb (diff) | |
download | Ishtar-7efe26d54d8f4b291d4f2f9acd351e3cf35a8741.tar.bz2 Ishtar-7efe26d54d8f4b291d4f2f9acd351e3cf35a8741.zip |
✨ if user ignore 10 times the new version info message stop displaying it
-rw-r--r-- | ishtar_common/context_processors.py | 14 | ||||
-rw-r--r-- | 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 <old-version> to " "<new-version>. Check the <changelog>.")) 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") |