mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[WIP] Fix Room Type Listener and Binding external_id
This commit is contained in:
@@ -78,7 +78,6 @@ class HotelNodeInterfaceAdapter(AbstractComponent):
|
||||
)
|
||||
return node_server.server
|
||||
|
||||
|
||||
class HotelNodeAdapter(AbstractComponent):
|
||||
_name = 'hotel.node.adapter'
|
||||
_inherit = 'hotel.node.interface.adapter'
|
||||
@@ -91,13 +90,15 @@ class HotelNodeAdapter(AbstractComponent):
|
||||
|
||||
def modify_room_type(self, room_type_id, name, rooms_id):
|
||||
return self._server.env['hotel.room.type'].write(
|
||||
room_type_id,
|
||||
[room_type_id],
|
||||
{
|
||||
'name': name
|
||||
})
|
||||
|
||||
def delete_room_type(self, room_type_id):
|
||||
return self._server.env['hotel.room.type'].unlink(room_type_id)
|
||||
_logger.warning("_delete_room_type(%s, room_type_id) is not yet implemented.", self)
|
||||
return True
|
||||
# return self._server.env['hotel.room.type'].unlink(room_type_id)
|
||||
|
||||
def fetch_room_types(self):
|
||||
return self._server.env['hotel.room.type'].search_read(
|
||||
|
||||
@@ -68,7 +68,7 @@ class NodeRoomTypeAdapter(Component):
|
||||
class NodeBindingRoomTypeListener(Component):
|
||||
_name = 'node.binding.room.type.listener'
|
||||
_inherit = 'base.connector.listener'
|
||||
_apply_on = ['node.hotel.room.type']
|
||||
_apply_on = ['node.room.type']
|
||||
|
||||
@skip_if(lambda self, record, **kwargs: self.no_connector_export(record))
|
||||
def on_record_create(self, record, fields=None):
|
||||
|
||||
@@ -15,14 +15,14 @@ class NodeRoomTypeExporter(Component):
|
||||
@api.model
|
||||
def modify_room_type(self, binding):
|
||||
return self.backend_adapter.modify_room_type(
|
||||
binding.room_type_id,
|
||||
binding.external_id,
|
||||
binding.name,
|
||||
binding.room_ids
|
||||
)
|
||||
|
||||
@api.model
|
||||
def delete_room_type(self, binding):
|
||||
return self.backend_adapter.delete_room_type(binding.room_type_id)
|
||||
return self.backend_adapter.delete_room_type(binding.external_id)
|
||||
|
||||
@api.model
|
||||
def create_room_type(self, binding):
|
||||
|
||||
@@ -23,12 +23,13 @@ class HotelRoomTypeImporter(Component):
|
||||
node_room_type_obj = self.env['node.room.type']
|
||||
for rec in results:
|
||||
map_record = room_type_mapper.map_record(rec)
|
||||
room_bind = node_room_type_obj.search([('external_id', '=', rec['id'])],
|
||||
room_type = node_room_type_obj.search([('external_id', '=', rec['id'])],
|
||||
limit=1)
|
||||
if room_bind:
|
||||
room_bind.write(map_record.values())
|
||||
# NEED REVIEW Import a record triggers a room_type.write / room_type.create back to the node
|
||||
if room_type:
|
||||
room_type.write(map_record.values())
|
||||
else:
|
||||
room_bind.create(map_record.values(for_create=True))
|
||||
room_type.create(map_record.values(for_create=True))
|
||||
|
||||
|
||||
class NodeRoomTypeImportMapper(Component):
|
||||
|
||||
Reference in New Issue
Block a user