X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Fcontrollers%2Ftransfer.py;h=b4b375ab2de4019a765aae26b301e24bf3d17be5;hb=d24e23a6a01ed245e204c8c29fc10a5fbc6f8bc4;hp=485c1179be602750817912498c7f5c095abdabe7;hpb=d64da284fc2644493b1aa42900a32d6a120d8fef;p=bluechips.git diff --git a/bluechips/controllers/transfer.py b/bluechips/controllers/transfer.py index 485c117..b4b375a 100644 --- a/bluechips/controllers/transfer.py +++ b/bluechips/controllers/transfer.py @@ -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('/')