def prestashop_product_pricelist_item_created(session, model_name, record_id, fields=None): if session.context.get('connector_no_export'): return export_record.delay(session, model_name, record_id, fields)
def prestashop_attribute_option_written(session, model_name, record_id, fields=None): if session.context.get('connector_no_export'): return export_record.delay(session, model_name, record_id, priority=20)
def prestashop_product_atrribute_value_created(session, model_name, record_id, fields=None): if session.context.get('connector_no_export'): return export_record.delay(session, model_name, record_id, priority=20)
def product_product_write(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return model = session.pool.get(model_name) record = model.browse(session.cr, session.uid, record_id, context=session.context) for binding in record.prestashop_bind_ids: export_record.delay(session, 'prestashop.product.product', binding.id, fields, priority=20)
def attribute_option_written(session, model_name, record_id, fields=None): if session.context.get('connector_no_export'): return model = session.pool.get(model_name) record = model.browse(session.cr, session.uid, record_id, context=session.context) for binding in record.prestashop_bind_ids: export_record.delay(session, 'prestashop.attribute.option', binding.id, fields, priority=20)
def prestashop_product_combination_write(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return fields = list(set(fields).difference(set(INVENTORY_FIELDS))) if fields: export_record.delay(session, model_name, record_id, fields, priority=20)
def product_template_write(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return model = session.pool.get(model_name) record = model.browse(session.cr, session.uid, record_id, context=session.context) for binding in record.prestashop_bind_ids: export_record.delay(session, 'prestashop.product.template', binding.id, fields, priority=20)
def product_pricelist_item_written(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return if set(fields).intersection(set(PRICELIST_FIELDS)): model = session.pool.get(model_name) record = model.browse(session.cr, session.uid, record_id, context=session.context) for binding in record.prestashop_bind_ids: export_record.delay(session, 'prestashop.product.pricelist.item', binding.id, fields)
def product_product_write(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return model = session.pool.get(model_name) record = model.browse(session.cr, session.uid, record_id, context=session.context) if not record.is_product_variant: return for binding in record.prestashop_bind_ids: export_record.delay(session, 'prestashop.product.combination', binding.id, fields, priority=20)
def product_image_write(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return model = session.pool.get(model_name) record = model.browse(session.cr, session.uid, record_id, context=session.context) for binding in record.prestashop_bind_ids: export_record.delay(session, 'prestashop.product.image', binding.id, record.file_db_store, priority=20) for variant in record.products: for variant_bind in variant.prestashop_bind_ids: export_record.delay(session, 'prestashop.product.combination', variant_bind.id, priority=20)
def check_images(self): ctx = self.session.context.copy() ctx['connector_no_export'] = True # self.check_front_image(ctx) if self.erp_record.image_ids: image_binder = self.get_binder_for_model( 'prestashop.product.image') for image_line in self.erp_record.image_ids: image_ext_id = image_binder.to_backend(image_line.id, unwrap=True) if not image_ext_id: image_ext_id = self.session.pool[ 'prestashop.product.image'].create( self.session.cr, self.session.uid, { 'backend_id': self.backend_record.id, 'openerp_id': image_line.id}, context=ctx) export_record.delay(self.session, 'prestashop.product.image', image_ext_id, image_line.file_db_store)
def export_variants(self): combination_obj = self.session.pool['prestashop.product.combination'] if self.erp_record.product_variant_ids: ctx = self.session.context.copy() ctx['connector_no_export'] = True for product in self.erp_record.product_variant_ids: if not product.attribute_value_ids: continue combination_ext_id = combination_obj.search( self.session.cr, self.session.uid, [('backend_id', '=', self.backend_record.id), ('openerp_id', '=', product.id)], context=ctx) # combination_ext_id = combination_binder.to_backend( # product.id, unwrap=True) if not combination_ext_id: combination_ext_id = combination_obj.create( self.session.cr, self.session.uid, { 'backend_id': self.backend_record.id, 'openerp_id': product.id, 'main_template_id': self.binding_id}, context=ctx) export_record.delay(self.session, 'prestashop.product.combination', combination_ext_id)
def prestashop_attribute_option_created(session, model_name, record_id): if session.context.get('connector_no_export'): return export_record.delay(session, model_name, record_id, priority=20)
def prestashop_product_combination_create(session, model_name, record_id, fields=None): if session.context.get('connector_no_export'): return export_record.delay(session, model_name, record_id, priority=20)
def prestashop_product_product_create(session, model_name, record_id): if session.context.get('connector_no_export'): return export_record.delay(session, model_name, record_id, priority=20)
def prestashop_product_product_write(session, model_name, record_id, fields): if session.context.get('connector_no_export'): return fields = list(set(fields).difference(set(INVENTORY_FIELDS))) if fields: export_record.delay(session, model_name, record_id, fields, priority=20)