OpenERP/Odoo erlaubt die Anzeige von Informationen in verschiedenen Ansichtsmodi. Zur Verfügung stehen hierfür die Ansicht als Baum (Liste/Tabelle) und Formular sowie Kalenderansicht, Kanban-Ansicht, Gantt-Ansicht und die Darstellung als Diagramm. Diese Ansichten können recht einfach mittels XML angepasst oder erstellt werden. OpenERP/Odoo ist dabei sehr flexibel darin, welche Daten für welchen Nutzer sichtbar sind oder nicht angezeigt werden sollen. Aber auch die Anpassung der XML-Ansichten hat ihre Grenzen. So können auf diese Weise nicht die einzelnen View Icons ausgeblendet werden (s. Screenshot 1).
Screenshot 1: Chancen als Kanban-Ansicht: In der grünen Markierung oben rechts sind die View Icons zu sehen.
Über die View Icons kann zwischen den verschiedenen Ansichtsmodi für einen Datensatz gewechselt werden. Um die Benutzerfreundlichkeit zu erhöhen, ist es jedoch gerade in der Einführungsphase von OpenERP/Odoo in einem Unternehmen sinnvoll, den Nutzer nicht mit allen möglichen Ansichten zu überfordern, sondern sich auf die Wichtigsten zu beschränken. Dann ist es mitunter notwendig standardmäßig verfügbare View Icons und die damit verknüpften Ansichten zu entfernen.
Wir zeigen zunächst anhand von zwei Beispielen, wie dies über Einstellungen im technischen Administrationsbereich erreicht wird. Im ersten Beispiel soll dabei die Kalenderansicht unter dem Menüpunkt Chancen (crm-Modul), im zweiten zusätzlich die Kanban-Ansicht entfernt werden. Abschließend stellen wir kurz eine Code-Lösung vor.
Die für unsere Problemstellung relevanten Konfigurationen sind im Menü unter Einstellungen > Technisch > Aktionen > Schließe/Öffne Fenster… zu finden. Hier kann direkt konfiguriert werden, welche Ansichtsmodi für welche Fensteraktionen (Model: ir.actions.act_window) verfügbar sind. Screenshot 2 zeigt die Konfigurationsseite für unsere Beispiele.
Screenshot 2: Konfiguration der Fensteraktion „Chancen“: Für View Icons relevante Bereiche sind grün markiert.
Im oberen Bereich der Seite sind unter Ansicht Modus die verfügbaren Ansichtsmodi der Fensteraktion aufgelistet (s. Screenshot 2.A). Zu jedem der aufgeführten Modi erscheint ein View Icon in der Ansicht, durch das der Nutzer den Ansichtsmodus entsprechend wechseln kann.
Im unteren Bereich (s. Screenshot 2.B) sind hingegen die Verknüpfungen zwischen Fensteraktion und Ansichten aufgeführt (Model: ir.actions.act_window.view). OpenERP/Odoo generiert für die verschiedenen Modi Standardansichten. Soll eine andere als die Standardansicht genutzt werden, muss hier eine Verknüpfung zur gewünschten spezifischen Ansicht hinterlegt werden. Außerdem gilt auch hier, dass zu jedem verknüpften Modus ein entsprechendes View Icon in der Ansicht erscheint.
Beispiel 1 – Entfernen der Kalenderansicht: Um die Kalenderansicht für Chancen zu entfernen, muss lediglich calendar aus der Liste der Ansichtsmodi (2.A) entfernt werden. Der Eintrag an dieser Stelle ändert sich also zu kanban,tree,graph,form.
Beispiel 2 – Entfernen der Kanban-Ansicht: Auch in diesem Fall muss zunächst die Liste der Ansichtsmodi (2.A) entsprechend angepasst werden, und zwar zu tree,graph,form. Da für den Kanban-Modus jedoch eine Verknüpfung zu einer spezifischen Ansicht besteht (vgl. Screenshot 2.B), ist in einem zweiten Schritt diese Verknüpfung zu entfernen. Erst dann verschwindet das View Icon für den Kanban-Modus aus der Ansicht.
Anpassungen über den Administrationsbereich lassen sich nur schwer verwalten. Außerdem besteht die Gefahr, dass Änderungen mit dem nächsten System-Update wieder verschwinden. Daher sollten Anpassungen jeglicher Art in eigene Module verpackt werden. Diese können beliebig installiert, deinstalliert und verändert werden und sind von System-Updates nicht direkt betroffen.
Im Code werden Fensteraktionen mittels XML definiert. Demnach muss zur Anpassung einer Fensteraktion nur der entsprechende Datensatz (record) überschrieben werden. Für unsere Beispiele sind die Datensätze mit den IDs crm_case_category_act_oppor11 und action_crm_tag_kanban_view_oppor11 in der Datei crm_lead_menu.xml (crm-Modul) anzupassen. Wir erstellen daher ein neues Modul, welches von crm abhängig ist und eine XML-Datei mit dem folgenden Code enthält:
tree,graph,form Dummy crm.lead kanban {}
Durch den ersten Record wird die Liste der Ansichtsmodi der Fensteraktion überschrieben (vgl. Screenshot 2.A). Anschließend wird die Verknüpfung für den Kanban-Modus umgeleitet (vgl. Screenshot 2.B). Dazu wird im zweiten Record zunächst eine neue Dummy-Fensteraktion angelegt, die nirgendwo zu sehen sein wird, und danach im dritten Record die Verknüpfung der Kanban-Ansicht zu der neuen Dummy-Aktion umgelenkt.
Dieser Beitrag wurde als erstes auf help.openerp.com diskutiert.
Falls Sie auch Interesse an OpenERP/Odoo haben oder unsere Expertise für Ihr ERP-Projekt benötigen, dann nehmen Sie mit uns Kontakt auf. Wir helfen Ihnen gerne weiter! Sie erreichen uns entweder telefonisch unter +49 4105 135 03 99, per Mail an sales@initos.com oder über unser Kontaktformular.