[IMP] pms-api-rest: demo data for property image hotel, icon room type classes, views, init, manifest & services & datamodels (property, user, room_type_class, agency, sale channels)

This commit is contained in:
miguelpadin
2023-09-06 19:22:21 +02:00
committed by Darío Lodeiros
parent f374f6a102
commit e0fae5f366
23 changed files with 152 additions and 9 deletions

View File

@@ -0,0 +1,19 @@
from odoo import http
def url_image(context, model, record_id, field):
rt_image_attach = context.env['ir.attachment'].sudo().search([
('res_model', '=', model),
('res_id', '=', record_id),
('res_field', '=', field),
])
if rt_image_attach and not rt_image_attach.access_token:
rt_image_attach.generate_access_token()
result = (
http.request.env['ir.config_parameter']
.sudo().get_param('web.base.url') +
'/web/image/%s?access_token=%s' % (
rt_image_attach.id, rt_image_attach.access_token
) if rt_image_attach else False
)
return result if result else ''

View File

@@ -1,4 +1,5 @@
from odoo import _
from odoo.addons.pms_api_rest.services.manage_url_images import url_image
from odoo.exceptions import MissingError
from odoo.addons.base_rest import restapi
@@ -41,9 +42,7 @@ class PmsAgencyService(Component):
PmsAgencyInfo(
id=agency.id,
name=agency.name,
image=agency.image_1024.decode("utf-8")
if agency.image_1024
else None,
imageUrl=url_image(self, 'res.partner', agency.id, 'image_128'),
)
)
return result_agencies
@@ -72,7 +71,7 @@ class PmsAgencyService(Component):
return PmsAgencieInfo(
id=agency.id,
name=agency.name if agency.name else None,
image=agency.image_1024.decode("utf-8") if agency.image_1024 else None,
imageUrl=url_image(self, 'res.partner', agency.id, 'image_128'),
)
else:
raise MissingError(_("Agency not found"))

View File

@@ -9,6 +9,7 @@ from odoo.exceptions import AccessDenied
from odoo.addons.base_rest import restapi
from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
from .manage_url_images import url_image
class PmsLoginService(Component):
@@ -80,6 +81,7 @@ class PmsLoginService(Component):
userImageBase64=user_record.partner_id.image_1024
if user_record.partner_id.image_1024
else None,
userImageUrl=url_image(self, 'res.partner', user_record.partner_id.id, 'image_1024'),
isNewInterfaceUser=user_record.is_new_interface_app_user,
availabilityRuleFields=avail_rule_names,
)

View File

@@ -1,6 +1,7 @@
from odoo.addons.base_rest import restapi
from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
from odoo.addons.pms_api_rest.services.manage_url_images import url_image
class PmsPropertyService(Component):
@@ -48,6 +49,7 @@ class PmsPropertyService(Component):
simpleInColor=prop.simple_in_color,
simpleFutureColor=prop.simple_future_color,
language=prop.lang,
hotelImageUrl=url_image(self, 'pms.property', prop.id, 'hotel_image_pms_api_rest'),
)
)
return result_properties

View File

@@ -1,6 +1,7 @@
from odoo.addons.base_rest import restapi
from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
from .manage_url_images import url_image
class PmsRoomTypeClassService(Component):
@@ -51,6 +52,7 @@ class PmsRoomTypeClassService(Component):
name=room.name,
defaultCode=room.default_code if room.default_code else None,
pmsPropertyIds=room.pms_property_ids.mapped("id"),
imageUrl=url_image(self, 'pms.room.type.class', room.id, 'icon_pms_api_rest'),
)
)
return result_room_type_class

View File

@@ -1,4 +1,5 @@
from odoo import _
from odoo.addons.pms_api_rest.services.manage_url_images import url_image
from odoo.exceptions import MissingError
from odoo.addons.base_rest import restapi
@@ -62,9 +63,7 @@ class PmsSaleChannelService(Component):
channelType=sale_channel.channel_type
if sale_channel.channel_type
else None,
icon=sale_channel.icon
if sale_channel.icon
else None,
iconUrl=url_image(self, 'pms.sale.channel', sale_channel.id, 'icon'),
)
)
return result_sale_channels