diff --git a/imio_teleservices_templatetags/templatetags/imio_teleservices.py b/imio_teleservices_templatetags/templatetags/imio_teleservices.py index 85cceb9..aae3a08 100644 --- a/imio_teleservices_templatetags/templatetags/imio_teleservices.py +++ b/imio_teleservices_templatetags/templatetags/imio_teleservices.py @@ -1,4 +1,5 @@ import re +from decimal import Decimal import requests from django import template @@ -21,6 +22,11 @@ def is_strong_authentication(session_user): @register.filter def liste_type_rdv_plusieurs_personnes(value): + """ + Anciennement liste_type_general_rdv.py + value : (str) url api liste des type de rendez-vous + return : (list[str]) liste des différent type de rendez-vous sans - x personnes + """ headers = {'Accept': 'application/json'} liste = requests.get(value, headers=headers).json() return list(set([re.sub(r" (pour|-) [0-9]+ personne(s)?$", "", x["text"]) for x in liste["data"]])) @@ -28,7 +34,30 @@ def liste_type_rdv_plusieurs_personnes(value): @register.filter def liste_type_rdv_nombres_personnes(value, arg): + """ + Anciennement liste_type_rdv.py + value : (str) url api liste des type de rendez-vous + arg : (str) type de rendez-vous + return : (list[str]) liste des rendez-vous de type arg + """ headers = {'Accept': 'application/json'} liste = requests.get(value, headers=headers).json() return [x for x in liste["data"] if arg in x["text"]] + + +@register.filter +def calcul_total_abonnement_stationnement(fields_bloc): + """ + Anciennement fields_bloc.py + fields_bloc : (list[dict]) Bloc de champ Abonnements de stationnement données bénéficiaires + return : (Decimal) addition des entrées price + """ + total = 0 + + for field in fields_bloc: + for value in field.values(): + if isinstance(value, dict): + total += Decimal(value.get('price')) + + return total