readonly
グループ、ステータスに基づいてフィールドを作成したい。私には2つのグループがあるように:
- マネージャーグループ
- ユーザー・グループ
User Groupを任意のユーザーに与えてからStatusをDoneに変更すると、フィールドはreadonly
このユーザー用になります。
わかりやすく説明できてよかったです。ありがとう。
ブール型の機能フィールドを作成します。ログインしたユーザーがユーザー グループに所属し、状態が完了の場合は、true を返します。次に、ビューで指定しますattrs="{'readonly':[('boolean_field_name','=',True)]}"
また
最初にフォーム ビューを作成します。次に、ビューを継承し、グループも指定します。たとえば、販売注文フォーム ビューで、状態が下書きまたは送信されていないときに、グループ ユーザーに対して顧客参照フィールドを読み取り専用にしたい。
<record id="view_order_form_cust_ref_readonly" model="ir.ui.view">
<field name="name">sale.order.form.readonly.cust</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="groups_id" eval="[(6, 0, [ref('base.group_user') ])]"/>
<field name="arch" type="xml">
<field name='client_order_ref'" position="attributes">
<attribute name="attrs">{'readonly':[('state','not in',['draft','sent'])]}</attribute>
</field>
</field>
</record>
py のように、OpenERP のフィールド レベルでアクセス ルールを適用できます。
'name': fields.char('Name', size=128, required=True, select=True,
read=['base.group_user'] ),
xml のステータスの場合:
<field name="name " attrs="{'readonly': [('state','=','done')]}"/>