I try to add automated action to raise warning when to switch from 1st stage to second without paid invoice.
I get below error when try to change stage_id of pipeline.
Error:
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 650, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/home/odoo/src/odoo/odoo/http.py", line 692, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 342, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 335, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 936, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 934, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/src/odoo/addons/crm/models/crm_lead.py", line 314, in write
return super(Lead, self).write(vals)
File "/home/odoo/src/odoo/addons/mail/models/mail_thread.py", line 282, in write
result = super(MailThread, self).write(values)
File "/home/odoo/src/odoo/addons/mail/models/mail_activity.py", line 343, in write
return super(MailActivityMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/models.py", line 3089, in write
self._write(old_vals)
File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 227, in _write
pre = {action: action._filter_pre(records) for action in actions}
File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 227, in <dictcomp>
pre = {action: action._filter_pre(records) for action in actions}
File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 146, in _filter_pre
return records.search(domain)
File "/home/odoo/src/odoo/odoo/models.py", line 1480, in search
res = self._search(args, offset=offset, limit=limit, order=order, count=count)
File "/home/odoo/src/odoo/odoo/models.py", line 3769, in _search
if expression.is_false(self, args):
File "/home/odoo/src/odoo/odoo/osv/expression.py", line 213, in is_false
for token in reversed(normalize_domain(domain)):
File "/home/odoo/src/odoo/odoo/osv/expression.py", line 205, in normalize_domain
assert expected == 0, 'This domain is syntactically not correct: %s' % (domain)
AssertionError: This domain is syntactically not correct: [('id', 'in', [1]), '|', ['stage_id', '=', 1]]
Here is my code:
<record id="crm2invoice.automation_no_invoice_raise_warning"
model="base.automation">
<field name="action_server_id"
ref="crm2invoice.action_no_invoice_raise_warning"/>
<field name="active" eval="True"/>
<field name="filter_domain">["&",["stage_id","!=",1]]</field>
<field name="filter_pre_domain">["|",["stage_id","=",1]]</field>
<field name="trigger">on_create_or_write</field>
</record>
But, after importing action, when I manually edit and save "flter_domain" and "filter_pre_domain" manually from GUI in automated actions ODOO 11, problem dissappears. I see filtered domains properly