[WIP] Fix Room Type Listener and Binding external_id

This commit is contained in:
Pablo
2018-11-09 18:43:38 +01:00
parent ceadc2fefd
commit 3d53dbf3ee
4 changed files with 12 additions and 10 deletions

View File

@@ -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(

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):