Skip to content

Commit

Permalink
[FIX] pms-l10n_es: rename field communication_id -> batch_id, extract…
Browse files Browse the repository at this point in the history
… from ses processing communication communication_id, not re set communication result, etc.
  • Loading branch information
miguelpadin committed Dec 4, 2024
1 parent 832c203 commit 2724ef3
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 24 deletions.
2 changes: 1 addition & 1 deletion pms_l10n_es/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

{
"name": "PMS Spanish Adaptation",
"version": "14.0.2.15.0",
"version": "14.0.3.0.0",
"author": "Commit [Sun], Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": True,
Expand Down
20 changes: 20 additions & 0 deletions pms_l10n_es/migrations/14.0.3.0.0/post-migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import logging
import xml.etree.cElementTree as ET

from openupgradelib import openupgrade

_logger = logging.getLogger(__name__)


@openupgrade.migrate()
def migrate(env, version):
_logger.info("Get commuication_ids from soap process response...")
for ses_communication in env["pms.ses.communication"].search(
[
("state", "=", "processed"),
("entity", "=", "RH"),
("operation", "=", "A"),
]
):
root = ET.fromstring(ses_communication.response_query_status_soap)
ses_communication.communication_id = root.find(".//codigoComunicacion").text
14 changes: 14 additions & 0 deletions pms_l10n_es/migrations/14.0.3.0.0/pre-migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import logging

from openupgradelib import openupgrade

_logger = logging.getLogger(__name__)

_field_renames = [
("pms.ses.communication", "pms_ses_communication", "communication_id", "batch_id"),
]


@openupgrade.migrate()
def migrate(env, version):
openupgrade.rename_fields(env, _field_renames)
6 changes: 5 additions & 1 deletion pms_l10n_es/models/pms_ses_communication.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ class PmsSesCommunication(models.Model):
index=True,
store=True,
)
batch_id = fields.Char(
string="Batch ID",
default=False,
)
communication_id = fields.Char(
string="Communication ID",
help="ID of the communication",
Expand Down Expand Up @@ -99,5 +103,5 @@ def force_send_communication(self):
for record in self:
self.env["traveller.report.wizard"].ses_send_communication(
entity=record.entity,
communication_id=record.communication_id,
pms_ses_communication_id=record.id,
)
11 changes: 4 additions & 7 deletions pms_l10n_es/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@

/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
Expand Down Expand Up @@ -275,7 +274,7 @@
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: gray; } /* line numbers */
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
Expand All @@ -301,7 +300,7 @@
span.pre {
white-space: pre }

span.problematic, pre.problematic {
span.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -415,9 +414,7 @@ <h2><a class="toc-backref" href="#toc-entry-4">Contributors</a></h2>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-5">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
Expand Down
3 changes: 3 additions & 0 deletions pms_l10n_es/views/pms_ses_communication_views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<sheet>
<group>
<field name="reservation_id" />
<field name="batch_id" />
<field name="communication_id" />
<field name="operation" />
<field name="entity" />
Expand Down Expand Up @@ -52,6 +53,7 @@
>
<field name="pms_property_id" />
<field name="reservation_id" />
<field name="batch_id" />
<field name="communication_id" />
<field name="operation" />
<field name="entity" />
Expand All @@ -73,6 +75,7 @@
<field name="arch" type="xml">
<search string="Log SES Communications">
<field name="pms_property_id" widget="selection" />
<field name="batch_id" />
<field name="communication_id" />
<field name="reservation_id" />
<!-- filters -->
Expand Down
32 changes: 17 additions & 15 deletions pms_l10n_es/wizards/traveller_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ def _generate_payload(lessor_id, operation, entity, data):
<codigoArrendador>{lessor_id}</codigoArrendador>
<aplicacion>Roomdoo</aplicacion>
<tipoOperacion>{operation}</tipoOperacion>
<tipoComunicacion>{entity}</tipoComunicacion>
{'<tipoComunicacion>'+entity+'</tipoComunicacion>' if entity else ''}
</cabecera>
<solicitud>{data}</solicitud>
</peticion>
Expand Down Expand Up @@ -1072,13 +1072,13 @@ def generate_xml_reservations_travellers_report(
return xml_str

@api.model
def ses_send_communications(self, entity, communication_id=False):
def ses_send_communications(self, entity, pms_ses_communication_id=False):
domain = [
("state", "=", "to_send"),
("entity", "=", entity),
]
if communication_id:
domain.append(("id", "=", communication_id))
if pms_ses_communication_id:
domain.append(("id", "=", pms_ses_communication_id))

Check warning on line 1081 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1081

Added line #L1081 was not covered by tests
for communication in self.env["pms.ses.communication"].search(domain):
data = False
try:
Expand Down Expand Up @@ -1135,15 +1135,16 @@ def ses_send_communications(self, entity, communication_id=False):
communication.response_communication_soap = soap_response.text
result_code = root.find(".//codigo").text
if result_code == REQUEST_CODE_OK:
communication.communication_id = root.find(".//lote").text
communication.batch_id = root.find(".//lote").text

Check warning on line 1138 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1138

Added line #L1138 was not covered by tests

communication.state = "to_process"
else:
communication.state = "error_sending"

except requests.exceptions.RequestException as e:
_handle_request_exception(communication, e)
except requests.exceptions.HTTPError as http_err:
_handle_request_exception(communication, http_err)
except requests.exceptions.RequestException as e:
_handle_request_exception(communication, e)

Check warning on line 1147 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1147

Added line #L1147 was not covered by tests
except Exception as e:
_handle_request_exception(communication, e)

Expand Down Expand Up @@ -1199,18 +1200,17 @@ def ses_send_incomplete_traveller_reports(
communication.response_communication_soap = soap_response.text
result_code = root.find(".//codigo").text
if result_code == REQUEST_CODE_OK:
communication.communication_id = root.find(".//lote").text
communication.batch_id = root.find(".//lote").text

Check warning on line 1203 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1203

Added line #L1203 was not covered by tests
if communication.operation == CREATE_OPERATION_CODE:
communication.state = "to_process"
else:
communication.state = "processed"
else:
communication.state = "error_sending"

except requests.exceptions.RequestException as e:
_handle_request_exception(communication, e)
except requests.exceptions.HTTPError as http_err:
_handle_request_exception(communication, http_err)
except requests.exceptions.RequestException as e:
_handle_request_exception(communication, e)

Check warning on line 1213 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1213

Added line #L1213 was not covered by tests
except Exception as e:
_handle_request_exception(communication, e)

Expand All @@ -1226,7 +1226,7 @@ def ses_process_communications(self):
var_xml_get_batch = f"""
<con:lotes
xmlns:con="http://www.neg.hospedajes.mir.es/consultarComunicacion">
<con:lote>{communication.communication_id}</con:lote>
<con:lote>{communication.batch_id}</con:lote>
</con:lotes>
"""
communication.query_status_xml = var_xml_get_batch
Expand All @@ -1249,13 +1249,15 @@ def ses_process_communications(self):
)
soap_response.raise_for_status()
root = ET.fromstring(soap_response.text)
communication.response_communication_soap = soap_response.text
result_code = root.find(".//codigo").text
communication.response_query_status_soap = soap_response.text
if result_code == REQUEST_CODE_OK:
result_status = root.find(".//codigoEstado").text
if result_status == XML_OK:
communication.state = "processed"
communication.communication_id = root.find(

Check warning on line 1258 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1258

Added line #L1258 was not covered by tests
".//codigoComunicacion"
).text
communication.processing_result = root.find(
".//descripcion"
).text
Expand All @@ -1269,9 +1271,9 @@ def ses_process_communications(self):
else:
communication.state = "error_processing"
communication.processing_result = root.find(".//descripcion").text
except requests.exceptions.RequestException as e:
_handle_request_exception(communication, e)
except requests.exceptions.HTTPError as http_err:
_handle_request_exception(communication, http_err)
except requests.exceptions.RequestException as e:
_handle_request_exception(communication, e)

Check warning on line 1277 in pms_l10n_es/wizards/traveller_report.py

View check run for this annotation

Codecov / codecov/patch

pms_l10n_es/wizards/traveller_report.py#L1277

Added line #L1277 was not covered by tests
except Exception as e:
_handle_request_exception(communication, e)

0 comments on commit 2724ef3

Please sign in to comment.