diff options
-rw-r--r-- | utils.py | 10 | ||||
-rw-r--r-- | views.py | 8 |
2 files changed, 17 insertions, 1 deletions
@@ -1,5 +1,5 @@ from functools import wraps -from flask import request, render_template +from flask import g, request, render_template from wtforms import Field, ValidationError from widgets import Static @@ -21,6 +21,14 @@ def templated(template=None): return decorated_function return decorator + +def after_this_request(f): + if not hasattr(g, 'after_request_callbacks'): + g.after_request_callbacks = [] + g.after_request_callbacks.append(f) + return f + + class Unique(object): """ validator that checks field uniqueness """ def __init__(self, model, field, message=None): @@ -13,6 +13,14 @@ def get_group_or_404(*query): Member.user == g.user, *query) return group + +@app.after_request +def call_after_request_callbacks(response): + for callback in getattr(g, 'after_request_callbacks', ()): + callback(response) + return response + + @app.route('/', methods=['GET', 'POST']) @templated('index.html') @auth.login_required |