
install odoo 17 community edition across windows, linux, or docker, configure the server and postgres, and access the running instance via localhost:8069 in your browser.
Open this documentation to install according to your operating system
https://www.odoo.com/documentation/17.0/administration/on_premise/source.html
Explore how odoo technical works by inspecting the sell_model table, creating sales orders and customers, and building forms, lists, and views (kanban, calendar, pivot, graph, activity) for a custom module.
Explore the Odoo server directory to inspect the core source code, built-in addons, and the sales order module; learn where to place custom addons and configure their path.
Set up the addons_path in odoo.conf by adding a new directory for custom addons, save, restart the service, and verify access to the Odoo web interface.
Activate developer mode in settings to access information while coding in Odoo, view extra buttons in the apps menu, and update the app list after adding new add-ons.
Learn to create a custom Odoo 17 module by defining a manifest, configuring addon paths, restarting services, updating apps, and activating the module in debug mode.
Create a custom Odoo model by setting up a models directory and defining the state property model with name and description fields. Load the model via init.py.
Create a custom Odoo 17 module by defining model permissions in an access CSV and adding a menu with menu.xml, then upgrade the addon to expose the model in views.
Create a custom Odoo 17 module by authoring xml for a tree and list view, loading it via manifest, and upgrading the module to display and configure fields.
Create custom module forms in Odoo 17 by defining model fields, setting default values, and organizing inputs with form, group, and notebook tags.
Create a custom Odoo 17 module by adding a search tag to designate searchable fields. Replace the tree view with a search view and expose fields like name and postcode.
Create a custom filter in Odoo 17 by XML, using a search tag and filter tag with domain tuples to refine results via the portal postal code filter.
Explore how to define constraints in Odoo 17 using SQL constraints and API constraints, including PostgreSQL basics, unique and check rules, validation errors, and addon upgrades.
Define living area and garden area as dependent fields and automatically update total area with compute, using onchange for field changes and handling one-to-many relation price to get highest price.
Define a state field with options new, offer received, offer accepted, sold, canceled; create header XML actions linked to Python methods and use infeasible or invisible conditions to control visibility.
Override existing Odoo methods by customizing create, write, and unlink in a model with API model and decorators, then manage state transitions such as new, cancel, and ready.
Create and configure an Odoo 17 scheduler by writing an XML cron job, defining a model method to update state daily, and managing deployment steps from manifest to restart.
Configure Odoo 17 to send email by configuring an outgoing mail server (SMTP), creating an email template, and using a Python action to send emails with recipient, subject, and body.
CMD commands:
> cd E:\_Installed Apps\python
> Scripts\pip3 install google-cloud-storage==2.9.0
Implement many-to-one relations to existing tables in odoo 17, including creating html labels, grouping fields, and upgrading the custom module.
Define a new model in odoo 17 and implement a many-to-one relation to estate property type, adding the field, updating xml, and upgrading the module to enable linked data.
Practice building a one to many relation by creating estate property offers, adding the new model, patching fields, and upgrading the custom module to view multiple offers per property.
Learn how to use Odoo scaffold to generate a custom module by specifying the module name and destination, producing a ready-to-use folder with templates, CSV, and manifest.
Customize existing Odoo 17 views by inheriting models, adding fields, and overriding forms and tree views, using debug mode to inspect view metadata and ensure safe upgrades.
After creating pdf output (qweb report) we can access the pdf file directly to the url with this format
<odoo_url>/report/pdf/report/<report_name>/<id_record>
Modify an existing pdf in Odoo 17 by inheriting a qweb template via its external id. Place content using path and position, upgrade the module, and verify the updated pdf.
Enable developer mode in settings to manage multi-company access, user roles, and read, write, create, delete permissions in Odoo.
Import and map groups and access rights from CSV templates to configure create, read, update, and delete permissions in Odoo 17, then test with a user and upgrade the module.
Learn how to expose http endpoints in Odoo 17 using http route decorators, create public and user-authenticated API endpoints, and test with get and post methods.
Build a RESTful API in Odoo 17 with a custom module from Odoo apps, configure endpoints via GUI, access Swagger documentation, and secure them with API keys.
Learn how to consume external APIs in Odoo using Python, build endpoints that fetch data, and return Json responses with proper debugging and error handling.
Activate developer mode and create demo data for models in a new Odoo 17 database. Load the data using an XML or CSV file and declare it in the manifest.
Publish your custom module to the Odoo apps marketplace by linking a repository, choosing a version (17.x), and configuring paid or free access.
Learn why beginners should start with a single Odoo 17 database, test the health check endpoint, and configure a default database before tackling multi-database setups and API authentication.
Explore how to implement per-user authentication tokens in Odoo 17 by extending the rest users model, adding a token field, and generating tokens with uuid for API authentication.
Create an authentication decorator for Odoo 17 that reads the token from request headers, verifies the user, injects the user into endpoint calls, and returns 401 on invalid tokens.
Build a crud api with token authentication in Odoo 17 by creating a get endpoint for estate property tax that returns a json list of items.
Create a get by id endpoint for property tags in Odoo 17, returning Json data and handling not found or server errors with proper http status codes.
Create a post endpoint to add a tag with name and color, using token authentication and CSRF disabled, with input validation and a json response including id, name, and color.
Create a put endpoint to update a tag by id, receive name and color in the request, use try-catch error handling, and return the updated data with authentication.
Implement a delete endpoint in a crud api with token authentication, using unlink to remove records and return a json response.
Learn to implement unit testing for the estate property tag model in Odoo 17, including setup, test scaffolding, and basic CRUD checks via a testing script.
Practice Odoo 17 model testing for create data by running tests, fixing import errors, renaming files, and validating create, read, update, and delete operations.
Demonstrates performing create and read operations on a tech model, using state properties to store data and asserting read fields like name and color to validate CRUD functionality.
Create and update a tag in a CRUD test, change its color, and assert the updated value, while debugging a syntax error in the test case.
Explore adding a color validation in an Odoo 17 model with API constraints, and test an invalid value error: color index must be less than 100.
Test data deletion by creating and unlinking a tag, then verify it no longer exists via a search for name equal to ten. The test checks read and update validations.
Set up api testing for an Odoo endpoint, using http cache and authentication token, then send a get request with headers to validate response status and data.
Develop a test for the api endpoint get tag by id, verify http status, validate json response, and use header helpers with self.assertequal in python requests.
Test endpoint post data by crafting a post request with a json payload (name and color) and validating a 201 created response.
Practice API testing for Odoo 17 by updating endpoint data with PUT requests, validating status codes and response fields, handling test data cleanup and randomness to ensure reliable tests.
Test unauthorized access in API testing by omitting authorization headers in Postman requests, validating unauthorized responses via status codes and response text. Reinforce skills with script-based tests and observe logs.
In this course, you will learn the technical and implementation of ERP using Odoo version 17 (the latest version of Odoo, released at the end of 2023).
Welcome to a deep exploration of the technical aspects of Odoo ERP version 17. This course is a guide that will walk you through the technical practices needed to understand, manage, and optimize Odoo ERP in the context of software development.
Odoo is a powerful and comprehensive platform, and in this course, we will dig into the technical aspects, provide insights into development, and provide the tools and knowledge you need to leverage Odoo ERP for your projects.
Odoo is an open-source Enterprise Resource Planning (ERP) platform designed to help businesses manage their various operational aspects efficiently. With Odoo, businesses can integrate various business processes, automate routine tasks, and optimize their resources.
This course is specifically designed for technical professionals, software developers, and students (but not limited to ANYONE WHO WANTS TO LEARN) who want to understand the technical aspects of Odoo.
From the introduction to practical implementation examples, you will be guided through each technical step, giving you a strong understanding of how to leverage Odoo ERP to the fullest.
Thank you for choosing this course as your guide in exploring the technical side of Odoo ERP. Happy learning, and I hope this course helps you master this platform to achieve your goals.
Important Note: Every codes we will practice in this course can you get on Resources section, find the source code link for every video that contains code
Thank You. <3