Browse Source
Merge pull request #1598 from akretion/10.0-base_exception_fix_union
[10.0][FIX] base_exception fix intersection operator
pull/1525/merge
beau sebastien
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
3 additions and
3 deletions
-
base_exception/__manifest__.py
-
base_exception/models/base_exception.py
|
|
@ -3,7 +3,7 @@ |
|
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|
|
|
|
|
|
|
{'name': 'Exception Rule', |
|
|
|
'version': '10.0.3.0.0', |
|
|
|
'version': '10.0.3.0.1', |
|
|
|
'category': 'Generic Modules', |
|
|
|
'summary': """This module provide an abstract model to manage customizable |
|
|
|
exceptions to be applied on different models (sale order, invoice, ...)""", |
|
|
|
|
|
@ -89,7 +89,7 @@ class BaseExceptionMethod(models.AbstractModel): |
|
|
|
def detect_exceptions(self): |
|
|
|
"""List all exception_ids applied on self |
|
|
|
Exception ids are also written on records |
|
|
|
If self is empty, check exceptions on all records. |
|
|
|
If self is empty, check exceptions on all active records. |
|
|
|
""" |
|
|
|
rules = self.env['exception.rule'].sudo().search( |
|
|
|
self._rule_domain()) |
|
|
@ -98,7 +98,7 @@ class BaseExceptionMethod(models.AbstractModel): |
|
|
|
records_with_exception = self._detect_exceptions(rule) |
|
|
|
reverse_field = self._reverse_field() |
|
|
|
if self: |
|
|
|
commons = self and rule[reverse_field] |
|
|
|
commons = self & rule[reverse_field] |
|
|
|
to_remove = commons - records_with_exception |
|
|
|
to_add = records_with_exception - commons |
|
|
|
to_remove_list = [(3, x.id, _) for x in to_remove] |
|
|
|