]> asedeno.scripts.mit.edu Git - bluechips.git/blobdiff - bluechips/lib/helpers.py
more refinements to the iphone targeted interface, improved validation functionality...
[bluechips.git] / bluechips / lib / helpers.py
index 0fdb8b10183d50582d29604f6ad18e2311f6ecd3..0f49a54b6293f6175f1fef9c120296b112a0fb65 100644 (file)
@@ -3,14 +3,37 @@
 Consists of functions to typically be used within templates, but also
 available to Controllers. This module is available to both as 'h'.
 """
 Consists of functions to typically be used within templates, but also
 available to Controllers. This module is available to both as 'h'.
 """
+from datetime import date
+from decimal import Decimal
+
+from pylons import request
 from routes import url_for, redirect_to
 from webhelpers.html import escape, literal, url_escape
 from webhelpers.html.tags import *
 from routes import url_for, redirect_to
 from webhelpers.html import escape, literal, url_escape
 from webhelpers.html.tags import *
+from webhelpers.html.secure_form import *
+
+from webhelpers.pylonslib import Flash as _Flash
+
+
+def currency(name, value, *args, **kwargs):
+    if 'class_' not in kwargs:
+        kwargs['class_'] = ''
+    kwargs['class_'] += 'currency'
+    value = "%0.2f" % (int(value) / 100.)
+    return text(name, value, *args, **kwargs)
 
 
-from decimal import Decimal
 
 
-def bluechips():
-    return '<span class="bluechips">BlueChips</span>'
+def grab(obj, attr):
+    if obj:
+        return getattr(obj, attr)
+    else:
+        if attr == 'date':
+            return date.today()
+        elif attr in ('spender_id', 'creditor_id', 'debtor_id'):
+            return request.environ['user'].id
+        elif attr == 'amount':
+            return 0
+        else:
+            return ''
 
 
-def round_currency(value):
-    return Decimal(value).quantize(Decimal('0.01'))
+flash = _Flash()