Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Odoo 11 Development Cookbook - Second Edition

You're reading from   Odoo 11 Development Cookbook - Second Edition Over 120 unique recipes to build effective enterprise and business applications

Arrow left icon
Product type Paperback
Published in Jan 2018
Publisher Packt
ISBN-13 9781788471817
Length 470 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Toc

Table of Contents (23) Chapters Close

Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
1. Installing the Odoo Development Environment 2. Managing Odoo Server Instances FREE CHAPTER 3. Server Deployment 4. Creating Odoo Addon Modules 5. Application Models 6. Basic Server-Side Development 7. Module Data 8. Debugging and Automated Testing 9. Advanced Server-Side Development Techniques 10. Backend Views 11. Access Security 12. Internationalization 13. Automation, Workflows, Emails, and Printouts 14. Web Server Development 15. Web Client Development 16. CMS Website Development 1. Other Books You May Enjoy Index

Index

A

  • abstract Models
    • using, for reusable Model features / Using abstract Models for reusable Model features, How it works...
  • access
    • limiting, to fields / Limiting access to fields in models, How it works...
    • restricting, to web accessible paths / Restricting access to web accessible paths, How it works...
  • Access Security
    • adding / Adding Access Security, How it works…
  • actions
    • parameters, passing to / Getting ready
  • act window / There's more...
  • addon module file structure
    • organizing / Organizing the addon module file structure, How it works...
  • addon module manifest
    • completing / Completing the addon module manifest, How it works...
  • addon modules
    • installing, web interface used / From the web interface
    • installing, from command line / From the command line
    • installing, from GitHub / Installing addon modules from GitHub, How it works…
    • creating / Creating and installing a new addon module, How it works...
    • installing / Creating and installing a new addon module, How it works...
  • addon modules list
    • updating / Updating the addon modules list, How to do it…, How it works…
  • addons
    • installing / Addon installation
    • updating / Addon update
    • changes, applying to / Applying changes to addons, How it works…
  • addons path
    • configuring / Configuring the addons path, How to do it…, How it works…
  • addon updates / Addon updates and data migration
  • API decorators
    • using / Defining model methods and using the API decorators, How to do it..., How it works...
  • attrs
    • dynamic form elements / Dynamic form elements using attrs
  • automated actions
    • using, on time conditions / Using automated actions on time conditions, How to do it..., How it works...
    • using, on event conditions / Using automated actions on event conditions, How to do it..., How it works...

B

  • backups / Backups
  • base language / How it works...
  • bootstrap
    • reference / See also
  • buildout
    • using, for repeatable builds / Using buildout for repeatable builds, How to do it..., How it works...
    • temporary merges / Temporary merges
    • freezing / Freezing a buildout
    • reference / See also
  • business logic
    • extending, defined in Model / Extending the business logic defined in a Model
  • button element / Button
  • buttons
    • adding, to forms / Adding buttons to forms

C

  • calendar view / Calendar and gantt views, How it works...
  • certbot program
    • reference / How it works...
  • Certification Authority (CA) / There's more...
  • classes, odoo.tests.common module
    • TransactionCase / There's more...
    • SingleTransactionCase / There's more...
    • SavePointCase / There's more...
  • classical inheritance / Adding features to a Model using inheritance
  • client-side code
    • tests, writing for / Writing tests for client-side code, How to do it..., How it works...
    • debugging / Debugging your client-side code, How to do it..., How it works...
  • client-side QWeb templates
    • using / Using client-side QWeb templates, How to do it..., How it works...
  • code
    • checking, Pylint used / Using Pylint to check your code
    • checking, Flake8 used / Using Flake8 to check your code
  • columns
    • kanban cards, displaying in / Showing kanban cards in columns according to their state, How it works...
  • command line
    • addon modules, installing from / From the command line
  • computed fields
    • adding, to Model / Adding computed fields to a Model, How it works...
  • configurable precision
    • float field, using with / Using a float field with configurable precision, How it works...
  • configuration file
    • adapting, for production / Adapting the configuration file for production, How to do it..., How it works...
  • considerations, for deployment of instance
    • server dimensioning / Server dimensioning
    • PostgreSQL tuning / PostgreSQL tuning
    • source code version / Source code version
    • backups / Backups
  • constraint validations
    • adding, to Model / Adding constraint validations to a Model, How to do it...
  • container
    • Odoo, running in / Running Odoo in a container
  • content
    • adding, to form view / Adding content and widgets to a form view, How it works...
  • context / Passing parameters to forms and actions – Context
  • control structures / Control structures
  • create()
    • extending / Extending write() and create()
  • CSS
    • extending, for website / Extending CSS and JavaScript for the website, How it works...
  • CSV files
    • used, for loading data / Loading data using CSV files, How it works...
  • custom widgets
    • creating / Creating custom widgets, How to do it..., How it works...

D

  • data
    • loading, XML files used / Loading data using XML files, How it works...
    • loading, CSV files used / Loading data using CSV files, How it works...
    • loading, YAML files used / Loading data using YAML files, How it works...
  • data fields
    • adding, to Model / Adding data fields to a Model, How to do it..., How it works...
  • data migration / Addon updates and data migration, How it works...
  • Decimal Precision Configuration module / Using a float field with configurable precision
  • delegation inheritance
    • used, for copying features to Model / Using delegation inheritance to copy features to another Model, How it works...
  • dependencies / How it works...
  • Docker
    • about / Using Docker to run Odoo
    • used, for running Odoo / Using Docker to run Odoo, How it works…
  • Docker image
    • building / Building a Docker image
  • document-style forms / Document-style forms, How it works...
  • domain / Defining filters on record lists – Domain
  • duplicity
    • reference / Backups
  • dynamic form elements
    • with attrs / Dynamic form elements using attrs
  • dynamic relations
    • adding, Reference fields used / Adding dynamic relations using Reference fields, How it works...

E

  • emacs (po-mode)
    • reference / There's more...
  • email templates / Email templates, How to do it..., How it works...
  • embedded views / Embedded views, There's more...
  • empty recordset
    • obtaining, for different model / Obtaining an empty recordset for a different model
    • obtaining, from model / How it works...
  • errors
    • reporting, to user / Reporting errors to the user, How to do it..., How it works...
  • event conditions
    • automated actions, using on / Using automated actions on event conditions, How to do it..., How it works...
  • external IDs
    • using / Using external IDs and namespaces, How it works...

F

  • features
    • adding, to Model / Adding features to a Model using inheritance
    • activating, security group used / Using security groups to activate features, Getting ready, How to do it..., How it works...
  • field elements / Field
  • file
    • instance configuration, storing in / Storing the instance configuration in a file, How it works...
    • translation strings, exporting to / Exporting translation strings to a file, How to do it..., How it works...
  • filters
    • defining, on record lists / How to do it...
  • Flake8
    • reference / Using Flake8 to check your code
    • used, for checking code / Using Flake8 to check your code
  • float field
    • using, with configurable precision / Using a float field with configurable precision, How it works...
  • forcecreate flag
    • using / Using the noupdate and forcecreate flags, How it works...
  • form element / Form
  • forms
    • buttons, adding to / Adding buttons to forms
    • parameters, passing to / Getting ready
  • form view
    • content, adding to / Adding content and widgets to a form view
    • widgets, adding to / Adding content and widgets to a form view

G

  • gantt view / Calendar and gantt views, How it works...
  • gettext tools
    • used, for easing translations / Using gettext tools to ease translations, How to do it..., How it works...
  • Git configuration / Git configuration
  • GitHub
    • addon modules, installing from / Installing addon modules from GitHub, How it works…
  • git submodule
    • reference / Source code version
  • Global Interpreter Locks (GIL) / How it works...
  • GNU gettext documentation
    • reference / There's more...
  • graph view / Getting ready, How it works...
  • group element / Group
  • Gtranslator
    • reference / There's more...

H

  • handler
    • modifying / Modifying an existing handler, How it works…
  • header element / Header
  • hierarchy
    • adding, to Model / Adding a hierarchy to a Model, How it works...

I

  • inheritance
    • features, adding to model / Adding features to a Model using inheritance, There's more...
  • instance configuration
    • storing, in file / Storing the instance configuration in a file, How it works...
  • instance directory layout
    • standardizing / Standardizing your instance directory layout, How to do it…, How it works…
  • instances
    • starting / Starting the instance
  • ipdb
    • reference / There's more...
  • ir.actions.act_window.view / ir.actions.act_window.view

J

  • JavaScript
    • extending, for website / Extending CSS and JavaScript for the website, How it works...
  • Jinja filter
    • reference / How it works...
  • JSONRPC / JSONRPC

K

  • Kanban board / How it works...
  • Kanban cards
    • displaying, in columns / Showing kanban cards in columns according to their state, How it works...
  • Kanban features
    • using / Using Kanban stages and features, How to do it...
  • Kanban stages
    • using / Using Kanban stages and features, How to do it...
  • Kanban views / Kanban views, How it works...

L

  • language
    • installing / Installing a language and configuring user preferences, How to do it..., How it works...
  • language-related settings
    • configuring / Configuring language-related settings, How to do it...
  • Let's Encrypt
    • reference / Configuring a reverse proxy and SSL with nginx and Let's Encrypt
    • SSL, configuring with / Getting ready
  • LibreOffice-based reports
    • producing, with Py3O / Producing LibreOffice-based reports with Py3O, How to do it...
  • Linux Containers (LXC) / Using Docker to run Odoo
  • list views / List views, How it works...
  • local addon modules
    • installing / Installing and upgrading local addon modules
    • upgrading / Installing and upgrading local addon modules
  • logging level / There's more...
  • log handler / There's more...
  • Lokalize
    • reference / There's more...

M

  • Mako templates
    • reference / How it works...
  • Mako templating language
    • reference / See also
  • menu item
    • adding / Adding a menu item and window action, How it works...
  • Menu Items
    • adding / Adding Menu Items and Views, How to do it...
  • messages
    • posting / There's more...
  • messaging features
    • adding / Adding messaging and tracking features, How it works...
  • method
    • calling, Odoo shell used / Using the Odoo shell to interactively call methods, How to do it..., How it works...
    • calling, with modified context / Calling a method with a modified context, How it works...
  • method execution
    • tracing, Python debugger used / Using the Python debugger to trace method execution, How to do it..., How it works..., There's more...
  • microdata
    • reference / See also
  • Model
    • data fields, adding to / Adding data fields to a Model, How to do it..., How it works...
    • monetary field, adding to / Adding a monetary field to a Model, How it works...
    • relational fields, adding to / Adding relational fields to a Model, How it works...
    • hierarchy, adding to / Adding a hierarchy to a Model, How it works...
    • constraint validations, adding to / Adding constraint validations to a Model, How to do it...
    • computed fields, adding to / Adding computed fields to a Model, How it works...
    • related fields, exposing / Exposing related fields stored in other Models, How it works...
    • features, adding to / Adding features to a Model using inheritance
    • business logic, extending / Extending the business logic defined in a Model
    • defining, based on SQL view / Defining a model based on a SQL view, How to do it...
  • model methods
    • defining / Defining model methods and using the API decorators, How to do it..., How it works...
  • Model representation
    • defining / Defining the Model representation and order, How it works...
  • models
    • adding / Adding models, How it works...
    • security access, adding to / Adding security access to models, How to do it..., How it works...
    • access, limiting to fields / Limiting access to fields in models, How it works...
  • modified context
    • method, calling with / Calling a method with a modified context, How it works...
  • modules
    • creating, scaffold used / Using scaffold to create a module, How to do it...
  • monetary field
    • adding, to Model / Adding a monetary field to a Model, How it works...

N

  • namespaces
    • using / Using external IDs and namespaces, How it works...
  • Nested set model
    • reference / Adding a hierarchy to a Model
  • network
    • path access, obtaining from / Making a path accessible from the network, How it works...
  • nginx
    • reference / Configuring a reverse proxy and SSL with nginx and Let's Encrypt
    • reverse proxy, configuring with / Getting ready
  • nginx configuration options
    • reference / See also
  • noupdate flag
    • using / Using the noupdate and forcecreate flags, How it works...

O

  • oca-decorators project
    • reference / There's more...
  • Odoo
    • installing, from source / Easy installation of Odoo from source, How to do it...
    • updating, from source / Updating Odoo from source, How it works...
    • installing, for production use / Installing Odoo for production use, How to do it..., How it works...
    • setting up, as system service / Setting up Odoo as a system service, How it works...
    • running, Docker used / Using Docker to run Odoo, How it works…
    • running, in container / Running Odoo in a container
    • translation files, importing into / Importing translation files into Odoo, How it works...
    • report_py3o module, generating / Getting the report_py3o module in Odoo
  • odoo.http.request / odoo.http.request
  • odoo.http.route / odoo.http.route
  • odoo.tests.common module
    • classes / There's more...
  • Odoo Community Association (OCA) / There's more…, Introduction, Installing addon modules from GitHub, Using the Odoo Community Association maintainer quality tools
  • Odoo Community Association maintainer quality tools
    • using / Using the Odoo Community Association maintainer quality tools, How to do it..., How it works...
  • Odoo database management interface
    • database management interface, accessing / Accessing the database management interface
    • master password, setting / Setting or changing the master password
    • master password, modifying / Setting or changing the master password
    • database, creating / Creating a new database
    • database, duplicating / Duplicating a database
    • database, removing / Removing a database
    • database, backing up / Backing up a database
    • database backup, restoring / Restoring a database backup
  • Odoo developer tools
    • activating / Activating the Odoo developer tools, How it works...
  • Odoo environments
    • managing, start command used / Managing Odoo environments using the start command, How it works...
  • Odoo server databases
    • managing / Managing Odoo server databases
  • Odoo shell
    • used, for interactively calling methods / Using the Odoo shell to interactively call methods, How to do it..., How it works...
  • Odoo source code
    • downloading / Downloading the Odoo source code
  • onchange methods
    • defining / Defining onchange methods, Getting ready, How it works...
    • calling, on server side / Calling onchange methods on the server side, Getting ready, How it works...
  • order
    • defining / Defining the Model representation and order, How it works...

P

  • parameters
    • passing, to forms / Getting ready
    • passing, to actions / Getting ready
    • consuming, passed to handlers / Consuming parameters passed to your handlers, How it works...
  • path access
    • obtaining, from network / Making a path accessible from the network, How it works...
  • pdb
    • reference / See also
  • pgtune utility
    • reference / PostgreSQL tuning
  • pivot view / Getting ready, How it works...
  • placeholders / Placeholders
  • poedit
    • reference / There's more...
  • PostgreSQL configuration /
  • PostgreSQL tuning / PostgreSQL tuning
  • production
    • configuration file, adapting for / Adapting the configuration file for production, How to do it..., How it works...
  • production usage
    • Odoo, installing for / Installing Odoo for production use, How to do it..., How it works...
  • proposed pull requests
    • applying / Getting ready, How it works…
    • trying / Getting ready, How it works…
  • prototype inheritance / There's more...
  • pudb
    • reference / There's more...
  • Pull Request (PR) / Applying and trying proposed pull requests
  • Py3O
    • used, for producing LibreOffice-based reports / Producing LibreOffice-based reports with Py3O, How to do it...
  • py3o.fusion server
    • installing / Installing and running a py3o.fusion server
    • running / Installing and running a py3o.fusion server
  • Pylint
    • used, for checking code / Using Pylint to check your code
    • reference / Using Pylint to check your code
  • Python code server actions
    • using / Using Python code server actions
  • Python debugger
    • used, for tracing method execution / Using the Python debugger to trace method execution, How to do it..., How it works...
  • Python unit tests
    • tests, writing for module / Writing tests for your module using Python unit tests, How it works...
    • reference / How it works...

Q

  • QUnit
    • reference / Writing tests for client-side code
  • QWeb-based PDF reports / QWeb-based PDF reports, How it works...

R

  • raw SQL queries
    • executing / Executing raw SQL queries, How to do it...
  • record access
    • limiting, record rules used / Limiting record access using record rules, How to do it..., How it works...
  • record lists
    • filters, defining on / How to do it...
  • records
    • creating / Creating new records, How to do it..., How it works...
    • searching / Searching for records, How it works...
  • record search
    • customizing / Customizing how records are searched
  • recordset records
    • values, updating of / Updating values of recordset records, How it works...
  • recordset relations
    • traversing / Traversing recordset relations, How it works...
  • recordsets
    • combining / Combining recordsets, How it works...
    • filtering / Filtering recordsets, How it works...
  • Reference fields
    • used, for adding dynamic relations / Adding dynamic relations using Reference fields, How it works...
  • relational fields
    • adding, to Model / Adding relational fields to a Model, How it works...
  • repeatable builds
    • buildout, using for / Using buildout for repeatable builds, How to do it..., How it works...
  • report_py3o module
    • about / Producing LibreOffice-based reports with Py3O
    • obtaining, in Odoo / Getting the report_py3o module in Odoo
  • RequireJS
    • reference / How it works...
  • ReStructuredText (RST) format / How it works...
  • reusable Model features
    • abstract Models, using for / Using abstract Models for reusable Model features, How it works...
  • reverse proxy
    • about / How it works...
    • configuring, with nginx / Getting ready
  • RPC API
    • using / Using the RPC API, How it works...
  • RPC calls
    • making, to server / Making RPC calls to the server, How it works...

S

  • scaffold
    • used, for creating modules / Using scaffold to create a module, How to do it...
  • search views / Search views, How it works...
  • security access
    • adding, to models / Adding security access to models, How to do it..., How it works...
  • security groups
    • creating / Creating security groups and assigning them to users, Getting ready, How it works...
    • assigning, to users / Creating security groups and assigning them to users, Getting ready, How it works...
    • used, for activating features / Using security groups to activate features, Getting ready, How to do it..., How it works...
  • server actions
    • creating / Creating server actions, How to do it..., How it works...
  • server dimensioning / Server dimensioning
  • server logs
    • producing, to help debug methods / Producing server logs to help debug methods, How to do it..., How it works...
  • server side
    • onchange methods, calling on / Calling onchange methods on the server side, Getting ready, How it works...
  • server tests
    • running / Running server tests, How it works...
  • snippets
    • offering, to user / Offering snippets to the user, How to do it..., How it works...
  • source
    • Odoo, installing from / Easy installation of Odoo from source, How to do it...
    • Odoo, updating from / Updating Odoo from source, How it works...
  • SSL
    • configuring, with Let's Encrypt / Configuring a reverse proxy and SSL with nginx and Let's Encrypt
  • start command
    • used, for managing Odoo environments / Managing Odoo environments using the start command, How it works...
  • static code checkers
    • about / There's more...
    • Pylint / Using Pylint to check your code
    • Flake8 / Using Flake8 to check your code
  • system service
    • Odoo, setting up as / Setting up Odoo as a system service, How it works...

T

  • templates
    • creating / Creating or modifying templates – QWeb, How it works...
    • modifying / Creating or modifying templates – QWeb, How it works...
  • tests
    • writing, for client-side code / Writing tests for client-side code, How to do it..., How it works...
  • texts
    • translating, through web client user interface / Translating texts through the web client user interface, How to do it...
  • time conditions
    • automated actions, using on / Using automated actions on time conditions, How to do it..., How it works...
  • tracking features
    • adding / Adding messaging and tracking features, How it works...
  • traditional inheritance / Adding features to a Model using inheritance
  • translation files
    • importing, into Odoo / Importing translation files into Odoo, How to do it...
  • translations
    • easing, gettext tools used / Using gettext tools to ease translations, How to do it..., How it works...
  • translation strings
    • exporting, to file / Exporting translation strings to a file, How to do it..., How it works...

U

  • user
    • errors, reporting to / Reporting errors to the user, How to do it..., How it works...
    • actions, modifying / Changing the user performing an action, How it works...
    • security groups, assigning to / Creating security groups and assigning them to users, Getting ready, How it works...
    • snippets, offering to / Offering snippets to the user, How to do it..., How it works...
  • user preferences
    • configuring / Installing a language and configuring user preferences, How to do it..., How it works...

V

  • values
    • updating, of recordset records / Updating values of recordset records, How it works...
  • view inheritance
    • about / Changing existing views – View inheritance, How it works...
    • order of evaluation / Order of evaluation in view inheritance
  • views
    • modifying / Changing existing views – View inheritance
  • Views
    • adding / Adding Menu Items and Views, How it works...
  • virtual environments / Virtual environments

W

  • web accessible paths
    • access, restricting to / Restricting access to web accessible paths, How it works...
  • web client user interface
    • texts, translating through / Translating texts through the web client user interface, How to do it...
  • web interface
    • used, for installing addon modules / From the web interface
  • website
    • JavaScript, extending for / Extending CSS and JavaScript for the website, How it works...
    • CSS, extending for / Extending CSS and JavaScript for the website, How it works...
  • widgets
    • adding, to form view / Adding content and widgets to a form view, How it works...
  • window action
    • adding / Adding a menu item and window action, How it works...
    • specific view, opening / Having an action open a specific view, How it works...
  • wizard
    • writing, for user guidance / Writing a wizard to guide the user, How to do it...
  • wizard enhancement
    • context, used for computing default values / Using the context to compute default values
    • code reuse / Wizards and code reuse
    • user redirection / Redirecting the user
  • workers / How it works...
  • write()
    • extending / Extending write() and create(), How it works...

X

  • XML files
    • used, for loading data / Loading data using XML files, How it works...
  • XMLRPC / XMLRPC

Y

  • YAML files
    • used, for loading data / Loading data using YAML files, How it works...
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime
Visually different images