Source code for connector.components.listener

# Copyright 2013-2017 Camptocamp SA
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)

"""
Listeners
=========

Listeners are Components notified when events happen.
Documentation in :mod:`odoo.addons.component_event.components.event`

The base listener for the connectors add a method
:meth:`ConnectorListener.no_connector_export` which can be used with
:func:`odoo.addons.component_event.skip_if`.


"""

from odoo.addons.component.core import AbstractComponent


[docs]class ConnectorListener(AbstractComponent): """ Base Backend Adapter for the connectors """ _name = 'base.connector.listener' _inherit = ['base.connector', 'base.event.listener']
[docs] def no_connector_export(self, record): """ Return if the 'connector_no_export' has been set in context To be used with :func:`odoo.addons.component_event.skip_if` on Events:: from odoo.addons.component.core import Component from odoo.addons.component_event import skip_if class MyEventListener(Component): _name = 'my.event.listener' _inherit = 'base.connector.event.listener' _apply_on = ['magento.res.partner'] @skip_if(lambda: self, record, *args, **kwargs: self.no_connector_export(record)) def on_record_write(self, record, fields=None): record.with_delay().export_record() """ return (record.env.context.get('no_connector_export') or record.env.context.get('connector_no_export'))