SlideShare a Scribd company logo
1
View Customization
How to customize views & menus
of OpenERP Online
in a sustainable way:
the case of an Expertise Company
Fré d é r i c G I LS O N
Func tio na l C onsul ta nt a t O penERP Be lgium – Q uick St a r t Te a m
O p e n Day s – J u l y 4 t h 2 0 1 3
2
Content
● Goal
● Scope
● What is/Why an inherited view
● Add an existing field
● Add new fields
● Add a 'Group by'
● Rename menu items
● Add new menu items
● Add a new selection field
● Add new m2o fields
●
Add new o2m fields
3
Goal
● Use the standard OpenERP
(without any custom module)
● Fully customize the Project
Management interface in order to
make it useful and
understandable for the customer
4
Scope
Insured people reports an incident to Broker
Broker reports it to Insurance Company
Insurance company asks for Experts
to Our Company
Our company manages experts' missions.
5
Customize a view
2 steps to modify a view properly:
● Modify the database structure
Create new fields in the model associated to the original view
(in Setting > Technical > Database Structure > Models)
Keep the 'x_' syntax in order the field to survive updates!
● Modify the view
Add an inherited view (including the new fields) to the
original view
(in Setting > Technical > User Interface > View)
6
Inherited view
What is an inherited view?
Why an inherited view to modify an existing one?
ORIGINAL VIEW
xml record
stored in database
(uploaded from sources)
INHERITED VIEW
new xml record in database
ORIGINAL VIEW INHERITED VIEWUPDATED VIEW
7
1. Add an existing field
Add customers' addresses in the list view
● Create an inherited view:
● Object: res.partner
● Inherited view: res.partner.form
● XML architecture:
8
2. Add new fields
Add 'Insured' and 'Broker' checkboxes in the
customer form view (below 'Website')
● Step 1: Edit the database structure
– Create two new boolean fields in the 'Partner' model: i.e. 'x_insured' & 'x_broker'
● Step 2: Create an inherited view for the form view
– Object: res.partner / Inherited view: res.partner.form
– XML architecture:
9
3. Add a 'Group by'
Add a 'Group by... City' in the customer list
view
● Create a new inherited view
● Object: res.partner / Inherited view: res.partner.select
● XML architecture:
● The view type is automatically set by OpenERP.
10
4. Rename menu items
Contextualize the Project menu items
● Rename the main menu item “Project” in “Claims”
● Go to Settings > User Interface > Menu Items and open the 'Project' item
● In the 'Name' field, click on the translation icon and create/modify the translation
● If you use the default English, you need to create a new translation. So install at least a
second language and duplicate the existing translation (from the form view) in order to
get automatically the right record ID (mandatory in that case).
● Rename “Issues” in “Missions”
● Etc
11
5. Add new menu items
Add 'Insured' and 'Broker' menu items in the
'Claims' menu
● Create two new menu items in the 'Claims' menu
● Go to Settings > Database Structure > Models and open the 'Partner' item
● Create two new menu items based on this model (at the bottom) in 'Claims': 'Broker' and
'Insured'
● Filter the customer list displayed based on fields added in the
customer view (Broker and Insured)
● Click on the 'Insured' item and open 'Edit Action' in the developer menu
● Add a domain value (filter): [('x_insured','=',True)]
● Add a contect value (default value for new records): {"default_x_insured":True}
● Do it the same for the 'Broker' item
12
6. Add a new selection field
A mission can be:
● A storm
● A robbery
● A damage
● An accident
Let's modify the view again in order to get a field with a
set of predefined items (selection field).
13
6. Add a new selection field
Add a new 'Incident type' selection field in the
Mission form (below the 'Category' field)
● Step 1: Edit the database structure
● Create one new field: i.e. 'x_issue_type' (field type: selection)
● Expression: i.e. [('storm','Storm'),('robery','Robery'),('damage','Damage'),
('accident','Accident')]
● Step 2: Create a new inherited view
● Similar definition (inherited from Project Issue Tracker Form)
● XML architecture:
14
7. Add new m2o fields
An issue has to be associated to:
● An Insurance company
● An expert
● An insured
● A broker
The two new fields must be related to the 'Partner'
object as well.
→ Contact
→ Responsible
→ Missing field
→ Missing field
15
7. Add new m2o fields
Add new fields in the Mission form
● Step 1: Edit the database structure
● Create two new many-to-one fields in the 'project.issue' model:
i.e. 'x_insured' & 'x_broker' (object relation: res.partner)
● Domain for 'x_insured' to filter the available contacts: [('x_insured','=',True)]
● Step 2: Create an inherited view including a tab
● Object: project.issue / Inherited view: Project Issue Tracker Form
● XML architecture:
A group divides a tab
into two columns!
16
8. Add new o2m fields
Missions should be directly visible in the customer
form view
● If the customer is an insured: see the missions wherein he is
marked as insured
● If the customer is a borker: see the missions wherein he is marked
as broker
● Need of two different tabs which appear depending on the
customer type
● Insured = True → new tab “Missions linked to this insured”
● Broker = True → new tab “Missions linked to this broker”
17
8. Add new o2m fields
Add contextual 'Missions' tabs with new o2m fields
in the customer form
● Step 1: Edit the database structure
● Create two new one-to-many fields: i.e. 'x_missions_broker'
● Object relation: project.issue / Relation field: x_broker_partner
● Step 2: Create a new inherited view with 2 new tabs
● Object: res.partner / Inherited view: res.partner.form
● XML architecture:
18
TO SUMMARIZE:
●
We have customized the original Project Management interface to
entirely fit the context of our Expert Insurance company
●
New links between objects without extra module thanks to m2o and
o2m fields (i.e. customers & issues, meetings & issues, etc)
●
You just need to add short XML views (inspired by existing ones)
●
Sustainable thanks to inherited views (will get through updates and
migrations)
●
TIME SAVING
●
SaaS PLATFORM COMPATIBLE
9. Conclusions
19
Questions?
Thank you!

More Related Content

PDF
Odoo - Business intelligence: Develop cube views for your own objects
PDF
Odoo - Backend modules in v8
PPTX
Odoo Web Services
PDF
Odoo - From v7 to v8: the new api
PDF
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
DOCX
Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-conv...
PDF
Django Admin (Python meeutp)
PPTX
Introduction to UI Components in Magento 2
Odoo - Business intelligence: Develop cube views for your own objects
Odoo - Backend modules in v8
Odoo Web Services
Odoo - From v7 to v8: the new api
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-conv...
Django Admin (Python meeutp)
Introduction to UI Components in Magento 2

Viewers also liked (20)

PPTX
Odoo (OpenERP) - Creating a module
PDF
Development Odoo Basic
PDF
Modul Odoo ERP
PDF
How to manage a service company with Odoo
PDF
Improving the performance of Odoo deployments
PDF
Service Management with Odoo/OpenERP - Opendays 2014
PPTX
Odoo Features | Opensource ERP | Odoo Ecommerce
PDF
Odoo - Presentation documentation v8
PDF
Odoo - Open Source CMS: A performance comparision
PDF
The new Odoo warehouse management system
PDF
Odoo Strategy and Roadmap
PDF
Odoo 2016 - Retrospective
PDF
Odoo mobile apps
PDF
How to Import data into OpenERP V7
PDF
Odoo acces rights & groups
PDF
Odoo training 2016 - Apagen Solutions Pvt. ltd.
PPTX
Odoo 10 Helpdesk Module
ODP
The benefits of odoo
PDF
Tips on how to improve the performance of your custom modules for high volume...
PPT
ERP System Development Plan
Odoo (OpenERP) - Creating a module
Development Odoo Basic
Modul Odoo ERP
How to manage a service company with Odoo
Improving the performance of Odoo deployments
Service Management with Odoo/OpenERP - Opendays 2014
Odoo Features | Opensource ERP | Odoo Ecommerce
Odoo - Presentation documentation v8
Odoo - Open Source CMS: A performance comparision
The new Odoo warehouse management system
Odoo Strategy and Roadmap
Odoo 2016 - Retrospective
Odoo mobile apps
How to Import data into OpenERP V7
Odoo acces rights & groups
Odoo training 2016 - Apagen Solutions Pvt. ltd.
Odoo 10 Helpdesk Module
The benefits of odoo
Tips on how to improve the performance of your custom modules for high volume...
ERP System Development Plan
Ad

Similar to How to customize views & menues of OpenERP online in a sustainable way. Frederic Gilson, OpenERP (20)

PDF
exploring_a03_grader_h3.accdb (solution)
DOCX
Porfolio of Setfocus work
PDF
Dynamic_UI_Concepts_version_2.pdf
PDF
Migrate Custom data/object in SAP S/4 HANA
PDF
Tech ed 2012 eim260 modeling in sap hana-exercise
PDF
Cbse computer science (c++) class 12 board project bank managment system
PPTX
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
DOCX
Inventory management system
DOCX
salesforcedoc report for salesforce salesforce
PPTX
Report Actions In Odoo 17 - Odoo 17 Slides
PPTX
How to add Many2Many fields in odoo website form.pptx
PPT
Curso inductivo de EOdissey-usuarios.ppt
PPTX
Apex enterprise patterns
PPT
SetFocus SQL Portfolio
DOC
Shubham.Cv
PPTX
Mini project suggestion on project topic.pptx
PPTX
How to embed reporting into your asp.net core web applications
PPTX
FYP ppts.pptxafinalyearprojectphaseonetwo
PDF
Transforming Feature Ideas into Machine Learning Inputs
PDF
Data Science training in Bangalore - Learnbay.in
exploring_a03_grader_h3.accdb (solution)
Porfolio of Setfocus work
Dynamic_UI_Concepts_version_2.pdf
Migrate Custom data/object in SAP S/4 HANA
Tech ed 2012 eim260 modeling in sap hana-exercise
Cbse computer science (c++) class 12 board project bank managment system
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
Inventory management system
salesforcedoc report for salesforce salesforce
Report Actions In Odoo 17 - Odoo 17 Slides
How to add Many2Many fields in odoo website form.pptx
Curso inductivo de EOdissey-usuarios.ppt
Apex enterprise patterns
SetFocus SQL Portfolio
Shubham.Cv
Mini project suggestion on project topic.pptx
How to embed reporting into your asp.net core web applications
FYP ppts.pptxafinalyearprojectphaseonetwo
Transforming Feature Ideas into Machine Learning Inputs
Data Science training in Bangalore - Learnbay.in
Ad

More from Odoo (20)

PPTX
Timesheet Workshop: The Timesheet App People Love!
PPTX
Odoo 3D Product View with Google Model-Viewer
PPTX
Keynote - Vision & Strategy
PPTX
Opening Keynote - Unveilling Odoo 14
PDF
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
PDF
Managing Multi-channel Selling with Odoo
PPTX
Product Configurator: Advanced Use Case
PDF
Accounting Automation: How Much Money We Saved and How?
PPTX
Rock Your Logistics with Advanced Operations
PPTX
Transition from a cost to a flow-centric organization
PDF
Synchronization: The Supply Chain Response to Overcome the Crisis
PPTX
Running a University with Odoo
PPTX
Down Payments on Purchase Orders in Odoo
PPTX
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
PPTX
Migration from Salesforce to Odoo
PPTX
Preventing User Mistakes by Using Machine Learning
PPTX
Becoming an Odoo Expert: How to Prepare for the Certification
PPTX
Instant Printing of any Odoo Report or Shipping Label
PPTX
How Odoo helped an Organization Grow 3 Fold
PPTX
From Shopify to Odoo
Timesheet Workshop: The Timesheet App People Love!
Odoo 3D Product View with Google Model-Viewer
Keynote - Vision & Strategy
Opening Keynote - Unveilling Odoo 14
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Managing Multi-channel Selling with Odoo
Product Configurator: Advanced Use Case
Accounting Automation: How Much Money We Saved and How?
Rock Your Logistics with Advanced Operations
Transition from a cost to a flow-centric organization
Synchronization: The Supply Chain Response to Overcome the Crisis
Running a University with Odoo
Down Payments on Purchase Orders in Odoo
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Migration from Salesforce to Odoo
Preventing User Mistakes by Using Machine Learning
Becoming an Odoo Expert: How to Prepare for the Certification
Instant Printing of any Odoo Report or Shipping Label
How Odoo helped an Organization Grow 3 Fold
From Shopify to Odoo

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
cuic standard and advanced reporting.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Big Data Technologies - Introduction.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
Chapter 3 Spatial Domain Image Processing.pdf
A Presentation on Artificial Intelligence
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation theory and applications.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
cuic standard and advanced reporting.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

How to customize views & menues of OpenERP online in a sustainable way. Frederic Gilson, OpenERP

  • 1. 1 View Customization How to customize views & menus of OpenERP Online in a sustainable way: the case of an Expertise Company Fré d é r i c G I LS O N Func tio na l C onsul ta nt a t O penERP Be lgium – Q uick St a r t Te a m O p e n Day s – J u l y 4 t h 2 0 1 3
  • 2. 2 Content ● Goal ● Scope ● What is/Why an inherited view ● Add an existing field ● Add new fields ● Add a 'Group by' ● Rename menu items ● Add new menu items ● Add a new selection field ● Add new m2o fields ● Add new o2m fields
  • 3. 3 Goal ● Use the standard OpenERP (without any custom module) ● Fully customize the Project Management interface in order to make it useful and understandable for the customer
  • 4. 4 Scope Insured people reports an incident to Broker Broker reports it to Insurance Company Insurance company asks for Experts to Our Company Our company manages experts' missions.
  • 5. 5 Customize a view 2 steps to modify a view properly: ● Modify the database structure Create new fields in the model associated to the original view (in Setting > Technical > Database Structure > Models) Keep the 'x_' syntax in order the field to survive updates! ● Modify the view Add an inherited view (including the new fields) to the original view (in Setting > Technical > User Interface > View)
  • 6. 6 Inherited view What is an inherited view? Why an inherited view to modify an existing one? ORIGINAL VIEW xml record stored in database (uploaded from sources) INHERITED VIEW new xml record in database ORIGINAL VIEW INHERITED VIEWUPDATED VIEW
  • 7. 7 1. Add an existing field Add customers' addresses in the list view ● Create an inherited view: ● Object: res.partner ● Inherited view: res.partner.form ● XML architecture:
  • 8. 8 2. Add new fields Add 'Insured' and 'Broker' checkboxes in the customer form view (below 'Website') ● Step 1: Edit the database structure – Create two new boolean fields in the 'Partner' model: i.e. 'x_insured' & 'x_broker' ● Step 2: Create an inherited view for the form view – Object: res.partner / Inherited view: res.partner.form – XML architecture:
  • 9. 9 3. Add a 'Group by' Add a 'Group by... City' in the customer list view ● Create a new inherited view ● Object: res.partner / Inherited view: res.partner.select ● XML architecture: ● The view type is automatically set by OpenERP.
  • 10. 10 4. Rename menu items Contextualize the Project menu items ● Rename the main menu item “Project” in “Claims” ● Go to Settings > User Interface > Menu Items and open the 'Project' item ● In the 'Name' field, click on the translation icon and create/modify the translation ● If you use the default English, you need to create a new translation. So install at least a second language and duplicate the existing translation (from the form view) in order to get automatically the right record ID (mandatory in that case). ● Rename “Issues” in “Missions” ● Etc
  • 11. 11 5. Add new menu items Add 'Insured' and 'Broker' menu items in the 'Claims' menu ● Create two new menu items in the 'Claims' menu ● Go to Settings > Database Structure > Models and open the 'Partner' item ● Create two new menu items based on this model (at the bottom) in 'Claims': 'Broker' and 'Insured' ● Filter the customer list displayed based on fields added in the customer view (Broker and Insured) ● Click on the 'Insured' item and open 'Edit Action' in the developer menu ● Add a domain value (filter): [('x_insured','=',True)] ● Add a contect value (default value for new records): {"default_x_insured":True} ● Do it the same for the 'Broker' item
  • 12. 12 6. Add a new selection field A mission can be: ● A storm ● A robbery ● A damage ● An accident Let's modify the view again in order to get a field with a set of predefined items (selection field).
  • 13. 13 6. Add a new selection field Add a new 'Incident type' selection field in the Mission form (below the 'Category' field) ● Step 1: Edit the database structure ● Create one new field: i.e. 'x_issue_type' (field type: selection) ● Expression: i.e. [('storm','Storm'),('robery','Robery'),('damage','Damage'), ('accident','Accident')] ● Step 2: Create a new inherited view ● Similar definition (inherited from Project Issue Tracker Form) ● XML architecture:
  • 14. 14 7. Add new m2o fields An issue has to be associated to: ● An Insurance company ● An expert ● An insured ● A broker The two new fields must be related to the 'Partner' object as well. → Contact → Responsible → Missing field → Missing field
  • 15. 15 7. Add new m2o fields Add new fields in the Mission form ● Step 1: Edit the database structure ● Create two new many-to-one fields in the 'project.issue' model: i.e. 'x_insured' & 'x_broker' (object relation: res.partner) ● Domain for 'x_insured' to filter the available contacts: [('x_insured','=',True)] ● Step 2: Create an inherited view including a tab ● Object: project.issue / Inherited view: Project Issue Tracker Form ● XML architecture: A group divides a tab into two columns!
  • 16. 16 8. Add new o2m fields Missions should be directly visible in the customer form view ● If the customer is an insured: see the missions wherein he is marked as insured ● If the customer is a borker: see the missions wherein he is marked as broker ● Need of two different tabs which appear depending on the customer type ● Insured = True → new tab “Missions linked to this insured” ● Broker = True → new tab “Missions linked to this broker”
  • 17. 17 8. Add new o2m fields Add contextual 'Missions' tabs with new o2m fields in the customer form ● Step 1: Edit the database structure ● Create two new one-to-many fields: i.e. 'x_missions_broker' ● Object relation: project.issue / Relation field: x_broker_partner ● Step 2: Create a new inherited view with 2 new tabs ● Object: res.partner / Inherited view: res.partner.form ● XML architecture:
  • 18. 18 TO SUMMARIZE: ● We have customized the original Project Management interface to entirely fit the context of our Expert Insurance company ● New links between objects without extra module thanks to m2o and o2m fields (i.e. customers & issues, meetings & issues, etc) ● You just need to add short XML views (inspired by existing ones) ● Sustainable thanks to inherited views (will get through updates and migrations) ● TIME SAVING ● SaaS PLATFORM COMPATIBLE 9. Conclusions