diff --git a/www/conservancy/apps/supporter/views.py b/www/conservancy/apps/supporter/views.py index cad15e8071a0db88f628cbdeebc4eb961275877b..0c92941d4cd3c05bf59d7c9f6a657215ec7622b8 100644 --- a/www/conservancy/apps/supporter/views.py +++ b/www/conservancy/apps/supporter/views.py @@ -1,7 +1,14 @@ import conservancy def index(request): - partial_amount = conservancy.param_if_valid(request.GET, 'upgrade', 'upgrade_id', 0) + with conservancy.ParameterValidator(request.GET, 'upgrade_id') as validator: + try: + amount_param = float(request.GET['upgrade']) + except (KeyError, ValueError): + validator.fail() + else: + validator.validate('{.2f}'.format(amount_param)) + partial_amount = amount_param if validator.valid else 0 context = { 'partial_amount': partial_amount, 'minimum_amount': 120 - partial_amount,