Hello all,
Here are two custom views. Both replace the field user_id on the inherited view. Why does the domain work well in the first view but not in the second one?
In both cases, the field user_id is on the model account.analytic.line (timesheet). In the second view, I inherit an already inherited view.
Tree view #1 : domain works well!
<record id="hr_timesheet_line_tree_inherited" model="ir.ui.view">
<field name="name">hr.timesheet.line.tree.inherited.vtm2</field>
<field name="model">account.analytic.line</field>
<field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_tree" />
<field name="arch" type="xml">
<field name="user_id" position="replace">
<field name="user_id" domain="[('employee_ids', '!=', False)]"
required="1" options="{'no_open': True}" />
</field>
</field>
</record>
Form view #2 : domain causes an error!
<record id="view_task_form2_inherited" model="ir.ui.view">
<field name="name">hr.timesheet.view.task.form2.inherited.vtm2</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="hr_timesheet.view_task_form2_inherited" />
<field name="arch" type="xml">
<xpath expr="//field[@name='timesheet_ids']//tree/field[@name='user_id']" position="replace">
<field name="user_id" required="1" options="{'no_open': True}"
domain="[('employee_ids', '!=', False)]" />
</xpath>
</field>
</record>
The error for the view 2 :
2017-02-14 18:12:35,735 9045 INFO odoo-10 odoo.sql_db: bad query: SELECT distinct("user_id") FROM "hr_employee" where "user_id" is not null2017-02-14 18:12:35,736 9045 ERROR odoo-10 odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
File "/home/odoo-10/odoo-10.0/odoo/http.py", line 638, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/odoo-10/odoo-10.0/odoo/http.py", line 675, in dispatch result = self._call_function(**self.params) File "/home/odoo-10/odoo-10.0/odoo/http.py", line 331, in _call_function return checked_call(self.db, *args, **kwargs) File "/home/odoo-10/odoo-10.0/odoo/service/model.py", line 119, in wrapper return f(dbname, *args, **kwargs) File "/home/odoo-10/odoo-10.0/odoo/http.py", line 324, in checked_call result = self.endpoint(*a, **kw) File "/home/odoo-10/odoo-10.0/odoo/http.py", line 933, in __call__ return self.method(*args, **kw) File "/home/odoo-10/odoo-10.0/odoo/http.py", line 504, in response_wrap response = f(*args, **kw) File "/home/odoo-10/odoo-10.0/addons/web/controllers/main.py", line 862, in call_kw return self._call_kw(model, method, args, kwargs) File "/home/odoo-10/odoo-10.0/addons/web/controllers/main.py", line 854, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/home/odoo-10/odoo-10.0/odoo/api.py", line 679, in call_kw return call_kw_model(method, model, args, kwargs) File "/home/odoo-10/odoo-10.0/odoo/api.py", line 664, in call_kw_model result = method(recs, *args, **kwargs) File "/home/odoo-10/odoo-10.0/odoo/addons/base/res/res_users.py", line 396, in name_search users = self.search([('name', operator, name)] + args, limit=limit) File "/home/odoo-10/odoo-10.0/odoo/models.py", line 1508, in search res = self._search(args, offset=offset, limit=limit, order=order, count=count) File "/home/odoo-10/odoo-10.0/odoo/addons/base/res/res_users.py", line 326, in _search access_rights_uid=access_rights_uid) File "/home/odoo-10/odoo-10.0/odoo/models.py", line 4199, in _search query = self._where_calc(args) File "/home/odoo-10/odoo-10.0/odoo/models.py", line 3998, in _where_calc e = expression.expression(domain, self) File "/home/odoo-10/odoo-10.0/odoo/osv/expression.py", line 643, in __init__ self.parse() File "/home/odoo-10/odoo-10.0/odoo/osv/expression.py", line 960, in parse push(create_substitution_leaf(leaf, ('id', o2m_op, select_distinct_from_where_not_null(cr, field.inverse_name, comodel._table)), model)) File "/home/odoo-10/odoo-10.0/odoo/osv/expression.py", line 426, in select_distinct_from_where_not_null cr.execute('SELECT distinct("%s") FROM "%s" where "%s" is not null' % (select_field, from_table, select_field)) File "/home/odoo-10/odoo-10.0/odoo/sql_db.py", line 141, in wrapper return f(self, *args, **kwargs) File "/home/odoo-10/odoo-10.0/odoo/sql_db.py", line 218, in execute res = self._obj.execute(query, params)ProgrammingError: column "user_id" does not existLINE 1: SELECT distinct("user_id") FROM "hr_employee" where "user_id...
EDIT #1
I have tried the domain directly on the original view. Ihave disabled my new view. I have updated the module hr_timesheet. Still the same error.