From 96b9bc3c49174a09c6c77b0fcdd352ebff121814 Mon Sep 17 00:00:00 2001 From: Aaron Date: Tue, 16 Apr 2019 15:53:19 -0500 Subject: [PATCH] check calcs of grant totals for proposals that are over-funded --- backend/grant/admin/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/grant/admin/views.py b/backend/grant/admin/views.py index 07119ba1..a625699a 100644 --- a/backend/grant/admin/views.py +++ b/backend/grant/admin/views.py @@ -1,5 +1,5 @@ from datetime import datetime -from decimal import Decimal +from decimal import Decimal, ROUND_HALF_DOWN from functools import reduce from flask import Blueprint, request @@ -773,7 +773,7 @@ def financials(): } def add_str_dec(a: str, b: str): - return str(Decimal(a) + Decimal(b)) + return str((Decimal(a) + Decimal(b)).quantize(Decimal('0.001'), rounding=ROUND_HALF_DOWN)) proposals = Proposal.query.all() @@ -782,13 +782,13 @@ def financials(): if p.stage in [ProposalStage.WIP, ProposalStage.COMPLETED]: # matching matching = Decimal(p.contributed) * Decimal(p.contribution_matching) - remaining = Decimal(p.target) - Decimal(p.contributed) + remaining = max(Decimal(p.target) - Decimal(p.contributed), Decimal('0.0')) if matching > remaining: matching = remaining # bounty bounty = Decimal(p.contribution_bounty) - remaining = Decimal(p.target) - (matching + Decimal(p.contributed)) + remaining = max(Decimal(p.target) - (matching + Decimal(p.contributed)), Decimal('0.0')) if bounty > remaining: bounty = remaining