не может найти представление на основе прав доступа - PullRequest
0 голосов
/ 10 октября 2018
<record id="view_res_partner_pricelist" model="ir.ui.view">
    <field name="name">view.res.partner.pricelist.form</field>
    <field name="model">res.partner</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="product.view_partner_property_form" />
    <field name="context">{'readonly_by_pass': True}</field>
    <field name="arch" type="xml">
        <xpath expr="//page[@name='accounting']" position="replace"/>
    </field>
</record>

это мой вид, где я скрываю вкладку Бухгалтерия, и она работает нормально, если у пользователя, открывающего контактную форму, есть права доступа к бухгалтерии и финансам, но если у пользователя их нет, я получаю ошибку

AttributeError: Element '<xpath expr="//page[@name='accounting']">' cannot be located in parent view

Error context:
View `view.res.partner.pricelist.form`

как я могу сделать это для пользователей, которые не имеют прав доступа к бухгалтерии и финансам?

1 Ответ

0 голосов
/ 10 октября 2018

Интересно ... Вы должны решить эту проблему, добавив требование группы в определение записи представления в поле groups_id вашего представления, например:

<record id="view_res_partner_pricelist" model="ir.ui.view">
    <field name="name">view.res.partner.pricelist.form</field>
    <field name="model">res.partner</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="product.view_partner_property_form" />
    <field name="context">{'readonly_by_pass': True}</field>
    <field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/>
    <field name="arch" type="xml">
        <xpath expr="//page[@name='accounting']" position="replace"/>
    </field>
</record>
...