]> asedeno.scripts.mit.edu Git - bluechips.git/commitdiff
throw a 404 when trying to edit an expenditure or transfer that doesn't exist
authorScott Torborg <scott@crookedmedia.com>
Fri, 6 Nov 2009 03:11:23 +0000 (17:11 -1000)
committerScott Torborg <scott@crookedmedia.com>
Fri, 6 Nov 2009 03:11:23 +0000 (17:11 -1000)
bluechips/controllers/spend.py
bluechips/controllers/transfer.py

index e3ea675db2309d95399cba2582599654b6028a4f..45db96de46c90cd91907803d3c96fa708276ad76 100644 (file)
@@ -11,6 +11,7 @@ from bluechips.lib.base import *
 from pylons import request, app_globals as g
 from pylons.decorators.rest import dispatch_on
 from pylons.decorators import validate
+from pylons.controllers.util import abort
 
 from formencode import validators, Schema
 from formencode.foreach import ForEach
@@ -64,6 +65,8 @@ class SpendController(BaseController):
         else:
             c.title = 'Edit an Expenditure'
             c.expenditure = meta.Session.query(model.Expenditure).get(id)
+            if c.expenditure is None:
+                abort(404)
         return render('/spend/index.mako')
 
     @validate(schema=ExpenditureSchema(), form='edit', variable_decode=True)
@@ -76,6 +79,8 @@ class SpendController(BaseController):
             op = 'created'
         else:
             e = meta.Session.query(model.Expenditure).get(id)
+            if e is None:
+                abort(404)
             op = 'updated'
         
         # Set the fields that were submitted
index 016f508df07f7d379d468db895be23454dd2ec8e..5aa8be20601ad651d978db51f48de37f20abe352 100644 (file)
@@ -10,6 +10,7 @@ from bluechips.lib.base import *
 
 from pylons import request, app_globals as g
 from pylons.decorators import validate
+from pylons.controllers.util import abort
 
 from formencode import Schema, validators
 
@@ -42,6 +43,8 @@ class TransferController(BaseController):
         else:
             c.title = 'Edit a Transfer'
             c.transfer = meta.Session.query(model.Transfer).get(id)
+            if c.transfer is None:
+                abort(404)
         return render('/transfer/index.mako')
     
     @validate(schema=TransferSchema(), form='edit')
@@ -52,6 +55,8 @@ class TransferController(BaseController):
             op = 'created'
         else:
             t = meta.Session.query(model.Transfer).get(id)
+            if t is None:
+                abort(404)
             op = 'updated'
         
         update_sar(t, self.form_result)