Изменить права доступа в Odoo 10 - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу скрыть ненужное содержимое на вкладке Права доступа при создании нового пользователя. Вкладка «Права доступа» находится в res_users_view. Вот оригинальный код:

<page name="access_rights" string="Access Rights">
 <group string="Multi Companies" attrs="{'invisible': [('companies_count', '&lt;=', 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: «Ошибка при проверке ограничения

Элемент 'field name = "groups_id"' не может быть расположен в родительском представлении

Контекст ошибки: View res.users.groups [view_id: 155, xml_id: base.user_groups_view, модель: res.users, parent_id: 152] Нет "while разбор /home/Documents/odoo/modify/views/users_add_position_view.xml:15

Мой первый вопрос, могу ли я считать, что «sel_groups_xx» и «in_groups_yy» находятся внутри «groups_id»? если поля действительно находятся в "groups_id", как я могу получить к ним доступ?

1 Ответ

0 голосов
/ 08 сентября 2018

"sel_groups_xx" и "in_groups_yy" являются сгенерированными полями на основе существующих записей res.groups в соответствии с полем user groups_id. Они динамически создаются в представлении base.user_groups_view с помощью метода res.users _update_user_groups_view.

Если вы хотите скрыть это, этого будет достаточно, чтобы сделать это представление неактивным. Нет необходимости для вашего взгляда view_users_form_inherit

...