0

セキュリティグループ「group_thw_emp」を持つhr_thという名前のモジュールを作成しました。フィールド「employee_id」があります。これは、hr_employeeクラスを参照するmany2oneフィールドです。私は自分のxmlで次のコードを試しました

<field name="employee_id" attrs= "{'readonly': [('groups','=','hr_th.group_thw_emp')]}"/>

しかし、次のようにエラーが発生します:

Uncaught Error: Unknown field groups in domain [['groups','=','hr_th.group_thw_emp']]

4

1 に答える 1

-2

これは少しトリッキーです。理想的には、次のようなことをします

attrs = {'readonly': [('employee_id.groups', 'contains', 'hr_th.group_thw_emp')]}

しかし、私が知る限り、あなたはこれを行うことができません。属性式エバリュエーターがサポートしているとは思えません。

私が回避した方法は、モデルを拡張または変更し、従業員が必要なグループのメンバーである場合に true を返す機能フィールドを追加し、このように使用することです。

<field name="employee_is_in_thw_emp" invisible="1" />
<field name="employee_id" attrs="{'readonly': [('employee_is_in_thw_emp', '=', True)]}" />

多くの関数フィールドが作成される可能性があるため、これは素晴らしいことではありませんが、私はまだより良い方法を見つけていません。

于 2013-07-11T02:40:40.853 に答える