From: philipp Date: Sun, 30 Jul 2017 21:25:58 +0000 (+0000) Subject: Now using flash messages again. X-Git-Url: https://git.toastfreeware.priv.at/philipp/winterrodeln/wradmin.git/commitdiff_plain/57817887c1ee390a1e1fb43d822217c7d39f59ce Now using flash messages again. git-svn-id: http://www.winterrodeln.org/svn/wradmin/trunk@2690 7aebc617-e5e2-0310-91dc-80fb5f6d2477 --- diff --git a/wradmin/controllers/gasthaus.py b/wradmin/controllers/gasthaus.py index 61fc241..b1e9d25 100644 --- a/wradmin/controllers/gasthaus.py +++ b/wradmin/controllers/gasthaus.py @@ -1,5 +1,5 @@ #!/usr/bin/python3.4 -from flask import request, abort, redirect, session, url_for +from flask import request, abort, redirect, url_for, flash import paginate import wrpylib.wrmwmarkup @@ -37,13 +37,14 @@ class GasthausController: try: wrpylib.wrmwcache.update_wrinncache(c) model.meta.Session.commit() - session['flash'] = 'Die Gasthausliste wurde erfolgreich aktualisiert.' + flash('Die Gasthausliste wurde erfolgreich aktualisiert.', 'info') except wrpylib.wrmwcache.UpdateCacheError as e: title = str(e.args[1]) title = wrpylib.mwmarkup.to_title(title) msg = str(e.args[2]) msg = msg.replace('\n', '; ') - if len(e.args) == 3: session['flash'] = "Fehler bei Gasthaus '{0}': {1}".format(title, msg) - else: session['flash'] = str(e) + if len(e.args) == 3: + flash("Fehler bei Gasthaus '{0}': {1}".format(title, msg), 'error') + else: flash(str(e), 'error') # Redirect to result page return redirect(url_for('gasthaus_list')) diff --git a/wradmin/controllers/rodelbahn.py b/wradmin/controllers/rodelbahn.py index 647687b..66107f2 100644 --- a/wradmin/controllers/rodelbahn.py +++ b/wradmin/controllers/rodelbahn.py @@ -1,5 +1,5 @@ #!/usr/bin/python3.4 -from flask import request, abort, redirect, session, url_for +from flask import request, abort, redirect, url_for, flash import paginate import sqlalchemy as sa @@ -43,14 +43,16 @@ class RodelbahnController: try: wrpylib.wrmwcache.update_wrsledruncache(c) model.meta.Session.commit() - session['flash'] = 'Die Rodelbahnliste wurde erfolgreich aktualisiert.' + flash('Die Rodelbahnliste wurde erfolgreich aktualisiert.', 'info') except wrpylib.wrmwcache.UpdateCacheError as e: title = str(e.args[1]) title = wrpylib.mwmarkup.to_title(title) msg = str(e.args[2]) msg = msg.replace('\n', '; ') - if len(e.args) == 3: session['flash'] = "Fehler bei Rodelbahn '{0}': {1}".format(title, msg) - else: session['flash'] = str(e) + if len(e.args) == 3: + flash("Fehler bei Rodelbahn '{0}': {1}".format(title, msg), 'error') + else: + flash(str(e), 'error') # Redirect to result page return redirect(url_for('rodelbahn_list')) @@ -60,8 +62,8 @@ class RodelbahnController: try: wrpylib.wrmwcache.update_wrregioncache(c) model.meta.Session.commit() - session['flash'] = 'Die Rodelbahneinträge in den Regionslisten wurden erfolgreich aktualisiert.' + flash('Die Rodelbahneinträge in den Regionslisten wurden erfolgreich aktualisiert.', 'info') except wrpylib.wrmwcache.UpdateCacheError as e: - session['flash'] = str(e) + flash(str(e), 'error') # Redirect to result page return redirect(url_for('rodelbahn_list')) diff --git a/wradmin/genshi.py b/wradmin/genshi.py index 380e47e..2b6c5d0 100644 --- a/wradmin/genshi.py +++ b/wradmin/genshi.py @@ -1,7 +1,7 @@ import os import genshi.template from genshi import HTML -from flask import url_for +from flask import url_for, get_flashed_messages import wrpylib.wrvalidators @@ -47,14 +47,6 @@ class PylonsHelper: return wrpylib.wrvalidators.opt_public_transport_german_to_str(value) -class FakeSession: - def has_key(self, key): - return False - - def save(self): - pass - - class TemplateContext: pass @@ -62,6 +54,6 @@ class TemplateContext: def render_genshi_template(template, **kwargs): loader = genshi.template.TemplateLoader(os.path.join(os.path.dirname(__file__), 'templates'), auto_reload=True) tmpl = loader.load(template) - genshi_kwargs = {'h': PylonsHelper(), 'session': FakeSession(), 'HTML': HTML} + genshi_kwargs = {'h': PylonsHelper(), 'HTML': HTML, 'get_flashed_messages': get_flashed_messages} genshi_kwargs.update(kwargs) return tmpl.generate(**genshi_kwargs).render('html', doctype='html') diff --git a/wradmin/templates/master.html b/wradmin/templates/master.html index 16854f9..98a82aa 100644 --- a/wradmin/templates/master.html +++ b/wradmin/templates/master.html @@ -25,7 +25,7 @@
  • Gasthäuser
  • -
    ${session.pop('flash')}
    +
    $message
    ${select('*|text()')}