from bluechips.model.split import Split
from bluechips.model import meta
from bluechips.model.types import Currency
+from bluechips.model.tag import Tag
from decimal import Decimal
from datetime import datetime
import random
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.
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 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)