]> asedeno.scripts.mit.edu Git - bluechips.git/blobdiff - bluechips/lib/base.py
emphasize transactions that the logged-in user is part of, deemphasize others
[bluechips.git] / bluechips / lib / base.py
index f561cec419e048606ab4d0c4c3432d77d1356162..d94eeb664e40d3fda2561fda30b042f1f50e3893 100644 (file)
@@ -5,8 +5,9 @@ Provides the BaseController class for subclassing.
 from pylons import tmpl_context as c
 from pylons.controllers import WSGIController
 from pylons.i18n import _, ungettext, N_
+from pylons.templating import render_mako as render
 
-from tw.mods.pylonshf import render, render_response, validate
+from tw.mods.pylonshf import validate, valid
 
 import bluechips.lib.helpers as h
 from bluechips import model
@@ -31,9 +32,19 @@ class BaseController(WSGIController):
                 environ['PATH_INFO'] += '/'
                 raise HTTPMovedPermanently(construct_url(environ))
         try:
+            c.user = meta.Session.query(model.User).\
+                    filter_by(username=unicode(environ['REMOTE_USER'])).one()
             return WSGIController.__call__(self, environ, start_response)
         finally:
             meta.Session.remove()
 
-__all__ = ['c', 'h', 'render', 'render_response', 'validate',
-           'model', 'meta', '_', 'ungettext', 'N_', 'BaseController']
+def update_sar(record, form_result):
+    """
+    Update a SQLAlchemy record with the results of a validated form submission
+    """
+    for key, value in form_result.items():
+        setattr(record, key, value)
+
+__all__ = ['c', 'h', 'render', 'validate', 'valid',
+           'model', 'meta', '_', 'ungettext', 'N_', 'BaseController',
+           'update_sar']