SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
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!

Mais conteúdo relacionado

Mais procurados

Circular knitting machine
Circular knitting machineCircular knitting machine
Circular knitting machine
Tanvir Ahammed
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
Vlad Posea
 

Mais procurados (20)

Circular knitting machine
Circular knitting machineCircular knitting machine
Circular knitting machine
 
Fashion Portfolio
Fashion PortfolioFashion Portfolio
Fashion Portfolio
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
 
Lee fashion orientation
Lee fashion orientationLee fashion orientation
Lee fashion orientation
 
Basic Textile technology for Non-Textile Graduate
Basic Textile technology for Non-Textile GraduateBasic Textile technology for Non-Textile Graduate
Basic Textile technology for Non-Textile Graduate
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Can Welding replace Sewing in the garment Industry?
Can Welding replace Sewing in the garment Industry?Can Welding replace Sewing in the garment Industry?
Can Welding replace Sewing in the garment Industry?
 
Cutting Machine of Garments Sector
Cutting Machine of Garments SectorCutting Machine of Garments Sector
Cutting Machine of Garments Sector
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)
 
Air permeability tester 11te74zeeshan muet jamshoroo
Air permeability tester 11te74zeeshan muet jamshorooAir permeability tester 11te74zeeshan muet jamshoroo
Air permeability tester 11te74zeeshan muet jamshoroo
 
recycling of Garments.pptx
recycling of Garments.pptxrecycling of Garments.pptx
recycling of Garments.pptx
 
Chain stitch formation
Chain stitch formationChain stitch formation
Chain stitch formation
 
Consumption and costing
Consumption and costingConsumption and costing
Consumption and costing
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
 
comprehension 1 knitting
 comprehension 1 knitting comprehension 1 knitting
comprehension 1 knitting
 
U 3 introduction to pattern making
U 3 introduction to pattern makingU 3 introduction to pattern making
U 3 introduction to pattern making
 
Development Of Jacquard Design Through Computer Aided Design Cad Weaving
Development Of Jacquard Design Through Computer Aided Design Cad WeavingDevelopment Of Jacquard Design Through Computer Aided Design Cad Weaving
Development Of Jacquard Design Through Computer Aided Design Cad Weaving
 
Basic information of knitting
Basic information of knittingBasic information of knitting
Basic information of knitting
 
Hand block printing
Hand block printingHand block printing
Hand block printing
 
Circular knitting machine
Circular knitting machineCircular knitting machine
Circular knitting machine
 

Destaque

Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo - Presentation documentation v8
Odoo - Presentation documentation v8
Odoo
 
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Best practices on how to import data into OpenERP. Cyril Morisse, AudaxisBest practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Odoo
 
Odoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparisionOdoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparision
Odoo
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management system
Odoo
 
Odoo mobile apps
Odoo mobile appsOdoo mobile apps
Odoo mobile apps
Odoo
 

Destaque (20)

Odoo (OpenERP) - Creating a module
Odoo (OpenERP) - Creating a moduleOdoo (OpenERP) - Creating a module
Odoo (OpenERP) - Creating a module
 
Odoo - Backend modules in v8
Odoo - Backend modules in v8Odoo - Backend modules in v8
Odoo - Backend modules in v8
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo Basic
 
Modul Odoo ERP
Modul Odoo ERPModul Odoo ERP
Modul Odoo ERP
 
How to manage a service company with Odoo
How to manage a service company with OdooHow to manage a service company with Odoo
How to manage a service company with Odoo
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deployments
 
Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014
 
Odoo Features | Opensource ERP | Odoo Ecommerce
Odoo Features | Opensource ERP | Odoo EcommerceOdoo Features | Opensource ERP | Odoo Ecommerce
Odoo Features | Opensource ERP | Odoo Ecommerce
 
Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo - Presentation documentation v8
Odoo - Presentation documentation v8
 
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Best practices on how to import data into OpenERP. Cyril Morisse, AudaxisBest practices on how to import data into OpenERP. Cyril Morisse, Audaxis
Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis
 
Odoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparisionOdoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparision
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management system
 
Odoo Strategy and Roadmap
Odoo Strategy and RoadmapOdoo Strategy and Roadmap
Odoo Strategy and Roadmap
 
Odoo 2016 - Retrospective
Odoo 2016 - RetrospectiveOdoo 2016 - Retrospective
Odoo 2016 - Retrospective
 
Odoo mobile apps
Odoo mobile appsOdoo mobile apps
Odoo mobile apps
 
How to Import data into OpenERP V7
How to Import data into OpenERP V7How to Import data into OpenERP V7
How to Import data into OpenERP V7
 
Odoo acces rights & groups
Odoo acces rights & groupsOdoo acces rights & groups
Odoo acces rights & groups
 
Odoo training 2016 - Apagen Solutions Pvt. ltd.
Odoo training 2016 - Apagen Solutions Pvt. ltd.Odoo training 2016 - Apagen Solutions Pvt. ltd.
Odoo training 2016 - Apagen Solutions Pvt. ltd.
 
Odoo 10 Helpdesk Module
Odoo 10 Helpdesk Module Odoo 10 Helpdesk Module
Odoo 10 Helpdesk Module
 
The benefits of odoo
The benefits of odoo The benefits of odoo
The benefits of odoo
 

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

Porfolio of Setfocus work
Porfolio of Setfocus workPorfolio of Setfocus work
Porfolio of Setfocus work
KevinPSF
 
Tech ed 2012 eim260 modeling in sap hana-exercise
Tech ed 2012 eim260   modeling in sap hana-exerciseTech ed 2012 eim260   modeling in sap hana-exercise
Tech ed 2012 eim260 modeling in sap hana-exercise
Luc Vanrobays
 
SetFocus SQL Portfolio
SetFocus SQL PortfolioSetFocus SQL Portfolio
SetFocus SQL Portfolio
geometro17
 
T3SolutionsTeamProjectPowerPointforFinancialApplication (1)
T3SolutionsTeamProjectPowerPointforFinancialApplication (1)T3SolutionsTeamProjectPowerPointforFinancialApplication (1)
T3SolutionsTeamProjectPowerPointforFinancialApplication (1)
Katherine Shelton
 

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

exploring_a03_grader_h3.accdb (solution)
exploring_a03_grader_h3.accdb (solution)exploring_a03_grader_h3.accdb (solution)
exploring_a03_grader_h3.accdb (solution)
 
Porfolio of Setfocus work
Porfolio of Setfocus workPorfolio of Setfocus work
Porfolio of Setfocus work
 
Dynamic_UI_Concepts_version_2.pdf
Dynamic_UI_Concepts_version_2.pdfDynamic_UI_Concepts_version_2.pdf
Dynamic_UI_Concepts_version_2.pdf
 
Migrate Custom data/object in SAP S/4 HANA
Migrate Custom data/object in SAP S/4 HANA Migrate Custom data/object in SAP S/4 HANA
Migrate Custom data/object in SAP S/4 HANA
 
Tech ed 2012 eim260 modeling in sap hana-exercise
Tech ed 2012 eim260   modeling in sap hana-exerciseTech ed 2012 eim260   modeling in sap hana-exercise
Tech ed 2012 eim260 modeling in sap hana-exercise
 
Cbse computer science (c++) class 12 board project bank managment system
Cbse computer science (c++)  class 12 board project  bank managment systemCbse computer science (c++)  class 12 board project  bank managment system
Cbse computer science (c++) class 12 board project bank managment system
 
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
 
Inventory management system
Inventory management systemInventory management system
Inventory management system
 
Apex enterprise patterns
Apex enterprise patternsApex enterprise patterns
Apex enterprise patterns
 
SetFocus SQL Portfolio
SetFocus SQL PortfolioSetFocus SQL Portfolio
SetFocus SQL Portfolio
 
Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-conv...
Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-conv...Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-conv...
Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-conv...
 
Shubham.Cv
Shubham.CvShubham.Cv
Shubham.Cv
 
How to embed reporting into your asp.net core web applications
How to embed reporting into your asp.net core web applications How to embed reporting into your asp.net core web applications
How to embed reporting into your asp.net core web applications
 
Transforming Feature Ideas into Machine Learning Inputs
Transforming Feature Ideas into Machine Learning InputsTransforming Feature Ideas into Machine Learning Inputs
Transforming Feature Ideas into Machine Learning Inputs
 
Data Science training in Bangalore - Learnbay.in
Data Science training in Bangalore - Learnbay.inData Science training in Bangalore - Learnbay.in
Data Science training in Bangalore - Learnbay.in
 
Advanced Remarketing in Google Analytics Using CRM Data
Advanced Remarketing in Google Analytics Using CRM DataAdvanced Remarketing in Google Analytics Using CRM Data
Advanced Remarketing in Google Analytics Using CRM Data
 
Warranty processing recall bbp
Warranty processing recall bbpWarranty processing recall bbp
Warranty processing recall bbp
 
T3SolutionsTeamProjectPowerPointforFinancialApplication (1)
T3SolutionsTeamProjectPowerPointforFinancialApplication (1)T3SolutionsTeamProjectPowerPointforFinancialApplication (1)
T3SolutionsTeamProjectPowerPointforFinancialApplication (1)
 
Binding to multiple datasources on a single xPage
Binding to multiple datasources on a single xPageBinding to multiple datasources on a single xPage
Binding to multiple datasources on a single xPage
 
iOS Contact List Application Tutorial
iOS Contact List Application TutorialiOS Contact List Application Tutorial
iOS Contact List Application Tutorial
 

Mais de Odoo

Mais de Odoo (20)

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

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

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