aboutsummaryrefslogtreecommitdiff
path: root/ihatemoney/models.py
diff options
context:
space:
mode:
authorAlexis Metaireau <alexis@notmyidea.org>2018-07-16 22:58:48 +0200
committerGitHub <noreply@github.com>2018-07-16 22:58:48 +0200
commit1d0880f3cb39463483a4241197d8eb0d817dffc6 (patch)
treeffb843f74d1d1337a6e66d92b5deb21c0dd9c77e /ihatemoney/models.py
parentc3f8ddd274a40b164b5fceeab44c1c26cf053b04 (diff)
parentf9cc4e56230ce04f58d457bfc8f468d56e53cb36 (diff)
downloadihatemoney-mirror-1d0880f3cb39463483a4241197d8eb0d817dffc6.zip
ihatemoney-mirror-1d0880f3cb39463483a4241197d8eb0d817dffc6.tar.gz
ihatemoney-mirror-1d0880f3cb39463483a4241197d8eb0d817dffc6.tar.bz2
Merge branch 'master' into almet/fix-supervisord-template
Diffstat (limited to 'ihatemoney/models.py')
-rw-r--r--ihatemoney/models.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/ihatemoney/models.py b/ihatemoney/models.py
index aa3083d..c6ce23f 100644
--- a/ihatemoney/models.py
+++ b/ihatemoney/models.py
@@ -53,6 +53,26 @@ class Project(db.Model):
return balances
@property
+ def members_stats(self):
+ """Compute what each member has paid
+
+ :return: one stat dict per member
+ :rtype list:
+ """
+ return [{
+ 'member': member,
+ 'paid': sum([
+ bill.amount
+ for bill in self.get_member_bills(member.id).all()
+ ]),
+ 'spent': sum([
+ bill.pay_each() * member.weight
+ for bill in self.get_bills().all() if member in bill.owers
+ ]),
+ 'balance': self.balance[member.id]
+ } for member in self.active_members]
+
+ @property
def uses_weights(self):
return len([i for i in self.members if i.weight != 1]) > 0