def admin_summary(spending_request): spec = { "id": "id", "title": "title", "status": T.get_status_display(), "group": ("group", group_formatter), "event": "event", "category": T.get_category_display(), "category_precisions": "category_precisions", "explanation": "explanation", "amount": ("amount", display_price), "spending_date": "spending_date", "provider": "provider", "iban": "iban", "payer_name": "payer_name", } values = glom(spending_request, spec) return [{ "label": get_spending_request_field_label(f), "value": values[f] } for f in spec]
logger = logging.getLogger(__name__) def date_locale(d): return d.astimezone(timezone.get_current_timezone()) PAYMENT_SPEC = { "créé": ("created", date_locale), "dernier événement": ("modified", date_locale), "id": "id", "email": "email", "nom": "last_name", "prenom": "first_name", "telephone": Coalesce("phone_number.as_international", default=None), "statut": T.get_status_display(), "montant": ("price", lambda m: Decimal(m) / 100), "type": "type", "mode": "mode", "abonnement associé": "subscription_id", "adresse1": Coalesce(T.meta["location_address1"], default=None), "adresse2": Coalesce(T.meta["location_address1"], default=None), "code postal": Coalesce(T.meta["location_zip"], default=None), "ville": Coalesce(T.meta["location_city"], default=None), "pays": Coalesce(T.meta["location_country"], default=None), } STATUS_MAPPING = { f[len("STATUS_") :]: getattr(Payment, f) for f in dir(Payment)