diff --git a/passerelle_imio_extra_fees/models.py b/passerelle_imio_extra_fees/models.py index 99b2e31..d8f235e 100644 --- a/passerelle_imio_extra_fees/models.py +++ b/passerelle_imio_extra_fees/models.py @@ -38,14 +38,19 @@ class ExtraFees(BaseResource): data = json.loads(request.body) nb_documents = 0 + # Balaie chaque elem du panier. for basket_item in data['data']: + nb_letter = 0 + postage_fee = Decimal('0.74') + max_doc_in_letter = 5 try: nb_documents += int(basket_item['request_data']['nb_documents']) + if Decimal(basket_item['request_data']['country_price']) > postage_fee: + postage_fee = Decimal(basket_item['request_data']['country_price']) except KeyError: # basket item not associated with any document, no fee pass - + nb_letter = int(nb_documents / max_doc_in_letter) + (((nb_documents % max_doc_in_letter) > 0) and 1 or 0) # compute fee - postage_fee = 3 + nb_documents * 1 - + postage_fee = nb_letter * postage_fee return {'data': [{'subject': force_text(_('Postage')), 'amount': str(postage_fee)}]}