summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils.py10
-rw-r--r--views.py8
2 files changed, 17 insertions, 1 deletions
diff --git a/utils.py b/utils.py
index fbec4c9..c424850 100644
--- a/utils.py
+++ b/utils.py
@@ -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):
diff --git a/views.py b/views.py
index 51b17ef..eed49df 100644
--- a/views.py
+++ b/views.py
@@ -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