TIP: You can type at any time to perform a new search.
Edi Project
edi_project_oca · OCA/edi-framework
- Repository
- OCA/edi-framework · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Uncategorized
- Folder size
- 0.05 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/edi-framework
- Last tracking update
- 2026-08-07 08:23:14
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- SilvioC2C, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- cachetools, PyYAML, requests
- System dependencies
- None
- Required by
- None
- Description
This module intends to create a base to be extended by local EDI rules for project management. In order to add customizations for projects, create a listener: ```python from odoo.addons.component.core import Component class ProjectEventListenerExample(Component): _name = "project.project.event.listener.example" _inherit = "base.event.listener" _apply_on = ["project.project"] def on_record_create(self, record, fields=None): """Do stuff after the project has been created""" def on_record_write(self, record, fields=None): """Do stuff after the project has been updated""" def on_record_unlink(self, record): """Do stuff before the project gets deleted""" ``` In order to add customizations for tasks, create a listener: ```python from odoo.addons.component.core import Component class ProjectTaskEventListenerExample(Component): _name = "project.task.event.listener.example" _inherit = "base.event.listener" _apply_on = ["project.task"] def on_record_create(self, record, fields=None): """Do stuff after the task has been created""" def on_record_write(self, record, fields=None): """Do stuff after the task has been updated""" def on_record_unlink(self, record): """Do stuff before the task gets deleted""" ``` Use ``@skip_if()`` decorator to avoid triggering a listener's method if necessary: ```python from odoo.addons.component.core import Component from odoo.addons.component_event import skip_if class ProjectTaskEventListenerExample(Component): _name = "project.task.event.listener.example" _inherit = "base.event.listener" _apply_on = ["project.task"] @skip_if(lambda self, task: not task.stage_id) # Do nothing if the task has no stage def on_record_update(self, record, fields=None): """Do stuff after the task has been created""" ```
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project_inherit |
project.project | Inherits project.edit_project | ||
project_project_view_form_simplified_inherit |
project.project | form | Inherits project.project_project_view_form_simplified | |
quick_create_task_form_inherit |
project.task | form | Inherits project.quick_create_task_form | |
view_task_form2_inherit |
project.task | Inherits project.view_task_form2 |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (2)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.