2017-03-02 5 views
0

私は学生モジュールに取り組んでいます。アプリケーションのスーパーユーザーにはアクセス権があります。別のユーザー(教師)は、私はこれを行うことができますどのように分類レベルの学生 ?2つの異なるツリービューの分類に基づいて学生のレコードを表示する

<record id="student_view_form_status" model="ir.ui.view"> 
    <field name="name">Status</field> 
    <field name="model">student.registration</field> 
    <field name="type">tree</field> 
    <field name="priority" eval="10" /> 
    <field name="arch" type="xml"> 
     <tree string="Status"> 
      <field name="registered_date" /> 
      <field name="status" /> 
      <field name="student_name" /> 
     </tree> 
    </field> 
</record> 

<record id="patient_visits_action_form_status_view" model="ir.actions.act_window"> 
    <field name="name">Status</field> 
    <field name="res_model">student.registration</field> 
    <field name="view_type">tree</field> 
    <field name="view_mode">tree</field> 
    <field name="view_id" ref="student_view_form_status" /> 
</record> 
+2

ようこそStackOverflowへ。これまでのところあなたの試みを投稿してください。このウェブサイトは、特定の問題を抱えている人々を助けることに関するものですあなたが何らかの努力をしたことを示すことができれば、助けを得る可能性が高くなります。 –

答えて

0

私はあなたに短い答えを与えます。 DOMAINを使用します。

詳しくは、公式Odoo documentationをお読みください。

+0

これはとても簡単ですが、ドキュメントを読んだ後でそれを解決できない場合は、サンプルコードのソースコードをodooに渡すことができます –

0

あなたが正しいと分かっているのであれば、特定のユーザーには定義されたレベルのエントリ(学生)しか表示されません。エントリは2つ以上(x、y、...)の状態を持ち、ユーザa(スーパーユーザ)はすべてのエントリを見ることができ、ユーザb(教師)は状態xのエントリしか見ることができません。

この要件を満たすには、ユーザーグループ(res.groups)、アクセス権(ir.model.access)、アクセスルール(ir.rule)が必要です。

非常に良い例は、Odooのsaleモジュールです。そのモジュールには3つのユーザグループがあります:自分のリードを見て、すべてのリードとマネージャを参照してください。すべての販売ユーザーが販売注文(sale.order)を読むことができます(すべてのユーザーのアクセス権は読み取り、作成、書き込み)。 アクセスルールも定義されています。受注にはuser_idと呼ばれるフィールドがあり、これは販売のコンテキストで受注のセールスマンです。ルールは、グループのユーザーが「自分のリードを見る」ことができるのは、注文が表示されているか、誰もセールスマンでないことだけを見ることができるということです。次の「上位」グループ「すべてのリードを見る」は、すべての受注に読み取りアクセスを許可する独自のアクセスルールによってこの制約を無効にします。

要件に同じ実装を使用できます。詳細については、saleモジュールを参照してください。Doc

関連する問題