Odoo 11 のいくつかのカスタム ルール設定についてサポートが必要です。
現在、特定の製品カテゴリへのアクセスのみをユーザーに許可するルールを実行しています。そのため、これらのカテゴリを指定する Many2many フィールドがあります。
product_category_ids = fields.Many2many('product.category')
そのカテゴリへのアクセスのみを許可するルールは次のとおりです。
<record model="ir.rule" id="product_template_category_users">
<field name="name">product.template.category.users</field>
<field name="model_id" ref="product.model_product_template"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="domain_force">[('categ_id', 'child_of', user.product_category_ids.ids)]</field>
</record>
ルールは正常に機能しますが、次の問題があります。
- そのルールを持つユーザー「A」でログインします
- ユーザー「B」で別のセッションにログインし、ユーザー「A」を更新して、カテゴリーフィールドに新しいカテゴリーを追加します
- ユーザー「A」で戻ると、追加された新しいカテゴリがルールに表示されず、ページのリロードも機能しません。
現在の会社を変更するか、Odoo サービスをリロードすると、変更は「A」ユーザーにのみ適用されます。
ユーザーのログイン時にユーザーがデータを保存する必要があると思います。おそらく、そのデータを更新し、ルールが「ユーザー」からデータを読み取れるようにする方法です。現在の会社を変更したり、Odoo サービスをリロードしたりせずに、ユーザーに加えられた変更が接続ユーザーにリアルタイムで適用される必要があります。
助けてくれてありがとう。