X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Fmodel%2Fexpenditure.py;h=d732fbe18328c9d6b909bbb52635f0f1775b6033;hb=fed6d11d2cbd6d617d18bc01a78196865da4155b;hp=4669ad1090c740aaac7284c1903bd01cbac0d037;hpb=711c0937fcfe86e310008a7332069d2efdada68a;p=bluechips.git diff --git a/bluechips/model/expenditure.py b/bluechips/model/expenditure.py index 4669ad1..d732fbe 100644 --- a/bluechips/model/expenditure.py +++ b/bluechips/model/expenditure.py @@ -1,7 +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 create_tag from decimal import Decimal from datetime import datetime import random @@ -15,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) @@ -28,7 +33,7 @@ class Expenditure(object): split_percentage = Decimal(100) / Decimal(residents.count()) self.split(dict((resident, split_percentage) for resident in residents)) - def split(self, split_dict): + def split(self, split_dict, split_text_dict): """ Split up an expenditure. @@ -71,7 +76,7 @@ class Expenditure(object): amounts_dict[winner] -= Currency(1) for user, share in amounts_dict.iteritems(): - s = Split(self, user, share) + s = Split(self, user, share, split_text_dict[user]) meta.Session.add(s) def involves(self, user):