Book Image

Odoo 12 Development Essentials - Fourth Edition

By : Daniel Reis
Book Image

Odoo 12 Development Essentials - Fourth Edition

By: Daniel Reis

Overview of this book

Odoo is one of the best platforms for open source ERP and CRM. Its latest version, Odoo 12, brings with it new features and updates in Python packages to develop more customizable applications with additional cloud capabilities. The book begins by covering the development essentials for building business applications. You will start your journey by learning how to install and configure Odoo, and then transition from having no specific knowledge of Odoo to being ready for application development. You will develop your first Odoo application and understand topics such as models and views. Odoo 12 Development Essentials will also guide you in using server APIs to add business logic, helping you lay a solid foundation for advanced topics. As you progress through the chapters, you will be equipped to build and customize your applications and explore the new features in Odoo 12, such as cloud integration, to scale your business applications. You will get insights into building business logic and integrating various APIs into your application. By the end of the book, you will be able to build a business application from scratch by using the latest version of Odoo.
Table of Contents (22 chapters)
Title Page
Packt Upsell
Foreword
Contributors
Preface
Index

Raising exceptions


When something does not work as expected, we may want to inform the user and interrupt the program with an error message. This is done by raising an exception. Odoo provides exception classes that we should use for this.

 

 

The most useful Odoo exceptions to be used in add-on modules are the following:

from odoo import exceptions 
raise exceptions.ValidationError('Not valid message')
raise exceptions.UserError('Business logic error')

The ValidationError exception should be used for validations in Python code, such as @api.constrains decorated methods.

The UserError exception should be used in all other cases where some action should not be allowed, because it goes against business logic.

Note

Changed in Odoo 9The UserError exception was introduced, replacing the Warning exception, deprecated due to collision with Python builtins, but kept for Odoo backward compatibility. 

As a general rule, all data manipulation done during a method execution is in a database transaction and is...