diff --git a/api/utils/serializer/v1/compensation.py b/api/utils/serializer/v1/compensation.py index a94527a5..9b33e65e 100644 --- a/api/utils/serializer/v1/compensation.py +++ b/api/utils/serializer/v1/compensation.py @@ -88,6 +88,11 @@ class CompensationAPISerializerV1(AbstractModelAPISerializerV1, AbstractCompensa # Nothing to do here return obj + # Transform a potential external identifier into an internal one + intervention_ext_id = self._get_external_identifier(intervention_id) + if intervention_ext_id: + intervention_id = intervention_ext_id.internal_id + intervention = Intervention.objects.get( id=intervention_id, ) diff --git a/api/utils/serializer/v1/deduction.py b/api/utils/serializer/v1/deduction.py index 708b3775..5d28c31b 100644 --- a/api/utils/serializer/v1/deduction.py +++ b/api/utils/serializer/v1/deduction.py @@ -62,6 +62,14 @@ class DeductionAPISerializerV1(AbstractModelAPISerializerV1, if surface <= 0: raise ValueError("Surface must be > 0 m²") + # Check if external identifiers need to be mapped onto internal ones + acc_ext_id = self._get_external_identifier(acc_id) + intervention_ext_id = self._get_external_identifier(intervention_id) + if acc_ext_id: + acc_id = acc_ext_id.internal_id + if intervention_ext_id: + intervention_id = intervention_ext_id.internal_id + acc = EcoAccount.objects.get( id=acc_id, deleted__isnull=True,