X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;ds=sidebyside;f=bluechips%2Fmodel%2Fexpenditure.py;h=d732fbe18328c9d6b909bbb52635f0f1775b6033;hb=14a694445c9ce5493d644002a42261b39591d228;hp=6b3b1cb242c6c1e4ecd4de1fef70e537870cc3b6;hpb=f4d8f4cc0fa9643c3ca04c7dcc2c87f3790160de;p=bluechips.git diff --git a/bluechips/model/expenditure.py b/bluechips/model/expenditure.py index 6b3b1cb..d732fbe 100644 --- a/bluechips/model/expenditure.py +++ b/bluechips/model/expenditure.py @@ -1,8 +1,10 @@ +from sqlalchemy.ext.associationproxy import association_proxy + from bluechips.model.user import User from bluechips.model.split import Split from bluechips.model import meta from bluechips.model.types import Currency -from bluechips.model.tag import Tag +from bluechips.model.tag import create_tag from decimal import Decimal from datetime import datetime import random @@ -16,6 +18,8 @@ class Expenditure(object): if self.date == None: self.date = datetime.now() + tags = association_proxy('_tags', 'name', creator=create_tag) + def __repr__(self): return '' % (self.spender, self.amount) @@ -75,14 +79,6 @@ class Expenditure(object): s = Split(self, user, share, split_text_dict[user]) meta.Session.add(s) - def tag(self, tags): - map(meta.Session.delete, - meta.Session.query(Tag).filter_by(expenditure_id=self.id)) - - for tag in tags: - t = Tag(self, tag) - meta.Session.add(t) - def involves(self, user): "Returns True if ``user`` is involved in this expenditure." return (any((split.user == user) and (split.share != 0)