diff options
| author | Alexis Metaireau <alexis@notmyidea.org> | 2018-07-16 22:58:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-16 22:58:48 +0200 |
| commit | 1d0880f3cb39463483a4241197d8eb0d817dffc6 (patch) | |
| tree | ffb843f74d1d1337a6e66d92b5deb21c0dd9c77e /ihatemoney/models.py | |
| parent | c3f8ddd274a40b164b5fceeab44c1c26cf053b04 (diff) | |
| parent | f9cc4e56230ce04f58d457bfc8f468d56e53cb36 (diff) | |
| download | ihatemoney-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.py | 20 |
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 |
