[FIX] pms-api-rest: change param timestamp

This commit is contained in:
miguelpadin
2022-11-25 21:28:58 +01:00
committed by Darío Lodeiros
parent 0b44701b1d
commit 65fe97a07e
2 changed files with 21 additions and 31 deletions

View File

@@ -5,14 +5,14 @@ from odoo.addons.datamodel.core import Datamodel
class PmsNotificationSearch(Datamodel): class PmsNotificationSearch(Datamodel):
_name = "pms.notification.search" _name = "pms.notification.search"
pmsPropertyId = fields.Integer(required=False) fromTimestamp = fields.String(required=False)
fromDateTime = fields.String(required=False)
class PmsNotificationInfo(Datamodel): class PmsNotificationInfo(Datamodel):
_name = "pms.notification.info" _name = "pms.notification.info"
folioId = fields.Integer(required=False)
dateTime = fields.String(required=False)
userId = fields.Integer(required=False)
mensaje = fields.String(required=False)
pmsPropertyId = fields.Integer(required=False) pmsPropertyId = fields.Integer(required=False)
folioId = fields.Integer(required=False)
timeStamp = fields.Integer(required=False)
folioName = fields.String(required=False)
partnerName = fields.String(required=False)
saleChannelName = fields.String(required=False)

View File

@@ -1,8 +1,4 @@
from datetime import datetime import datetime
import pytz
from odoo import _
from odoo.addons.base_rest import restapi from odoo.addons.base_rest import restapi
from odoo.addons.base_rest_datamodel.restapi import Datamodel from odoo.addons.base_rest_datamodel.restapi import Datamodel
@@ -30,18 +26,18 @@ class PmsNotificationService(Component):
cors="*", cors="*",
) )
def get_notifications(self, pms_notification_search): def get_notifications(self, pms_notification_search):
from_datetime = datetime.strptime( from_date_time = datetime.datetime.fromtimestamp(
pms_notification_search.fromDateTime, "%Y-%m-%d %H:%M:%S" int(pms_notification_search.fromTimestamp) / 1000
) )
timezone = pytz.timezone(self.env.user.tz or "UTC")
from_datetime = timezone.localize(from_datetime)
from_datetime_utc = from_datetime.astimezone(pytz.utc)
new_reservations = self.env["pms.reservation"].search( new_reservations = self.env["pms.reservation"].search(
[ [
("create_date", ">=", from_datetime_utc), ("create_date", ">=", from_date_time),
("pms_property_id.id", "=", pms_notification_search.pmsPropertyId),
("to_assign", "=", True), ("to_assign", "=", True),
("create_uid.id", "!=", self.env.user.id), (
"create_uid.id",
"!=",
self.env.user.id,
),
], ],
limit=10, limit=10,
order="create_date desc", order="create_date desc",
@@ -53,18 +49,12 @@ class PmsNotificationService(Component):
PmsNotificationInfo( PmsNotificationInfo(
pmsPropertyId=folio.pms_property_id.id, pmsPropertyId=folio.pms_property_id.id,
folioId=folio.id, folioId=folio.id,
dateTime=pytz.UTC.localize(folio.create_date) timeStamp=int(folio.create_date.strftime("%s%f")) / 1000,
.astimezone(timezone) folioName=folio.name,
.strftime("%Y-%m-%d %H:%M:%S"), partnerName=folio.partner_name,
userId=folio.create_uid.id, saleChannelName=folio.agency_id.name
mensaje=_("%s: Nueva reserva de %s por %s") if folio.agency_id
% ( else folio.sale_channel_origin_id.name,
folio.name,
folio.partner_name,
folio.agency_id.name
if folio.agency_id
else folio.sale_channel_origin_id.name,
),
) )
) )
return notifications return notifications