我想在创建新用户时在选项卡访问权限中隐藏不必要的内容。 “访问权限”选项卡位于res_users_view中。这是原始代码:
<page name="access_rights" string="Access Rights">
<group string="Multi Companies" attrs="{'invisible': [('companies_count', '<=', 1)]}">
<field string="Allowed Companies" name="company_ids" widget="many2many_tags"/>
<field string="Current Company" name="company_id" context="{'user_preference': 0}"/>
<field string="Companies count" name="companies_count" invisible="1"/>
</group>
<field name="groups_id"/>
</page>
我要隐藏的是一组名为“sel_groups_xx”和“in_group_yy”的字段(xx和yy是数字)。这是我的代码(我试图先隐藏1个字段):
<record id="view_users_form_inherit" model="ir.ui.view">
<field name="name">res.users.form</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form" />
<field name="arch" type="xml">
<xpath expr="//form/sheet/notebook/page[@name='access_rights']/field[@name='groups_id']" position="replace">
<field name="sel_groups_24" invisible="1"/>
</xpath>
</field>
</record>
但是,它返回了一条错误消息。
ParseError:“验证约束时出错”
元素'字段名=“groups_id”'不能位于父视图中
错误上下文:查看
res.users.groups
[view_id:155,xml_id:base.user_groups_view,model:res.users,parent_id:152]无“解析/home/Documents/odoo/modify/views/users_add_position_view.xml:15
我的第一个问题,我是否正确地认为“sel_groups_xx”和“in_groups_yy”在“groups_id”中?如果字段确实位于“groups_id”中,我该如何访问它们?
根据用户groups_id字段,基于现有res.groups记录生成“sel_groups_xx”和“in_groups_yy”字段。它们通过res.users方法_update_user_groups_view动态创建到视图base.user_groups_view中。
如果你想隐藏它,那么将该视图设置为非活动就足够了。不需要你的观点view_users_form_inherit