107 lines
2.8 KiB
ReStructuredText
107 lines
2.8 KiB
ReStructuredText
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
|
:target: http://www.gnu.org/licenses/agpl
|
|
:alt: License: AGPL-3
|
|
|
|
===================
|
|
Components - Events
|
|
===================
|
|
|
|
This module implements an event system (`Observer pattern`_) and is a
|
|
base block for the Connector Framework. It can be used without
|
|
using the full Connector though. It is built upon the ``component`` module.
|
|
|
|
Documentation: http://odoo-connector.com/
|
|
|
|
.. _Observer pattern: https://en.wikipedia.org/wiki/Observer_pattern
|
|
|
|
Installation
|
|
============
|
|
|
|
* Install ``component_event``
|
|
|
|
Configuration
|
|
=============
|
|
|
|
The module does nothing by itself and has no configuration.
|
|
|
|
Usage
|
|
=====
|
|
|
|
As a developer, you have access to a events system. You can find the
|
|
documentation in the code or on http://odoo-connector.com
|
|
|
|
In a nutshell, you can create trigger events::
|
|
|
|
class Base(models.AbstractModel):
|
|
_inherit = 'base'
|
|
|
|
@api.model
|
|
def create(self, vals):
|
|
record = super(Base, self).create(vals)
|
|
self._event('on_record_create').notify(record, fields=vals.keys())
|
|
return record
|
|
|
|
And subscribe listeners to the events::
|
|
|
|
from odoo.addons.component.core import Component
|
|
from odoo.addons.component_event import skip_if
|
|
|
|
class MagentoListener(Component):
|
|
_name = 'magento.event.listener'
|
|
_inherit = 'base.connector.listener'
|
|
|
|
@skip_if(lambda self, record, **kwargs: self.no_connector_export(record))
|
|
def on_record_create(self, record, fields=None):
|
|
""" Called when a record is created """
|
|
record.with_delay().export_record(fields=fields)
|
|
|
|
|
|
This module triggers 3 events:
|
|
|
|
* ``on_record_create(record, fields=None)``
|
|
* ``on_record_write(record, fields=None)``
|
|
* ``on_record_unlink(record)``
|
|
|
|
|
|
Known issues / Roadmap
|
|
======================
|
|
|
|
Bug Tracker
|
|
===========
|
|
|
|
Bugs are tracked on `GitHub Issues
|
|
<https://github.com/OCA/connector/issues>`_. In case of trouble, please
|
|
check there if your issue has already been reported. If you spotted it first,
|
|
help us smash it by providing detailed and welcomed feedback.
|
|
|
|
Credits
|
|
=======
|
|
|
|
Images
|
|
------
|
|
|
|
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
|
|
|
|
Contributors
|
|
------------
|
|
|
|
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
|
|
|
|
Do not contact contributors directly about support or help with technical issues.
|
|
|
|
Maintainer
|
|
----------
|
|
|
|
.. image:: https://odoo-community.org/logo.png
|
|
:alt: Odoo Community Association
|
|
:target: https://odoo-community.org
|
|
|
|
This module is maintained by the OCA.
|
|
|
|
OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
mission is to support the collaborative development of Odoo features and
|
|
promote its widespread use.
|
|
|
|
To contribute to this module, please visit https://odoo-community.org.
|
|
|