Добавление списка ManyTomany в представление пользователей (Odoo 12) - PullRequest
0 голосов
/ 24 сентября 2019

Это вариант использования:

  • Предоставление отдельным пользователям доступа к определенным бюджетам в соответствии с их разрешениями.

Логика:

  • Я создал связь ManytoMany между двумя моделями: crossovered.budget и res.users следующие модели:

    class res_users(models.Model):
        _inherit = 'res.users'
        budgets = fields.Many2many('crossovered.budget',
                                             string='Budget permissions')
    
    class crossovered_budget(models.Model):
        _inherit = 'crossovered.budget'
        res_users = fields.Many2many('res.users','Users')
    

Я успешно добавил свойства в обеих моделях без проблем, проблема в том, что я хочу изменить представление пользователя, чтобы отображать и выбирать бюджеты для каждого пользователя, но я не могу получить виджет (или поле)для отображения в форме я не получаю никаких ошибок, и мой модуль устанавливается без каких-либо проблем.

это представление:

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>
        <record model="ir.ui.view" id="userscustom">
            <field name="name">Budget list</field>
            <field name="model">res.users</field>
            <field name="secuence">99</field>
            <field name="inherit_id" ref="base.view_users_form"/>
            <field name="mode">primary</field>
            <field name="view_mode">tree,form</field>
                <field name="arch" type="xml">
                <xpath expr="//notebook/page[@name='access_rights']/group" position="after">
                    <group name="rw_budget_group">
                        <field name="budgets" string="Allowed Budgets" widget="many2many_tags" options="{'no_create': True}" />
                    </group>
                </xpath>
            </field>
        </record>
    </data>
</odoo>

Как я понимаю, группа должна быть добавлена ​​послеузел, описанный в XPath, любая помощь будет оценена.

1 Ответ

2 голосов
/ 24 сентября 2019

Просмотр режима наследования в Odoo может быть выполнен в двух типах mode, primary и extension.Первичное mode наследование представления создает совершенно новый вид, который можно использовать как отдельный вид, тогда как extension, который является значением по умолчанию, если не упомянуто, добавит наследование к существующему представлению.Либо измените режим наследования на extension, либо привяжите свой userscustom вид к новому действию, чтобы сохранить исходную функциональность без изменений.

<field name="mode">extension</field>
...