]> asedeno.scripts.mit.edu Git - bluechips.git/blobdiff - bluechips/controllers/transfer.py
brought up to date with latest sqlalchemy conventions
[bluechips.git] / bluechips / controllers / transfer.py
index 485c1179be602750817912498c7f5c095abdabe7..b4b375ab2de4019a765aae26b301e24bf3d17be5 100644 (file)
@@ -13,11 +13,38 @@ log = logging.getLogger(__name__)
 
 class TransferController(BaseController):
     def index(self):
+        c.title = 'Add a New Transfer'
+        
         c.transfer = dict()
         c.transfer['debtor'] = request.environ['user']
         
         return render('/transfer/index.mako')
     
+    def edit(self, id):
+        c.title = 'Edit a Transfer'
+        
+        c.transfer = meta.Session.query(model.Transfer).get(id)
+        
+        return render('/transfer/index.mako')
+    
     @validate(form=transfer.new_transfer_form, error_handler='index')
-    def new(self):
-        return str(self.form_result)
+    def update(self, id=None):
+        # Validate the submission
+        if not valid(self, transfer.new_transfer_form):
+            if id is None:
+                return self.index()
+            else:
+                return self.edit(id)
+        
+        if id is None:
+            t = model.Transfer()
+            meta.Session.add(t)
+        else:
+            t = meta.Session.query(model.Transfer).get(id)
+        
+        update_sar(t, self.form_result)
+        meta.Session.commit()
+        
+        h.flash('Transfer recorded.')
+        
+        return h.redirect_to('/')