summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit7efe26d54d8f4b291d4f2f9acd351e3cf35a8741 (patch)
tree29a170bc7f182faee4b64eacb9bba67ba6d13797
parentdcfe99060642847e9f27ff073152c3299a8a99fb (diff)
downloadIshtar-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.py14
-rw-r--r--ishtar_common/views.py1
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")