...
 
Commits (6)
<a name="4.5.2"></a>
## 4.5.2 (2019-10-09)
#### Bug Fixes
* **finkok:** actualiza el proceso de cancelación ([c55a9b72](c55a9b72))
<a name="4.5.1"></a>
## 4.5.1 (2019-09-27)
#### Bug Fixes
* **ir.attachment.facturae.mx:** mejora la posición del savepoint para cachar las excepciones ([117e30b6](117e30b6))
<a name="2.5.0"></a>
## 2.5.0 (2019-09-23)
......
......@@ -441,21 +441,21 @@ class IrAttachmentFacturaeMx(models.Model):
# Call function which connects with PACs but create a savepoint to avoid
# loose given record state and prevent sending several times same record to
# get PAC validation
try:
with self.env.cr.savepoint():
with self.env.cr.savepoint():
try:
res = params_pacs.sign_cfdi(self.file_xml.datas)
except Exception as e:
record.message_post(e.message)
else:
xml_data = res.get("cfdi_xml", False).encode("UTF-8")
# Create XML attachment
attachment_id = self._create_ir_attachment(
self.name, "xml", xml_data, record.id
)
# Save created XML into ir.attachment.facturae.mx object
self.write({"file_xml_sign": attachment_id, "state": "signed"})
# Remove relation from not signed XML to current record
self.file_xml.write({"res_id": 0, "res_model": "mail.compose.message"})
except Exception as e:
record.message_post(e.message)
else:
xml_data = res.get("cfdi_xml", False).encode("UTF-8")
# Create XML attachment
attachment_id = self._create_ir_attachment(
self.name, "xml", xml_data, record.id
)
# Save created XML into ir.attachment.facturae.mx object
self.write({"file_xml_sign": attachment_id, "state": "signed"})
# Remove relation from not signed XML to current record
self.file_xml.write({"res_id": 0, "res_model": "mail.compose.message"})
def _create_ir_attachment(self, name, extension, data, res_id):
"""Function use to create ir.attachment related
......
......@@ -2,7 +2,7 @@
{
"name": "PAC Params for CFDI",
"version": "1.0.0",
"version": "1.0.1",
"author": "OpenPyme",
"category": "Localization/Mexico",
"website": "http://www.openpyme.mx",
......
......@@ -16,7 +16,7 @@ from openerp import fields, models
from openerp.exceptions import Warning as UserError
from openerp.tools.translate import _
from ..lib.pac_answer import PacCancelAnswer, PacConsultAnswer
from ..lib.pac_answer import PacConsultAnswer
from ..models import exceptions as pac_exceptions
......@@ -186,14 +186,11 @@ class ParamsPac(models.Model):
# but this list has only one value since we only send one
# folio fiscal
folio = result.Folios.Folio[0]
cancel_answer = PacCancelAnswer(
folio.UUID, folio.EstatusUUID, folio.EstatusCancelacion
)
if cancel_answer.estatus not in ["200", "201", "202", "no_cancelable"]:
if folio.EstatusUUID not in ["200", "201", "202", "no_cancelable"]:
raise pac_exceptions.CancelError(
cancel_answer.estatus, _cancel_errors.get(cancel_answer.estatus, "")
folio.EstatusUUID, _cancel_errors.get(folio.EstatusUUID, "")
)
return cancel_answer.check_cancel_status()
return self.consult_cfdi_finkok(cfdi)
def consult_cfdi_finkok(self, cfdi):
username = self.user.encode("utf-8")
......