Erstellung von einer eigenen Rechtegruppe bei einem Modul und Festlegung der Sichtbarkeit

Dieser Abschnitt behandelt die Möglichkeit im Open Source ERP System Odoo eine eigene Rechtegruppe zu erstellen und darüberhinaus damit die Sichtbarkeit von den verschiedenen Bereichen für die verschiedensten Benutzergruppen festzulegen. Somit kann man die Sichtbarkeit von den unterschiedlichen Bereichen abhängig von den Benutzerrechten einschränken. Nachfolgend wird dies am Modul eq_releasemanager näher erläutert. Im Wesentlichen besteht dieser Artikel aus drei wichtigen Abschnitten:

  • releasemanager_security.xml
  • ir.model.access.csv
  • und die Reihenfolge der Einbindung der beiden Dateien.

releasemanager_security.xml:

In der releasemanager_security.xml wird zunächst einmal eine Rechtsgruppe mit dem Namen "Releasemanager" erstellt (Zeile: 4-7). Die Sequenz gibt hier nur die Rangfolge unter den diversen Rechtegruppen an. Darüberhinaus wird anschließend der Rechtegruppe "Releasemanager" eine Untergruppe mit dem Namen "Benutzer" hinzugefügt. Einer Rechtegruppe können mehrere Untergruppen zugeteilt werden. So kann man innerhalb einer Rechtegruppe die Rechte spezifischer einschränken. 

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
	<record model="ir.module.category" id="module_releasemanager">
		<field name="name">Releasemanager</field>
		<field name="sequence">11</field>
	</record>
    <record id="group_releasemanager" model="res.groups">
        <field name="name">Benutzer</field>
        <field name="category_id" ref="module_releasemanager"/>
    </record>
 </data>
 </openerp>

 

ir.model.access.csv:

id

name

model_id:id

group_id:id

perm_read

perm_write

perm_create

perm_unlink

access_eq_modules_table

access_eq_modules_table

model_eq_modules_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_servers_table

access_eq_servers_table

model_eq_servers_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_settings_table

access_eq_settings_table

model_eq_settings_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_module_versions_table

access_eq_module_versions_table

model_eq_module_versions_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_kernel_table

access_eq_kernel_table

model_eq_kernel_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_bugfixes_table

access_eq_bugfixes_table

model_eq_bugfixes_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_installations_table

access_eq_installations_table

model_eq_installations_table

eq_releasemanager.group_releasemanager

1

1

1

1

access_eq_contact_table

access_eq_contact_table

model_eq_contact_table

eq_releasemanager.group_releasemanager

1

1

1

1

In der ir.model.access.csv Datei werden nun die Lese- und Schreibrechte für die verschiedenen Datenbanktabellen eines Moduls zugeordnet. Mit Hilfe der Spalte group_id:id wird nun den verschiedenen Datenbanktabellen (z.B. eq_servers_table) die zuvor erstellten Rechtegruppe mit der id group_releasemanager (Releasemanager/Benutzer) und darüberhinaus die Rechte dieser zugeordnet. Somit könnten darüberhinaus auch nur einzelne Ansichten, wie zum Beispiel die des Servers bezogen auf Lese- und Schreibrechten eingeschränkt werden (von 1→ 0 setzen).

Mit diesen Einstellungen in der ir.model.access.csv Datei können somit nur diejenigen Nutzer, welche einen Benutzer im Releasemanager zugeordnet haben, die einzelnen Ihnen freigegebenen Masken der Tabellen einsehen. Die Einstellungen zum Hinzufügen eines Nutzers zu einer Rechtegruppe können nach dem Erzeugen einer eigenen Rechtegruppe im Menü unter Einstellungen → Benutzer → Benutzer getätigt werden.

 

User mit Releasemanager → Benutzer entspricht:    

volle Ansicht:

 

 

User ohne Releasemanager → Benutzer entspricht:

eingeschränkte Ansicht (da alle Ansichten ausgeblendet siehe ir.model.access.csv Datei):

 

 

 

Reihenfolge der Einbindung:

Um etwaige Fehlermeldungen bei einer Installation zu vermeiden ist es wichtig eine korrekte Einbindung der .xml-Dateien in der openerp vorzunehmen. Hier ist es wichtig die view der Security (releasemanager_security.xml) vor der Rechtevergabedatei (ir.model.access.csv) zu laden.

 

Zusammenfassung:

Dieser Artikel sollte in kurzen Schritten erläutern, wie man 1. eine eigene Rechtegruppe erstellt, 2. der Rechtegruppe in einer separaten Datei die Rechte zuordnen kann und zu guter Letzt wie diese beiden Dateien in der richtigen Reihenfolge und korrekt eingebunden werden.

 

 

Modul : eq_releasemanager

Version: 1.0.5