2017-03-02 2 views
0

Ich arbeite an Studenten-Modul.Nach Bedarf ein Super-Benutzer der Anwendung haben alle Rechte, um darauf zuzugreifen, wo als ein anderer Benutzer (Lehrer) nur alle Schüler basierend auf anzeigen Klassifizierung zB Studenten der o-Ebene Wie kann ich das tun?Schüler Datensätze basierend auf Klassifikationen in zwei verschiedenen Baumansichten

<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

Willkommen bei StackOverflow. Bitte posten Sie Ihren Versuch bis jetzt. Auf dieser Website geht es darum, Menschen mit spezifischen Problemen zu helfen. Wenn Sie zeigen können, dass Sie sich etwas Mühe gegeben haben, erhalten Sie eher Hilfe. –

Antwort

0

Ich gebe Ihnen kurze Antwort. Verwenden Sie DOMÄNE.

Für weitere Details lesen Sie offizielle Odoo documentation.

+0

Es ist sehr trivial, aber wenn Sie es nicht lösen können, nachdem ich die Dokumentation gelesen habe, kann ich Ihnen odoo Quellverknüpfung für Beispielcodes geben –

0

Wenn ich Sie richtig verstehe, möchten Sie, dass bestimmte Benutzer nur Einträge (Studenten) eines definierten Levels sehen. Lassen Sie mich das etwas abstrakter betrachten: Ein Eintrag hat 2 oder mehr (x, y, ...) Zustände, und Benutzer a (Superuser) kann alle Einträge sehen, während Benutzer b (Lehrer) nur Einträge des Status x sehen kann.

In Odoo benötigen Sie Benutzergruppen (res.groups), Zugriffsrechte (ir.model.access) und Zugriffsregeln (ir.rule), um diese Anforderung zu erfüllen.

Sie finden ein sehr gutes Beispiel in Odoos sale Modul. Es gibt 3 Benutzergruppen in diesem Modul: Eigene Leads, Alle Leads und Manager anzeigen. Ein Kundenauftrag (sale.order) kann von allen Vertriebsmitarbeitern gelesen werden (Zugriffsrechte für alle Benutzer werden gelesen, erstellt und geschrieben). Aber es sind auch Zugriffsregeln definiert. Der Kundenauftrag hat ein Feld mit dem Namen user_id, das im Zusammenhang mit dem Verkauf der Verkäufer des Auftrags ist. Die Regeln sind so definiert, dass die Benutzer der Gruppe "Eigene Leads sehen" nur Bestellungen sehen können, wo sie sind oder niemand der Verkäufer ist. Die nächste "höhere" Gruppe "alle Leads sehen" überschreibt diese Einschränkung durch ihre eigene Zugriffsregel, die Lesezugriff auf alle Kundenaufträge gewährt.

Sie können die gleiche Implementierung für Ihre Anforderung verwenden. Für weitere Informationen schauen Sie in das sale Modul und natürlich in die Doc

Verwandte Themen