for user, share in amounts_dict.iteritems():
s = Split(self, user, share)
- meta.Session.save(s)
+ meta.Session.add(s)
+
+ def involves(self, user):
+ "Returns True if ``user`` is involved in this expenditure."
+ return (meta.Session.query(Split.id).\
+ filter(Split.expenditure == self).\
+ filter(Split.user == user).\
+ filter(Split.share != 0).first() is not None)
+
+ def share(self, user):
+ "Return the share corresponding to ``user``."
+ share = meta.Session.query(Split.share).\
+ filter(Split.expenditure == self).\
+ filter(Split.user == user).scalar()
+ if share is None:
+ return Currency(0)
+ else:
+ return share
__all__ = ['Expenditure']