From cf1eeac217956ac9b797f5eb1060e3d516e0ec0a Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Fri, 16 Feb 2018 14:55:31 -0600 Subject: [PATCH] Fix - Issue #189 --- source/app/models/main.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/source/app/models/main.py b/source/app/models/main.py index f74a8c6..ea245b1 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -6103,28 +6103,33 @@ class CfdiNomina(BaseModel): def _validate_incapacidades(self, row): data = [] for i, key in enumerate(row[::3]): + msg = '' key = row[i * 3] ti = SATTipoIncapacidad.get_by_key(key) if ti is None: - continue + msg = 'No se encontrón el tipo de incapacidad' + break - days = 0 - if isinstance(row[i * 3 + 1], float): - days = int(row[i * 3 + 1]) - importe = 0.0 - if isinstance(row[i * 3 + 2], float): - importe = round(row[i * 3 + 2], DECIMALES) + if isinstance(row[i * 3 + 1], str): + msg = 'Los dias de incapacidad debe ser un número' + break + if isinstance(row[i * 3 + 2], str): + msg = 'El importe de la incapacidad debe ser un número' + break + + days = int(row[i * 3 + 1]) + importe = round(row[i * 3 + 2], DECIMALES) if not days or not importe: - continue + break new = { - 'dias': ti, - 'tipo': days, + 'dias': days, + 'tipo': ti, 'importe': importe, } data.append(new) - return data, '' + return data, msg def _validate_exists(self, values): result = (CfdiNomina