Мой вопрос:
Как я могу ссылаться на поле в res.user и использовать его в качестве пользовательского фильтра при открытии дерева в Odoo 10?
Я расширил res.user, добавив поле с именем: assigned_office
.Это поле выбора.
Сейчас я пытаюсь использовать это значение для фильтрации записей при вызове определенного действия окна для фильтрации записей по умолчанию.
Я попытался добавить следующее в свое оконное действие, но оно дало мне ошибку (NameError: name 'user' not defined)
.
<field name="domain">[('responsible_office','=',user.assigned_office)]</field>
Я попытался изменить вид поиска, добавив варианты этого всуществующий фильтр:
('responsible_office','=',user.assigned_office)
('responsible_office','=',ref='self.assigned_office))
('responsible_office','=',ref=assigned_office)
Но я также получаю ошибки:
Ошибка: не удалось оценить критерии поиска: {"code": 400, "message": "EvaluationОшибка "," data ": {" type ":" local_exception "," debug ":" Ошибка локальной оценки \ nExpected \ ") \", got \ "(name) \" \ n \ n {\ "domains \": [[], \ "[
('expiration_date', '<=', (context_today ()) <br>, ('liability_org', '=', ref = 'self [' assign_org ']')
] \ "], \" contexts \ ": [{\" lang \ ": \" en_US \ ", \" tz \ ": false, \" uid \ ": 1, \" search_default_weekly_expirees_filter \ ":1, \ "params \": {\ "action \": 205}}, {}], \ "group_by_seq \": []} "}}
Я явно что-то не так делаюи я надеюсь, что есть простой ответ.
Вот мой код:
Действие окна:
<record id="my_tool_weekly_expirees_action" model="ir.actions.act_window" >
<field name="name">Weekly Expirees</field>
<field name="res_model">my_tool.member</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{"search_default_weekly_expirees_filter":1}</field>
<field name="view_id" ref="weekly_expirees_view"/>
</record>
ПОИСК:
<record id="members_search_view" model="ir.ui.view" >
<field name="name">Search</field>
<field name="model">my_tool.member</field>
<field name="arch" type="xml">
<search>
<field name="first_name"/>
<field name="last_name"/>
<field name="expiration_date" string="weekly_expirees" filter_domain="[('expiration_date','<=',(context_today())]"/>
<separator/>
<filter string="Weekly Expirees" name="weekly_expirees_filter" domain="[('expiration_date','<=',(context_today())]" help="..."/>
<separator/>
<field name="expiration_date"/>
<field name="responsible_office"/>
</search>
</field>
</record>
TREE VIEW
<record id="members_list_view" model="ir.ui.view" >
<field name="name">members.list</field>
<field name="model">my_tool.member</field>
<field name="arch" type="xml">
<tree>
<field name="first_name"/>
<field name="middle_name"/>
<field name="last_name"/>
<field name="expiration_date"/>
<field name="responsible_office"/>
<field name="country"/>
</tree>
</field>
</record>
Я искал stackoverflow.com и форумы на odoo.com и нашел сложные подходы, которые я либо не понимаю, либо хочу сделать:
Наиболеемногообещающе, но все равно кажется, что это обходной путь:
Фильтр домена Odoo v9 со значением user.id выдает ошибку, что пользователь не определен
Еще одинчто я обнаружил, что может быть даже лучше.
как отфильтровать древовидное представление с динамическим полем odoo-10