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() | 
