diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-01 23:18:25 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-08 11:39:56 +0100 |
commit | 2113b7baf70571b22db3fd78d3bcf1c88352d32d (patch) | |
tree | 621d46dcd4d707f3a3bcf813593028101b9cf9d2 /ishtar_common | |
parent | 1b6f46cb1b9181cf82c3c5b8f5b5ed80ab72c327 (diff) | |
download | Ishtar-2113b7baf70571b22db3fd78d3bcf1c88352d32d.tar.bz2 Ishtar-2113b7baf70571b22db3fd78d3bcf1c88352d32d.zip |
Message mecanism with session ID
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/context_processors.py | 9 | ||||
-rw-r--r-- | ishtar_common/templates/base.html | 10 | ||||
-rw-r--r-- | ishtar_common/utils.py | 11 |
3 files changed, 29 insertions, 1 deletions
diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 437ceb677..90817776f 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -43,12 +43,19 @@ def get_base_context(request): menu = Menu(request.user) menu.init() request.session['MENU'] = menu - """ # temporary disabled + """ # menu is now in cache - put it back in session later? current_action = None if 'CURRENT_ACTION' in request.session: dct['CURRENT_ACTION'] = request.session['CURRENT_ACTION'] current_action = dct['CURRENT_ACTION'] dct['CURRENT_PATH'] = request.path + + # messages + dct['MESSAGES'] = [] + if 'messages' in request.session and request.session['messages']: + for message, message_type in request.session['messages']: + dct['MESSAGES'].append((message, message_type)) + request.session['messages'] = [] menu = Menu(request.user, current_action=current_action, session=request.session) menu.init() diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html index fa43df6bc..c11ae524e 100644 --- a/ishtar_common/templates/base.html +++ b/ishtar_common/templates/base.html @@ -97,6 +97,16 @@ <div id="window_wrapper"> <div id="window" role="tablist"></div> </div> + {% if MESSAGES %}{% for message, message_type in MESSAGES %} + <div class="alert alert-{{message_type}} alert-dismissible fade show" + role="alert"> + {{message}} + <button type="button" class="close" data-dismiss="alert" + aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + {% endfor %}{% endif %} {% if warnings %}{% for warning in warnings %} <div class="alert alert-warning alert-dismissible fade show" role="alert"> {{warning}}<button type="button" class="close" data-dismiss="alert" aria-label="Close"> diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 8524b6bca..675b840ca 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -26,6 +26,7 @@ import random from django import forms from django.conf import settings from django.contrib.gis.geos import GEOSGeometry +from django.contrib.sessions.backends.db import SessionStore from django.core.cache import cache from django.core.urlresolvers import reverse from django.utils.datastructures import MultiValueDict as BaseMultiValueDict @@ -372,3 +373,13 @@ def merge_tsvectors(vectors): for k in result_dict]) return result + + +def put_session_message(session_key, message, message_type): + session = SessionStore(session_key=session_key) + messages = [] + if 'messages' in session: + messages = session['messages'][:] + messages.append((message, message_type)) + session['messages'] = messages + session.save() |