mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[REF] refactor content chckin list
This commit is contained in:
@@ -1,98 +0,0 @@
|
||||
import datetime
|
||||
|
||||
from odoo import _, http
|
||||
from odoo.http import request
|
||||
|
||||
from odoo.tools.misc import formatLang, format_date, get_lang
|
||||
|
||||
|
||||
class PmsReservationRestController(http.Controller):
|
||||
@http.route(
|
||||
"/reservations",
|
||||
type="json",
|
||||
website=True,
|
||||
auth="public",
|
||||
)
|
||||
def room_type_list(self):
|
||||
payload = http.request.jsonrequest.get("params")
|
||||
|
||||
return self._get_available_room_types(payload)
|
||||
|
||||
def _get_available_room_types(self, payload):
|
||||
room_types = []
|
||||
checkin = payload["checkin"]
|
||||
checkin = datetime.datetime.strptime(checkin, get_lang(request.env).date_format).date()
|
||||
|
||||
checkout = payload["checkout"]
|
||||
checkout = datetime.datetime.strptime(checkout, get_lang(request.env).date_format).date()
|
||||
|
||||
pms_property_id = int(payload["pms_property_id"])
|
||||
pricelist_id = int(payload["pricelist_id"])
|
||||
|
||||
reservation = False
|
||||
if isinstance(payload["reservation_id"], int):
|
||||
reservation_id = int(payload["reservation_id"])
|
||||
|
||||
reservation = (
|
||||
request.env["pms.reservation"]
|
||||
.sudo()
|
||||
.search([("id", "=", int(reservation_id))])
|
||||
)
|
||||
if not reservation:
|
||||
reservation_line_ids = False
|
||||
else:
|
||||
reservation_line_ids = reservation.reservation_line_ids.ids
|
||||
|
||||
rooms_avail = (
|
||||
request.env["pms.availability.plan"]
|
||||
.sudo()
|
||||
.rooms_available(
|
||||
checkin=checkin,
|
||||
checkout=checkout,
|
||||
current_lines=reservation_line_ids,
|
||||
pricelist_id=pricelist_id,
|
||||
pms_property_id=pms_property_id,
|
||||
)
|
||||
)
|
||||
|
||||
pms_room_types = request.env["pms.room.type"].sudo().search([])
|
||||
|
||||
for room_type in pms_room_types.filtered(lambda r: r.total_rooms_count > 0):
|
||||
count = len(
|
||||
rooms_avail.filtered(lambda r: r.room_type_id.id == room_type.id)
|
||||
)
|
||||
room_types.append(
|
||||
{
|
||||
"id": room_type.id,
|
||||
"name": room_type.name + " (" + str(count) + ")",
|
||||
}
|
||||
)
|
||||
|
||||
return room_types
|
||||
|
||||
#
|
||||
# @http.route(
|
||||
# "/reservation/<int:reservation_id>",
|
||||
# type="http",
|
||||
# auth="user",
|
||||
# methods=["GET", "POST"],
|
||||
# website=True,
|
||||
# )
|
||||
# def reservation_detail(self, reservation_id, **post):
|
||||
# reservation = request.env["pms.reservation"].browse([reservation_id])
|
||||
# if not reservation:
|
||||
# raise MissingError(_("This document does not exist."))
|
||||
# values = {
|
||||
# "page_name": "Reservation",
|
||||
# "reservation": reservation,
|
||||
# }
|
||||
# if post and "message" in post:
|
||||
# try:
|
||||
# reservation.message_post(
|
||||
# subject=_("PWA Message"),
|
||||
# body=post["message"],
|
||||
# message_type="comment",
|
||||
# )
|
||||
# except Exception as e:
|
||||
# _logger.critical(e)
|
||||
# return http.request.render("pms_pwa.roomdoo_reservation_detail", values)
|
||||
@@ -4,16 +4,26 @@ from odoo import fields, models
|
||||
class PmsProperty(models.Model):
|
||||
_inherit = "pms.property"
|
||||
|
||||
police_type = fields.Selection(
|
||||
institution = fields.Selection(
|
||||
[
|
||||
("guardia_civil", "Guardia Civil"),
|
||||
("policia_nacional", "Policía Nacional"),
|
||||
("ertxaintxa", "Ertxaintxa"),
|
||||
("mossos", "Mossos_d'esquadra"),
|
||||
("policia_nacional", "Policía Nacional (soon)"),
|
||||
("ertxaintxa", "Ertxaintxa (soon)"),
|
||||
("mossos", "Mossos_d'esquadra (soon)"),
|
||||
],
|
||||
string="Police Type",
|
||||
string="Institution",
|
||||
default="guardia_civil",
|
||||
help="Institution to send daily guest data.",
|
||||
)
|
||||
institution_property_id = fields.Char(
|
||||
string="Institution property id",
|
||||
size=10,
|
||||
help="Id provided by institution to send data from property.",
|
||||
)
|
||||
institution_user = fields.Char(
|
||||
string="Institution user", help="User provided by institution to send the data."
|
||||
)
|
||||
institution_password = fields.Char(
|
||||
string="Institution password",
|
||||
help="Password provided by institution to send the data.",
|
||||
)
|
||||
police_number = fields.Char("Police Number", size=10)
|
||||
police_user = fields.Char("Police User")
|
||||
police_pass = fields.Char("Police Password")
|
||||
|
||||
@@ -1,105 +1,104 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIIwDCCB6igAwIBAgIQGBMhPyx6Rolez7EMhDFA1jANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG
|
||||
EwJFUzERMA8GA1UECgwIRk5NVC1SQ00xJTAjBgNVBAsMHEFDIENvbXBvbmVudGVzIEluZm9ybcOh
|
||||
dGljb3MwHhcNMjAwNTI4MTIzOTQwWhcNMjIwNTI4MTIzOTM5WjCBmDELMAkGA1UEBhMCRVMxDzAN
|
||||
BgNVBAcMBk1BRFJJRDEuMCwGA1UECgwlRElSRUNDSU9OIEdFTkVSQUwgREUgTEEgR1VBUkRJQSBD
|
||||
SVZJTDESMBAGA1UEBRMJUzI4MTYwMDNEMRgwFgYDVQRhDA9WQVRFUy1TMjgxNjAwM0QxGjAYBgNV
|
||||
BAMMESouZ3VhcmRpYWNpdmlsLmVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApA++
|
||||
/lNaimrEGvflr1eNHDDLmEZF/FKIA9Bd9YJnieciGg+3ZJ9/Kd99eV1V9zIgfdSLLDucMeflp6s6
|
||||
8v563u4+zX7AgREB539rKAaCUwtqVcutZROL+NIjkoHHtMHgMlCbbQaKC32n8awaB0YRNGI+eLMJ
|
||||
4u7X2iBR1OohEjGFa1xfDS2UHOeWsxW5eDPGhK3iaDSHmcy1jtIGVmas4YtcNFRf/8y2v2I2QqHY
|
||||
2l7IbiDMAdSW2nPme/5HZXvIlkDdD4SG17xhIAe1uPEBKd0g6lt89OLCFetNwcRaqjFtA5DrpmiQ
|
||||
0hqHQTk8AST6ibpRvAZCKvln+uXNWcDDywIDAQABo4IFVDCCBVAwDAYDVR0TAQH/BAIwADCBgQYI
|
||||
KwYBBQUHAQEEdTBzMDsGCCsGAQUFBzABhi9odHRwOi8vb2NzcGNvbXAuY2VydC5mbm10LmVzL29j
|
||||
c3AvT2NzcFJlc3BvbmRlcjA0BggrBgEFBQcwAoYoaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvY2Vy
|
||||
dHMvQUNDT01QLmNydDCCASgGA1UdIASCAR8wggEbMIIBDQYKKwYBBAGsZgMJETCB/jApBggrBgEF
|
||||
BQcCARYdaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvZHBjcy8wgdAGCCsGAQUFBwICMIHDDIHAQ2Vy
|
||||
dGlmaWNhZG8gd2lsZGNhcmQgZGUgYXV0ZW50aWNhY2nDs24gZGUgc2l0aW8gd2ViIHNlZ8O6biBy
|
||||
ZWdsYW1lbnRvIGV1cm9wZW8gZUlEQVMuIFN1amV0byBhIGNvbmRpY2lvbmVzIGRlIHVzbyBzZWfD
|
||||
um4gRFBDIGRlIEZOTVQtUkNNLCBOSUY6IFEyODI2MDA0LUogKEMvSm9yZ2UgSnVhbiAxMDYtMjgw
|
||||
MDktTWFkcmlkLUVzcGHDsWEpMAgGBgQAj3oBBzAcBgNVHREEFTATghEqLmd1YXJkaWFjaXZpbC5l
|
||||
czATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFEMrHDu3J/7S
|
||||
OVend+G0LsfbflPRMIGmBggrBgEFBQcBAwSBmTCBljALBgYEAI5GAQMCAQ8wEwYGBACORgEGMAkG
|
||||
BwQAjkYBBgMwcgYGBACORgEFMGgwMhYsaHR0cHM6Ly93d3cuY2VydC5mbm10LmVzL3Bkcy9QRFNf
|
||||
Q09NUF9lcy5wZGYTAmVzMDIWLGh0dHBzOi8vd3d3LmNlcnQuZm5tdC5lcy9wZHMvUERTX0NPTVBf
|
||||
ZW4ucGRmEwJlbjAfBgNVHSMEGDAWgBQZ+FgvFNamzJsEmAgNTNerAKeDZTCB4AYDVR0fBIHYMIHV
|
||||
MIHSoIHPoIHMhoGebGRhcDovL2xkYXBjb21wLmNlcnQuZm5tdC5lcy9DTj1DUkwxLE9VPUFDJTIw
|
||||
Q29tcG9uZW50ZXMlMjBJbmZvcm1hdGljb3MsTz1GTk1ULVJDTSxDPUVTP2NlcnRpZmljYXRlUmV2
|
||||
b2NhdGlvbkxpc3Q7YmluYXJ5P2Jhc2U/b2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSG
|
||||
KWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2NybHNjb21wL0NSTDEuY3JsMIIBfwYKKwYBBAHWeQIE
|
||||
AgSCAW8EggFrAWkAdwApeb7wnjk5IfBWc59jpXflvld9nGAK+PlNXSZcJV3HhAAAAXJbS5kkAAAE
|
||||
AwBIMEYCIQDxUFJkb+yYGmvDckxbKLZvcycZmEvAX6g8GH3jqr7RjAIhAOshzUdC84VntNxq56Dx
|
||||
160eCj65UVL9A64z7hnXnUKBAHYARqVV63X6kSAwtaKJafTzfREsQXS+/Um4havy/HD+bUcAAAFy
|
||||
W0ua9gAABAMARzBFAiEAj3S5/JDapowZIsHUOFXQuxxb26oIhOy/YfNLZI01pQMCIEN8b4AxHp9Z
|
||||
mj8StFvP4/YLqvYgQbhgewCvFExlsRtVAHYAQcjKsd8iRkoQxqE6CUKHXk4xixsD6+tLx2jwkGKW
|
||||
BvYAAAFyW0ucLAAABAMARzBFAiEAt+XKebp1KrEamXlKU2VkKt6lsRiylbNFTCTpGm5GAP8CIEUT
|
||||
WXZee7o83zyXQ9nBy0t8TcRtI70vuheLQ909va6dMA0GCSqGSIb3DQEBCwUAA4IBAQBJAplPXRRv
|
||||
b4nLZFqQvQjHlr0TSKTiC21vAzXe/1iiuPOPZF3AE1ZcOMEqiPWTN6GOR3UYksZE2Cfm0xqNOytr
|
||||
bj/INmu5tX5U7yvGQxiB8EdHaTdQQknAi/IBEx0KJE+EAT+upOPYbne5km1lffN19WwQ2f3ybAbj
|
||||
l5ZpWR6lSuV3JStUllHAS/0HjwBbqHhxJZ2BTG4Ca5SkHnbK/K1mfwLe2VGVYp7WWUzKkSQQ8Hs0
|
||||
RuY9EZ0sovRH7lL/EIf7uV/5d1V4kW1h7F38jEPDH4UVTHDMMaR9NV/4pES0zQnI6y5NJCiRP39k
|
||||
GFyKTE/4x7pFeIFnXXIwswUWFA9h
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIG1jCCBL6gAwIBAgIQNMarBE42mRJRyCULbJTWwDANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQG
|
||||
EwJFUzERMA8GA1UECgwIRk5NVC1SQ00xGTAXBgNVBAsMEEFDIFJBSVogRk5NVC1SQ00wHhcNMTMw
|
||||
NjI0MTA1MjU5WhcNMjgwNjI0MTA1MjU5WjBHMQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1S
|
||||
Q00xJTAjBgNVBAsMHEFDIENvbXBvbmVudGVzIEluZm9ybcOhdGljb3MwggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQCXVx8rdbF7/xY44CaSqzzGo5BhvzA8knxC/3KJYVzTf+CkOvMxMUDu
|
||||
b8b0h38MDujm/RKZhBNOWbKhxF3U61ZVhcR9xOCciuS/soT80m3BByxAKcZsNka0jCA4XRkglDaA
|
||||
FxCHEZ06MOnvXsSOZDfPYahbQ3VFCVycJuhlHdAwSpmceQwcRYkR6YgXwTiyzCNGivMKAmRS3dIt
|
||||
qDOmDW/nxiDFq/Jd8VWY7GFkwbbAeqYId8FjN8zfvafunsB9SLFkUjPPMeqfmC7Bdh7HMxLpaOXR
|
||||
OwH201cmlebiPkn0xSFxXFqwhhr6yN8UQYZ3O/+xdHLrS6DS9+CJUF6d09ijAgMBAAGjggLIMIIC
|
||||
xDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUGfhYLxTWpsyb
|
||||
BJgIDUzXqwCng2UwgZgGCCsGAQUFBwEBBIGLMIGIMEkGCCsGAQUFBzABhj1odHRwOi8vb2NzcGZu
|
||||
bXRyY21jYS5jZXJ0LmZubXQuZXMvb2NzcGZubXRyY21jYS9PY3NwUmVzcG9uZGVyMDsGCCsGAQUF
|
||||
BzAChi9odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9jZXJ0cy9BQ1JBSVpGTk1UUkNNLmNydDAfBgNV
|
||||
HSMEGDAWgBT3fcX9xOiaG3dkp/UdoMy/h2CabTCB6wYDVR0gBIHjMIHgMIHdBgRVHSAAMIHUMCkG
|
||||
CCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBpgYIKwYBBQUHAgIwgZkM
|
||||
gZZTdWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEZWNsYXJh
|
||||
Y2nDs24gZGUgUHLDoWN0aWNhcyBkZSBDZXJ0aWZpY2FjacOzbiBkZSBsYSBGTk1ULVJDTSAoIEMv
|
||||
IEpvcmdlIEp1YW4sIDEwNi0yODAwOS1NYWRyaWQtRXNwYcOxYSkwgdQGA1UdHwSBzDCByTCBxqCB
|
||||
w6CBwIaBkGxkYXA6Ly9sZGFwZm5tdC5jZXJ0LmZubXQuZXMvQ049Q1JMLE9VPUFDJTIwUkFJWiUy
|
||||
MEZOTVQtUkNNLE89Rk5NVC1SQ00sQz1FUz9hdXRob3JpdHlSZXZvY2F0aW9uTGlzdDtiaW5hcnk/
|
||||
YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYraHR0cDovL3d3dy5jZXJ0LmZu
|
||||
bXQuZXMvY3Jscy9BUkxGTk1UUkNNLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAo2bsQ2xLDcyodieq
|
||||
jd+uy/lfxDw/MbrAq/ZaNFkIlcypUYamOM4vrm5rz8oLjPCoLkJ48P+nP08Gkcl5Q6q6VFcZLia+
|
||||
U3gfHXrkyqToQlrtViGCGH3xA4u56XtMHGXSdk9vQ0yDnW5f7bUEkp+uvcKewrOvNcpbIAgD4eU7
|
||||
gdOS0w7BagcFRBgTKBw2s3z73fRZtouJg/atmWYtXbBsfNjph+pCh+h5sbSyZUVzO5AemyjpYYYN
|
||||
MWDQrTXq+7O8zIPuPaNESjEexuzn+VjHG90RlUK1LygARi+Ir0opD2w6erb/hK8Eea7MFdKQ2ASq
|
||||
NBGJggNo5vfPVvjHiL+Antmh7mQSKL+4YwFU64d4KK9k0C1mbJethDQFKcjTK1vMvnXFiupsIuyT
|
||||
qwKauo7u2zMKzY4r3VYOW9TpMyLPFIY8pII5GyNzXlL0F4nscOvduTEPEYqxeNJfpDDPY/DO8Wfx
|
||||
gdRTy2W3D/UoAulb+Y+nuzGGCtFQrsSMQX487R+aY0nWot/hajef6BcPuxhDfQrg5IafrISVmcJA
|
||||
plb3tXhh0sz7RbYz6jf1bke4eU5fnrTMtGlVteUL2vjrfUPHW07kBJuaQ7sxORNV3bpHisOnHj+A
|
||||
riQzCn5vINpSHW6hTm7IfRkbltu/aQrsMuUhP7HE/v+uXe5CuboV5ubZhHU=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIIwDCCB6igAwIBAgIQGBMhPyx6Rolez7EMhDFA1jANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG
|
||||
EwJFUzERMA8GA1UECgwIRk5NVC1SQ00xJTAjBgNVBAsMHEFDIENvbXBvbmVudGVzIEluZm9ybcOh
|
||||
dGljb3MwHhcNMjAwNTI4MTIzOTQwWhcNMjIwNTI4MTIzOTM5WjCBmDELMAkGA1UEBhMCRVMxDzAN
|
||||
BgNVBAcMBk1BRFJJRDEuMCwGA1UECgwlRElSRUNDSU9OIEdFTkVSQUwgREUgTEEgR1VBUkRJQSBD
|
||||
SVZJTDESMBAGA1UEBRMJUzI4MTYwMDNEMRgwFgYDVQRhDA9WQVRFUy1TMjgxNjAwM0QxGjAYBgNV
|
||||
BAMMESouZ3VhcmRpYWNpdmlsLmVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApA++
|
||||
/lNaimrEGvflr1eNHDDLmEZF/FKIA9Bd9YJnieciGg+3ZJ9/Kd99eV1V9zIgfdSLLDucMeflp6s6
|
||||
8v563u4+zX7AgREB539rKAaCUwtqVcutZROL+NIjkoHHtMHgMlCbbQaKC32n8awaB0YRNGI+eLMJ
|
||||
4u7X2iBR1OohEjGFa1xfDS2UHOeWsxW5eDPGhK3iaDSHmcy1jtIGVmas4YtcNFRf/8y2v2I2QqHY
|
||||
2l7IbiDMAdSW2nPme/5HZXvIlkDdD4SG17xhIAe1uPEBKd0g6lt89OLCFetNwcRaqjFtA5DrpmiQ
|
||||
0hqHQTk8AST6ibpRvAZCKvln+uXNWcDDywIDAQABo4IFVDCCBVAwDAYDVR0TAQH/BAIwADCBgQYI
|
||||
KwYBBQUHAQEEdTBzMDsGCCsGAQUFBzABhi9odHRwOi8vb2NzcGNvbXAuY2VydC5mbm10LmVzL29j
|
||||
c3AvT2NzcFJlc3BvbmRlcjA0BggrBgEFBQcwAoYoaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvY2Vy
|
||||
dHMvQUNDT01QLmNydDCCASgGA1UdIASCAR8wggEbMIIBDQYKKwYBBAGsZgMJETCB/jApBggrBgEF
|
||||
BQcCARYdaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvZHBjcy8wgdAGCCsGAQUFBwICMIHDDIHAQ2Vy
|
||||
dGlmaWNhZG8gd2lsZGNhcmQgZGUgYXV0ZW50aWNhY2nDs24gZGUgc2l0aW8gd2ViIHNlZ8O6biBy
|
||||
ZWdsYW1lbnRvIGV1cm9wZW8gZUlEQVMuIFN1amV0byBhIGNvbmRpY2lvbmVzIGRlIHVzbyBzZWfD
|
||||
um4gRFBDIGRlIEZOTVQtUkNNLCBOSUY6IFEyODI2MDA0LUogKEMvSm9yZ2UgSnVhbiAxMDYtMjgw
|
||||
MDktTWFkcmlkLUVzcGHDsWEpMAgGBgQAj3oBBzAcBgNVHREEFTATghEqLmd1YXJkaWFjaXZpbC5l
|
||||
czATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFEMrHDu3J/7S
|
||||
OVend+G0LsfbflPRMIGmBggrBgEFBQcBAwSBmTCBljALBgYEAI5GAQMCAQ8wEwYGBACORgEGMAkG
|
||||
BwQAjkYBBgMwcgYGBACORgEFMGgwMhYsaHR0cHM6Ly93d3cuY2VydC5mbm10LmVzL3Bkcy9QRFNf
|
||||
Q09NUF9lcy5wZGYTAmVzMDIWLGh0dHBzOi8vd3d3LmNlcnQuZm5tdC5lcy9wZHMvUERTX0NPTVBf
|
||||
ZW4ucGRmEwJlbjAfBgNVHSMEGDAWgBQZ+FgvFNamzJsEmAgNTNerAKeDZTCB4AYDVR0fBIHYMIHV
|
||||
MIHSoIHPoIHMhoGebGRhcDovL2xkYXBjb21wLmNlcnQuZm5tdC5lcy9DTj1DUkwxLE9VPUFDJTIw
|
||||
Q29tcG9uZW50ZXMlMjBJbmZvcm1hdGljb3MsTz1GTk1ULVJDTSxDPUVTP2NlcnRpZmljYXRlUmV2
|
||||
b2NhdGlvbkxpc3Q7YmluYXJ5P2Jhc2U/b2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSG
|
||||
KWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2NybHNjb21wL0NSTDEuY3JsMIIBfwYKKwYBBAHWeQIE
|
||||
AgSCAW8EggFrAWkAdwApeb7wnjk5IfBWc59jpXflvld9nGAK+PlNXSZcJV3HhAAAAXJbS5kkAAAE
|
||||
AwBIMEYCIQDxUFJkb+yYGmvDckxbKLZvcycZmEvAX6g8GH3jqr7RjAIhAOshzUdC84VntNxq56Dx
|
||||
160eCj65UVL9A64z7hnXnUKBAHYARqVV63X6kSAwtaKJafTzfREsQXS+/Um4havy/HD+bUcAAAFy
|
||||
W0ua9gAABAMARzBFAiEAj3S5/JDapowZIsHUOFXQuxxb26oIhOy/YfNLZI01pQMCIEN8b4AxHp9Z
|
||||
mj8StFvP4/YLqvYgQbhgewCvFExlsRtVAHYAQcjKsd8iRkoQxqE6CUKHXk4xixsD6+tLx2jwkGKW
|
||||
BvYAAAFyW0ucLAAABAMARzBFAiEAt+XKebp1KrEamXlKU2VkKt6lsRiylbNFTCTpGm5GAP8CIEUT
|
||||
WXZee7o83zyXQ9nBy0t8TcRtI70vuheLQ909va6dMA0GCSqGSIb3DQEBCwUAA4IBAQBJAplPXRRv
|
||||
b4nLZFqQvQjHlr0TSKTiC21vAzXe/1iiuPOPZF3AE1ZcOMEqiPWTN6GOR3UYksZE2Cfm0xqNOytr
|
||||
bj/INmu5tX5U7yvGQxiB8EdHaTdQQknAi/IBEx0KJE+EAT+upOPYbne5km1lffN19WwQ2f3ybAbj
|
||||
l5ZpWR6lSuV3JStUllHAS/0HjwBbqHhxJZ2BTG4Ca5SkHnbK/K1mfwLe2VGVYp7WWUzKkSQQ8Hs0
|
||||
RuY9EZ0sovRH7lL/EIf7uV/5d1V4kW1h7F38jEPDH4UVTHDMMaR9NV/4pES0zQnI6y5NJCiRP39k
|
||||
GFyKTE/4x7pFeIFnXXIwswUWFA9h
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIG1jCCBL6gAwIBAgIQNMarBE42mRJRyCULbJTWwDANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQG
|
||||
EwJFUzERMA8GA1UECgwIRk5NVC1SQ00xGTAXBgNVBAsMEEFDIFJBSVogRk5NVC1SQ00wHhcNMTMw
|
||||
NjI0MTA1MjU5WhcNMjgwNjI0MTA1MjU5WjBHMQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1S
|
||||
Q00xJTAjBgNVBAsMHEFDIENvbXBvbmVudGVzIEluZm9ybcOhdGljb3MwggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQCXVx8rdbF7/xY44CaSqzzGo5BhvzA8knxC/3KJYVzTf+CkOvMxMUDu
|
||||
b8b0h38MDujm/RKZhBNOWbKhxF3U61ZVhcR9xOCciuS/soT80m3BByxAKcZsNka0jCA4XRkglDaA
|
||||
FxCHEZ06MOnvXsSOZDfPYahbQ3VFCVycJuhlHdAwSpmceQwcRYkR6YgXwTiyzCNGivMKAmRS3dIt
|
||||
qDOmDW/nxiDFq/Jd8VWY7GFkwbbAeqYId8FjN8zfvafunsB9SLFkUjPPMeqfmC7Bdh7HMxLpaOXR
|
||||
OwH201cmlebiPkn0xSFxXFqwhhr6yN8UQYZ3O/+xdHLrS6DS9+CJUF6d09ijAgMBAAGjggLIMIIC
|
||||
xDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUGfhYLxTWpsyb
|
||||
BJgIDUzXqwCng2UwgZgGCCsGAQUFBwEBBIGLMIGIMEkGCCsGAQUFBzABhj1odHRwOi8vb2NzcGZu
|
||||
bXRyY21jYS5jZXJ0LmZubXQuZXMvb2NzcGZubXRyY21jYS9PY3NwUmVzcG9uZGVyMDsGCCsGAQUF
|
||||
BzAChi9odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9jZXJ0cy9BQ1JBSVpGTk1UUkNNLmNydDAfBgNV
|
||||
HSMEGDAWgBT3fcX9xOiaG3dkp/UdoMy/h2CabTCB6wYDVR0gBIHjMIHgMIHdBgRVHSAAMIHUMCkG
|
||||
CCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBpgYIKwYBBQUHAgIwgZkM
|
||||
gZZTdWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEZWNsYXJh
|
||||
Y2nDs24gZGUgUHLDoWN0aWNhcyBkZSBDZXJ0aWZpY2FjacOzbiBkZSBsYSBGTk1ULVJDTSAoIEMv
|
||||
IEpvcmdlIEp1YW4sIDEwNi0yODAwOS1NYWRyaWQtRXNwYcOxYSkwgdQGA1UdHwSBzDCByTCBxqCB
|
||||
w6CBwIaBkGxkYXA6Ly9sZGFwZm5tdC5jZXJ0LmZubXQuZXMvQ049Q1JMLE9VPUFDJTIwUkFJWiUy
|
||||
MEZOTVQtUkNNLE89Rk5NVC1SQ00sQz1FUz9hdXRob3JpdHlSZXZvY2F0aW9uTGlzdDtiaW5hcnk/
|
||||
YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYraHR0cDovL3d3dy5jZXJ0LmZu
|
||||
bXQuZXMvY3Jscy9BUkxGTk1UUkNNLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAo2bsQ2xLDcyodieq
|
||||
jd+uy/lfxDw/MbrAq/ZaNFkIlcypUYamOM4vrm5rz8oLjPCoLkJ48P+nP08Gkcl5Q6q6VFcZLia+
|
||||
U3gfHXrkyqToQlrtViGCGH3xA4u56XtMHGXSdk9vQ0yDnW5f7bUEkp+uvcKewrOvNcpbIAgD4eU7
|
||||
gdOS0w7BagcFRBgTKBw2s3z73fRZtouJg/atmWYtXbBsfNjph+pCh+h5sbSyZUVzO5AemyjpYYYN
|
||||
MWDQrTXq+7O8zIPuPaNESjEexuzn+VjHG90RlUK1LygARi+Ir0opD2w6erb/hK8Eea7MFdKQ2ASq
|
||||
NBGJggNo5vfPVvjHiL+Antmh7mQSKL+4YwFU64d4KK9k0C1mbJethDQFKcjTK1vMvnXFiupsIuyT
|
||||
qwKauo7u2zMKzY4r3VYOW9TpMyLPFIY8pII5GyNzXlL0F4nscOvduTEPEYqxeNJfpDDPY/DO8Wfx
|
||||
gdRTy2W3D/UoAulb+Y+nuzGGCtFQrsSMQX487R+aY0nWot/hajef6BcPuxhDfQrg5IafrISVmcJA
|
||||
plb3tXhh0sz7RbYz6jf1bke4eU5fnrTMtGlVteUL2vjrfUPHW07kBJuaQ7sxORNV3bpHisOnHj+A
|
||||
riQzCn5vINpSHW6hTm7IfRkbltu/aQrsMuUhP7HE/v+uXe5CuboV5ubZhHU=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
<field name="inherit_id" ref="pms.pms_property_views_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='property_settings']" position="inside">
|
||||
<group name="property_data" string="Property data">
|
||||
<field name="police_type" />
|
||||
<field name="police_number" />
|
||||
<field name="police_user" />
|
||||
<field name="police_pass" />
|
||||
<group name="property_data" string="Settings of guest information">
|
||||
<field name="institution" />
|
||||
<field name="institution_property_id" />
|
||||
<field name="institution_user" />
|
||||
<field name="institution_password" />
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
import base64
|
||||
import datetime
|
||||
import io
|
||||
from datetime import date
|
||||
from odoo.modules.module import get_module_resource
|
||||
|
||||
import requests
|
||||
|
||||
from odoo import _, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.modules.module import get_module_resource
|
||||
|
||||
|
||||
class TravellerReport(models.TransientModel):
|
||||
@@ -17,150 +19,151 @@ class TravellerReport(models.TransientModel):
|
||||
txt_message = fields.Char()
|
||||
|
||||
def generate_file(self):
|
||||
date_start = str(date.today()) + " 0:00:00"
|
||||
date_end = str(date.today()) + " 23:59:59"
|
||||
lines = self.env["pms.checkin.partner"].search(
|
||||
[
|
||||
("state", "=", "onboard"),
|
||||
("arrival", ">=", date_start),
|
||||
("arrival", "<=", date_end),
|
||||
]
|
||||
)
|
||||
if not lines:
|
||||
return
|
||||
|
||||
# get the active property
|
||||
pms_property = self.env["pms.property"].search(
|
||||
[("id", "=", self.env.user.get_active_property_ids()[0])]
|
||||
)
|
||||
if pms_property.police_number and pms_property.name:
|
||||
content = (
|
||||
"1|"
|
||||
+ pms_property.police_number.upper()
|
||||
+ "|"
|
||||
+ pms_property.name.upper()
|
||||
|
||||
# build content
|
||||
content = self.generate_checkin_list(pms_property.id)
|
||||
|
||||
# get next sequence
|
||||
sequence_num = self.env["ir.sequence"].next_by_code("traveller.report.wizard")
|
||||
|
||||
# file creation
|
||||
txt_binary = self.env["traveller.report.wizard"].create(
|
||||
{
|
||||
"txt_filename": pms_property.institution_property_id
|
||||
+ "."
|
||||
+ sequence_num,
|
||||
"txt_binary": base64.b64encode(str.encode(content)),
|
||||
"txt_message": content,
|
||||
}
|
||||
)
|
||||
return {
|
||||
"name": _("Download File"),
|
||||
"res_id": txt_binary.id,
|
||||
"res_model": "traveller.report.wizard",
|
||||
"target": "new",
|
||||
"type": "ir.actions.act_window",
|
||||
"view_id": self.env.ref("pms_l10n_es.traveller_report_wizard").id,
|
||||
"view_mode": "form",
|
||||
"view_type": "form",
|
||||
}
|
||||
|
||||
def generate_checkin_list(self, property_id):
|
||||
|
||||
# check if there's guests info pending to send
|
||||
if (
|
||||
self.env["pms.checkin.partner"].search_count(
|
||||
[
|
||||
("state", "=", "onboard"),
|
||||
("arrival", ">=", str(date.today()) + " 0:00:00"),
|
||||
("arrival", "<=", str(date.today()) + " 23:59:59"),
|
||||
]
|
||||
)
|
||||
content += "|"
|
||||
content += datetime.datetime.now().strftime("%Y%m%d|%H%M")
|
||||
content += "|" + str(len(lines))
|
||||
== 0
|
||||
):
|
||||
raise ValidationError(_("There's no guests info to send"))
|
||||
else:
|
||||
|
||||
# get the active property
|
||||
pms_property = self.env["pms.property"].search([("id", "=", property_id)])
|
||||
|
||||
# check if the GC configuration info is properly set
|
||||
if not (
|
||||
pms_property.name
|
||||
and pms_property.institution_property_id
|
||||
and pms_property.institution_user
|
||||
and pms_property.institution_password
|
||||
):
|
||||
raise ValidationError(
|
||||
_("Check the GC configuration to send the guests info")
|
||||
)
|
||||
else:
|
||||
# get checkin partners info to send
|
||||
lines = self.env["pms.checkin.partner"].search(
|
||||
[
|
||||
("state", "=", "onboard"),
|
||||
("arrival", ">=", str(date.today()) + " 0:00:00"),
|
||||
("arrival", "<=", str(date.today()) + " 23:59:59"),
|
||||
]
|
||||
)
|
||||
|
||||
# build the property info record
|
||||
# 1 | property id | property name | date | nº of checkin partners
|
||||
|
||||
content = (
|
||||
"1|"
|
||||
+ pms_property.institution_property_id.upper()
|
||||
+ "|"
|
||||
+ pms_property.name.upper()
|
||||
+ "|"
|
||||
+ datetime.datetime.now().strftime("%Y%m%d|%H%M")
|
||||
+ "|"
|
||||
+ str(len(lines))
|
||||
+ "\n"
|
||||
)
|
||||
|
||||
# build each checkin partner line's record
|
||||
# 2|DNI nº|Doc.number|doc.type|exp.date|lastname|lastname2|name|...
|
||||
# ...gender|birthdate|nation.|checkin
|
||||
|
||||
for line in lines:
|
||||
if line.document_type == "D":
|
||||
content += "\n2|" + line.document_number.upper() + "||"
|
||||
content += "2"
|
||||
# [P|N|..]
|
||||
if line.document_type != "D":
|
||||
content += "||" + line.document_number.upper() + "|"
|
||||
else:
|
||||
content += "\n2||" + line.document_number.upper() + "|"
|
||||
content += "|" + line.document_number.upper() + "||"
|
||||
content += line.document_type + "|"
|
||||
content += line.document_expedition_date.strftime("%Y%m%d") + "|"
|
||||
content += line.lastname.upper() + "|"
|
||||
if line.lastname2:
|
||||
content += line.lastname2.upper()
|
||||
content += "|" + line.firstname.upper() + "|"
|
||||
content += line.lastname2.upper() + "|"
|
||||
content += line.firstname.upper() + "|"
|
||||
if line.gender == "female":
|
||||
content += "F|"
|
||||
else:
|
||||
content += "M|"
|
||||
content += line.birthdate_date.strftime("%Y%m%d") + "|"
|
||||
# REVIEW: nationality_id must be nationality
|
||||
content += line.nationality_id.name.upper() + "|"
|
||||
content += line.arrival.strftime("%Y%m%d") + "|"
|
||||
sequence_num = self.env["ir.sequence"].next_by_code(
|
||||
"traveller.report.wizard"
|
||||
)
|
||||
txt_binary = self.env["traveller.report.wizard"].create(
|
||||
{
|
||||
"txt_filename": pms_property.police_number + "." + sequence_num,
|
||||
"txt_binary": base64.b64encode(str.encode(content)),
|
||||
"txt_message": content,
|
||||
}
|
||||
)
|
||||
return {
|
||||
"name": _("Download File"),
|
||||
"res_id": txt_binary.id,
|
||||
"res_model": "traveller.report.wizard",
|
||||
"target": "new",
|
||||
"type": "ir.actions.act_window",
|
||||
"view_id": self.env.ref("pms_l10n_es.traveller_report_wizard").id,
|
||||
"view_mode": "form",
|
||||
"view_type": "form",
|
||||
}
|
||||
content += line.arrival.strftime("%Y%m%d") + "\n"
|
||||
|
||||
def send_guardia_civil_report(self):
|
||||
# TODO: Review this
|
||||
return content
|
||||
|
||||
def send_file_gc(self):
|
||||
# get the active property
|
||||
pms_property = self.env["pms.property"].search(
|
||||
[("id", "=", self.env.user.get_active_property_ids()[0])]
|
||||
)
|
||||
user = pms_property.police_user
|
||||
password = pms_property.police_pass
|
||||
headers = {'Content-Type': 'multipart/form-data;'}
|
||||
|
||||
date_start = str(date.today()) + " 0:00:00"
|
||||
date_end = str(date.today()) + " 23:59:59"
|
||||
lines = self.env["pms.checkin.partner"].search(
|
||||
[
|
||||
("state", "=", "onboard"),
|
||||
("arrival", ">=", date_start),
|
||||
("arrival", "<=", date_end),
|
||||
]
|
||||
)
|
||||
content = (
|
||||
"1|"
|
||||
+ pms_property.police_number.upper()
|
||||
+ "|"
|
||||
+ pms_property.name.upper()
|
||||
)
|
||||
content += "|"
|
||||
content += datetime.datetime.now().strftime("%Y%m%d|%H%M")
|
||||
content += "|" + str(len(lines))
|
||||
for line in lines:
|
||||
if line.document_type == "D":
|
||||
content += "\n2|" + line.document_number.upper() + "||"
|
||||
else:
|
||||
content += "\n2||" + line.document_number.upper() + "|"
|
||||
content += line.document_type + "|"
|
||||
content += line.document_expedition_date.strftime("%Y%m%d") + "|"
|
||||
content += line.lastname.upper() + "|"
|
||||
if line.lastname2:
|
||||
content += line.lastname2.upper()
|
||||
content += "|" + line.firstname.upper() + "|"
|
||||
if line.gender == "female":
|
||||
content += "F|"
|
||||
else:
|
||||
content += "M|"
|
||||
content += line.birthdate_date.strftime("%Y%m%d") + "|"
|
||||
content += line.nationality_id.name.upper() + "|"
|
||||
content += line.arrival.strftime("%Y%m%d") + "|"
|
||||
# get next sequence to send
|
||||
sequence_num = self.env["ir.sequence"].next_by_code("traveller.report.wizard")
|
||||
|
||||
sequence_num = self.env["ir.sequence"].next_by_code(
|
||||
"traveller.report.wizard"
|
||||
)
|
||||
txt_binary = self.env["traveller.report.wizard"].create(
|
||||
{
|
||||
"txt_filename": pms_property.police_number + "." + sequence_num,
|
||||
"txt_binary": base64.b64encode(str.encode(content)),
|
||||
"txt_message": content,
|
||||
}
|
||||
)
|
||||
# print(txt_binary.content)
|
||||
# generate content to send
|
||||
f = io.StringIO(self.generate_checkin_list(pms_property.id))
|
||||
|
||||
import io
|
||||
f = io.StringIO(
|
||||
content
|
||||
)
|
||||
|
||||
# file_object = get_module_resource('pms_l10n_es', 'static', 'cert.pem')
|
||||
session = requests.Session()
|
||||
# a = requests.Request(
|
||||
# 'POST',
|
||||
# url="https://28000JAM22:ESB01642958@hospederias.guardiacivil.es/hospederias/servlet/ControlRecepcionFichero",
|
||||
# # data=f,
|
||||
# files={'file': ('28000JAM22.169', f, 'application/octet-stream')},
|
||||
# # verify=get_module_resource('pms_l10n_es', 'static', 'cert.pem'),
|
||||
# # headers={'Content-Type': "multipart/form-data"}
|
||||
# )
|
||||
# # pre = a.prepare()
|
||||
# fff = 0
|
||||
#
|
||||
a = session.post(
|
||||
url="https://28000JAM22:ESB01642958@hospederias.guardiacivil.es/hospederias/servlet/ControlRecepcionFichero",
|
||||
files={'file': ('28000JAM22.169', f, 'application/octet-stream')},
|
||||
verify=get_module_resource('pms_l10n_es', 'static', 'cert.pem'),
|
||||
# headers={'Content-Type': "multipart/form-data"}
|
||||
|
||||
# send info to GC
|
||||
response = session.post(
|
||||
url="https://"
|
||||
+ pms_property.institution_user
|
||||
+ ":"
|
||||
+ pms_property.institution_password
|
||||
+ "@hospederias.guardiacivil.es/hospederias/servlet/"
|
||||
"ControlRecepcionFichero",
|
||||
files={
|
||||
"file": (
|
||||
pms_property.institution_user + "." + sequence_num,
|
||||
f,
|
||||
"application/octet-stream",
|
||||
)
|
||||
},
|
||||
verify=get_module_resource("pms_l10n_es", "static", "cert.pem"),
|
||||
)
|
||||
print(a)
|
||||
# if the response is not ok raise validation error
|
||||
if response.content != b"CORRECTO\r\n":
|
||||
raise ValidationError(response.content.decode())
|
||||
|
||||
@@ -8,24 +8,24 @@
|
||||
<sheet>
|
||||
<div>
|
||||
<button
|
||||
name="generate_file"
|
||||
class="btn btn-primary btn-sm"
|
||||
type="object"
|
||||
string="Generate Police file"
|
||||
/>
|
||||
name="generate_file"
|
||||
class="btn btn-primary btn-sm"
|
||||
type="object"
|
||||
string="Generate Police file"
|
||||
/>
|
||||
<field name="txt_filename" invisible="1" />
|
||||
<field
|
||||
name="txt_binary"
|
||||
filename="txt_filename"
|
||||
readonly="1"
|
||||
style="margin-left: 20px;"
|
||||
/>
|
||||
name="txt_binary"
|
||||
filename="txt_filename"
|
||||
readonly="1"
|
||||
style="margin-left: 20px;"
|
||||
/>
|
||||
<button
|
||||
name="send_guardia_civil_report"
|
||||
class="btn btn-primary btn-sm"
|
||||
type="object"
|
||||
string="Send file"
|
||||
/>
|
||||
name="send_file_gc"
|
||||
class="btn btn-primary btn-sm"
|
||||
type="object"
|
||||
string="Send file"
|
||||
/>
|
||||
</div>
|
||||
<group colspan="1">
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user