Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
30
base_time_window/readme/USAGE.md
Executable file
30
base_time_window/readme/USAGE.md
Executable file
@@ -0,0 +1,30 @@
|
||||
Example implementation for the mixin can be found in module
|
||||
test_base_time_window.
|
||||
|
||||
As a time window will always be linked to a related model thourgh a M2o
|
||||
relation, when defining the new model inheriting the mixin, one should
|
||||
pay attention to the following points in order to have the overlapping
|
||||
check work properly:
|
||||
|
||||
- Define class property \`\_overlap_check_field\`: This must state the
|
||||
M2o field to use for the to check of overlapping time window records
|
||||
linked to a specific record of the related model.
|
||||
- Add the M2o field to the related model in the \`api.constrains\`:
|
||||
|
||||
For example:
|
||||
|
||||
``` python
|
||||
class PartnerTimeWindow(models.Model):
|
||||
_name = 'partner.time.window'
|
||||
_inherit = 'time.window.mixin'
|
||||
|
||||
partner_id = fields.Many2one(
|
||||
res.partner', required=True, index=True, ondelete='cascade'
|
||||
)
|
||||
|
||||
_overlap_check_field = 'partner_id'
|
||||
|
||||
@api.constrains('partner_id')
|
||||
def check_window_no_overlaps(self):
|
||||
return super().check_window_no_overlaps()
|
||||
```
|
||||
Reference in New Issue
Block a user