A dashboard in Odoo is a user interface feature that provides a visual overview of key performance indicators (KPIs), metrics, and important data points relevant to a business. Dashboards are designed to present this information in an easy-to-read format, often using charts, graphs, and tables, to help users quickly assess the state of their business and make informed decisions.
How to Create a Custom Screen in Odoo 17 POSCeline George
油
In Odoo ERPs Point Of Sale module, we can handle sale transactions efficiently with very user friendly UI. In Odoo POS, businesses can configure custom screens to capture specific data points needed for advanced reporting and analytics, providing better insights into sales and operations.
How to perform product search based on a custom field from the PoS screen of ...Celine George
油
Odoo 17 offers a robust solution for retail businesses, restaurants, and other point-of-sale environments. Its features like User-Friendly Interface, Multi-Device Compatibility, Inventory Management, Payment Options, Customer Management makes the user so smooth to indulge with.
We know that, Odoo PoS screen opens up with all the retail sellable products on the screen just after creating the session once we are ready for the sale.
How to Create a Dynamic Snippet in Odoo 17Celine George
油
Dynamic snippets in Odoo 17 are modular components that allow for the dynamic display of content on web pages. These snippets can be tailored to showcase various types of information, such as product listings, testimonials, or promotional banners.
Client Actions In Odoo 17 - Odoo 17 際際滷sCeline George
油
In Odoo, a client action refers to a set of actions or operations that are executed on the client side of the application. Odoo is an open-source ERP (Enterprise Resource Planning) and business management software, and it uses a client-server architecture. The client-side actions in Odoo are typically defined using JavaScript and XML.
URLs and Routing in the Odoo 17 Website AppCeline George
油
In Odoo, Controllers are used to configure front-end modules under Website. Using controllers, we can specify the URL to the link the web pages.
For that, we need to setup the controller in our module and create an xml template to load the data in the web page.
How to Add Barcode on PDF Report in Odoo 17Celine George
油
Odoo Barcode allows users to assign barcodes to individual products and product categories, and track inventory movements using those barcodes. Not only for products, but for many other cases also, Odoo default allows to use barcode and plays an inevitable role in business environment.
By connecting a barcode scanner, certain inventory processes can be triggered by scanning barcodes.
In this slide, we can just go through the the steps of creating a barcode and print it as PDF.
Report Actions In Odoo 17 - Odoo 17 際際滷sCeline George
油
In Odoo 17, report actions allow us to define and manage various reports within the system. These reports can be generated in different formats such as PDF, Excel, and HTML, and can be triggered from different parts of the application.
How To Extend Odoo Form View using js_class_Celine George
油
In Odoo, js_class is used in form views to link JavaScript classes to XML views. This allows developers to extend and customize the behavior of Odoo form views by leveraging the power of JavaScript. First we need to register a class in javascript for a particular view. When we add the same class for a form view, it injects the customized view into the form.
How to Create a Dynamic Report in Odoo 17Celine George
油
Dynamic reports in Odoo 17 are flexible and interactive documents that provide a comprehensive overview of various aspects of a business's operations. Unlike static reports, which offer fixed views of data, dynamic reports can be customized in real time to showcase specific metrics, filter criteria, and visualizations.
URLS and routing in odoo 18 - Odoo 際際滷sCeline George
油
In Odoo 18, URLs and routing are key components of its web framework, used to handle HTTP requests. Understanding them is essential for customizing Odoos behavior, creating new pages, and integrating with external systems.
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling Sencha
油
To connect real model data to a view model, mess around with it, validate it, and then save it back to the server is crucial for any modern application. I will help you understand how some of the key features of the Sencha Ext JS classes work together to handle many of the real world challenges. We will take a closer look at the classes and configs that help us consume and handle the more advanced data structures. I will explain how they are connected and how you can tweak them to your needs. The focus will be on view models, data models, data sessions, proxies, stores, and associations, and how they all come together in a real world application.
How to modify_create components control buttons in Pos odoo.pptxCeline George
油
The Odoo Javascript framework uses a custom component framework called Owl. Odoo 17 uses relies on the Odoo Web Library (OWL) for web development. It employs OWL concepts and principles in its POS system, with JavaScript code.
How to add Many2Many fields in odoo website form.pptxCeline George
油
This feature dynamically links various pieces of data, creating complex relationships between records. Users can enjoy a more personalized and engaging experience on your website. For instance, when a user interacts with one record, related records are automatically shown.
How to Create a Custom Web Form View in Odoo 17Celine George
油
Creating a custom web form view in Odoo 17 involves several key steps: defining the model, creating the view, setting up actions and menus, and defining the template and controller. Heres a structured overview to guide you through the process:
How to Add a Custom Button in Pos Odoo 17Celine George
油
The Odoo Javascript framework uses a custom component framework called Owl.
Odoo 17 uses relies on the Odoo Web Library (OWL) for web development. It employs OWL concepts and principles in its POS system, with JavaScript code.
Ctools is a suite of tools and APIs that make development easier in Drupal. It includes tools like Exportables for defining reusable configuration presets, the Ajax Responder for handling AJAX requests simply, the Form Wizard for building multi-step forms, the Modal Dialog for creating popup forms, and others. The tools aim to simplify common tasks and provide standardized approaches.
It's an E-Commerce web application build on Django (python) with further advancement. It utilizes Django features and plugins for security against various web attacks. It uses Stripe Integration for payment portal.
[This project was undertaken at TCS as part of industrial exposure curriculum during my B.Tech. Our team won best project award.]
Customization of Odoo 17 Periodic Digest parameters from backendCeline George
油
Periodic Digest Email in Odoo is a special inbuilt feature in Odoo that sends automated emails to the Organization's personnel about the company's performance. Using this feature, details regarding any modules working in Odoo can be sent as snapshot emails on a daily basis.
How to add menu in Odoo 17 Website - Odoo 17 際際滷sCeline George
油
Creating a menu in Odoo from website front end is not a big deal. From the backend, website development involves using Odoo's website builder tools and some customization.
How to Store Data on the Odoo 17 WebsiteCeline George
油
Here we are going to discuss how to store data in Odoo 17 Website.
It includes defining a model with few fields in it. Add demo data into the model using data directory. Also using a controller, pass the values into the template while rendering it and display the values in the website.
Angular is an open-source JavaScript framework for building mobile and desktop web applications. It uses TypeScript for development and focuses on building single page applications. The key aspects of Angular include components, modules, templates and data binding.
To set up an Angular application, developers must install Node.js, Angular CLI and configure the development environment. The Angular CLI is used to generate components, run tests and deploy applications. Components and modules are fundamental building blocks - components define views and logic, while modules organize an application's components. Data binding in templates connects application data and DOM elements.
How to make a component and add it to systray in OdooCeline George
油
The system tray icon in Odoo serves as a quick-access feature, allowing users to easily interact with certain functionalities of the Odoo system without navigating through the main interface.
How to Customize POS Receipts in the Odoo 17Celine George
油
Shops and restaurants can run easily with the point of sale module. POS receipts give the order information to customers. By customizing the receipts we can provide order relevant information and increase our brand values.
How to Add Pagination in Website portal in OdooCeline George
油
In the context of an Odoo website portal, pagination refers to the process of dividing a large set of records into smaller, more manageable pages and providing navigation controls to move between these pages. This is essential for enhancing the user experience by preventing long loading times and making data presentation more manageable.
A talk i had about the solid principles at AngularJS-IL meetup #15. AngularJS is a great framework, it give you the tools you need to build robust single page web applications. Nut a good design and architecture are framework agnostic. By applying some well known object oriented principles to our angular application we can achieve more clean and modular code base.
The document provides step-by-step instructions for customizing the check printing report in Oracle R12. It discusses developing customized templates, modifying code to include additional data, and setting up payment profiles and formats to display data using the customized templates. Key steps include: 1) Developing customized templates; 2) Adding code to retrieve additional data; 3) Creating template definitions, payment formats, documents, and profiles linked to the customized templates. This allows payments to be generated using the customized templates and layouts while retaining the option to use the standard templates.
Simplify Feature Engineering in Your Data WarehouseFeatureByte
油
Feature Engineering is critical to successful delivery of AI solutions. Crafting relevant features from organization data requires business domain knowledge and creativity, powered by human capital in data science teams.
With growing adoption of machine learning and AI in organizations, there is a pressing need to develop processes around ML development and deployment to maximize productivity with limited resources. While there is no lack of tools for ML model management, solutions for feature engineering remains inadequate.
In this presentation, we outline our approach and design to make feature engineering efficient, repeatable and enjoyable for data science practitioners so they can experiment and iterate fast, without overlooking important issues such as scalability, deployment and auditability.
Analysis of Conf File Parameters in Odoo 17Celine George
油
In this slide, we will analyse the configuration file parameters in Odoo 17. The odoo.conf file plays a pivotal role in configuring and managing the Odoo 17 server. It contains essential parameters that control database connections, server behaviour, logging, and performance settings.
How to Create a Dynamic Report in Odoo 17Celine George
油
Dynamic reports in Odoo 17 are flexible and interactive documents that provide a comprehensive overview of various aspects of a business's operations. Unlike static reports, which offer fixed views of data, dynamic reports can be customized in real time to showcase specific metrics, filter criteria, and visualizations.
URLS and routing in odoo 18 - Odoo 際際滷sCeline George
油
In Odoo 18, URLs and routing are key components of its web framework, used to handle HTTP requests. Understanding them is essential for customizing Odoos behavior, creating new pages, and integrating with external systems.
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling Sencha
油
To connect real model data to a view model, mess around with it, validate it, and then save it back to the server is crucial for any modern application. I will help you understand how some of the key features of the Sencha Ext JS classes work together to handle many of the real world challenges. We will take a closer look at the classes and configs that help us consume and handle the more advanced data structures. I will explain how they are connected and how you can tweak them to your needs. The focus will be on view models, data models, data sessions, proxies, stores, and associations, and how they all come together in a real world application.
How to modify_create components control buttons in Pos odoo.pptxCeline George
油
The Odoo Javascript framework uses a custom component framework called Owl. Odoo 17 uses relies on the Odoo Web Library (OWL) for web development. It employs OWL concepts and principles in its POS system, with JavaScript code.
How to add Many2Many fields in odoo website form.pptxCeline George
油
This feature dynamically links various pieces of data, creating complex relationships between records. Users can enjoy a more personalized and engaging experience on your website. For instance, when a user interacts with one record, related records are automatically shown.
How to Create a Custom Web Form View in Odoo 17Celine George
油
Creating a custom web form view in Odoo 17 involves several key steps: defining the model, creating the view, setting up actions and menus, and defining the template and controller. Heres a structured overview to guide you through the process:
How to Add a Custom Button in Pos Odoo 17Celine George
油
The Odoo Javascript framework uses a custom component framework called Owl.
Odoo 17 uses relies on the Odoo Web Library (OWL) for web development. It employs OWL concepts and principles in its POS system, with JavaScript code.
Ctools is a suite of tools and APIs that make development easier in Drupal. It includes tools like Exportables for defining reusable configuration presets, the Ajax Responder for handling AJAX requests simply, the Form Wizard for building multi-step forms, the Modal Dialog for creating popup forms, and others. The tools aim to simplify common tasks and provide standardized approaches.
It's an E-Commerce web application build on Django (python) with further advancement. It utilizes Django features and plugins for security against various web attacks. It uses Stripe Integration for payment portal.
[This project was undertaken at TCS as part of industrial exposure curriculum during my B.Tech. Our team won best project award.]
Customization of Odoo 17 Periodic Digest parameters from backendCeline George
油
Periodic Digest Email in Odoo is a special inbuilt feature in Odoo that sends automated emails to the Organization's personnel about the company's performance. Using this feature, details regarding any modules working in Odoo can be sent as snapshot emails on a daily basis.
How to add menu in Odoo 17 Website - Odoo 17 際際滷sCeline George
油
Creating a menu in Odoo from website front end is not a big deal. From the backend, website development involves using Odoo's website builder tools and some customization.
How to Store Data on the Odoo 17 WebsiteCeline George
油
Here we are going to discuss how to store data in Odoo 17 Website.
It includes defining a model with few fields in it. Add demo data into the model using data directory. Also using a controller, pass the values into the template while rendering it and display the values in the website.
Angular is an open-source JavaScript framework for building mobile and desktop web applications. It uses TypeScript for development and focuses on building single page applications. The key aspects of Angular include components, modules, templates and data binding.
To set up an Angular application, developers must install Node.js, Angular CLI and configure the development environment. The Angular CLI is used to generate components, run tests and deploy applications. Components and modules are fundamental building blocks - components define views and logic, while modules organize an application's components. Data binding in templates connects application data and DOM elements.
How to make a component and add it to systray in OdooCeline George
油
The system tray icon in Odoo serves as a quick-access feature, allowing users to easily interact with certain functionalities of the Odoo system without navigating through the main interface.
How to Customize POS Receipts in the Odoo 17Celine George
油
Shops and restaurants can run easily with the point of sale module. POS receipts give the order information to customers. By customizing the receipts we can provide order relevant information and increase our brand values.
How to Add Pagination in Website portal in OdooCeline George
油
In the context of an Odoo website portal, pagination refers to the process of dividing a large set of records into smaller, more manageable pages and providing navigation controls to move between these pages. This is essential for enhancing the user experience by preventing long loading times and making data presentation more manageable.
A talk i had about the solid principles at AngularJS-IL meetup #15. AngularJS is a great framework, it give you the tools you need to build robust single page web applications. Nut a good design and architecture are framework agnostic. By applying some well known object oriented principles to our angular application we can achieve more clean and modular code base.
The document provides step-by-step instructions for customizing the check printing report in Oracle R12. It discusses developing customized templates, modifying code to include additional data, and setting up payment profiles and formats to display data using the customized templates. Key steps include: 1) Developing customized templates; 2) Adding code to retrieve additional data; 3) Creating template definitions, payment formats, documents, and profiles linked to the customized templates. This allows payments to be generated using the customized templates and layouts while retaining the option to use the standard templates.
Simplify Feature Engineering in Your Data WarehouseFeatureByte
油
Feature Engineering is critical to successful delivery of AI solutions. Crafting relevant features from organization data requires business domain knowledge and creativity, powered by human capital in data science teams.
With growing adoption of machine learning and AI in organizations, there is a pressing need to develop processes around ML development and deployment to maximize productivity with limited resources. While there is no lack of tools for ML model management, solutions for feature engineering remains inadequate.
In this presentation, we outline our approach and design to make feature engineering efficient, repeatable and enjoyable for data science practitioners so they can experiment and iterate fast, without overlooking important issues such as scalability, deployment and auditability.
Analysis of Conf File Parameters in Odoo 17Celine George
油
In this slide, we will analyse the configuration file parameters in Odoo 17. The odoo.conf file plays a pivotal role in configuring and managing the Odoo 17 server. It contains essential parameters that control database connections, server behaviour, logging, and performance settings.
Managing Online Signature and Payment with Odoo 17Celine George
油
Odoo Digital Signature is a feature that allows users to sign documents electronically within the Odoo platform. This functionality streamlines workflows by enabling the creation, distribution, and signing of documents digitally, reducing the need for physical paperwork and speeding up processes.
Recruitment in the Odoo 17 - Odoo 17 際際滷sCeline George
油
It is a sad fact that finding qualified candidates for open positions has grown to be a challenging endeavor for an organization's human resource management. In Odoo, we can manage this easily by using the recruitment module
How to Setup Company Data in Odoo 17 Accounting AppCeline George
油
The Accounting module in Odoo 17 is a comprehensive tool designed to manage all financial aspects of a business. It provides a range of features that help with everything from day-to-day bookkeeping to advanced financial analysis.
How to Install Odoo 18 with Pycharm - Odoo 18 際際滷sCeline George
油
In this slide well discuss the installation of odoo 18 with pycharm. Odoo 18 is a powerful business management software known for its enhanced features and ability to streamline operations. Built with Python 3.10+ for the backend and PostgreSQL as its database, it provides a reliable and efficient system.
How to Manage Purchase Order Approval in Odoo 18Celine George
油
In Odoo 18, you can set a minimum amount as a limit, and whenever an order comes above the limit, it requires the approval of the manager. In this slide, we are diving into the crucial aspect of procurement, which is managing purchase order approval.
How to Configure Outgoing and Incoming mail servers in Odoo 18Celine George
油
Odoo 18 features a powerful email management system designed to streamline business communications directly within the platform. By setting up Outgoing Mail Servers, users can effortlessly send emails. Similarly, configuring Incoming Mail Servers enables Odoo to process incoming emails and generate records such as leads or helpdesk tickets.
How to Grant Discounts in Sale Order Lines in Odoo 18 SalesCeline George
油
Odoo offers several ways to apply the discounts on sales orders, providing flexibility for various scenarios. The discounts applied on the sales order lines are global discounts, fixed discounts, and discounts on all order lines. In this slide, we will learn how to grant discounts on the sale order line in Odoo 18.
Comparing RFQ Lines for the best price in Odoo 17Celine George
油
The Purchase module in Odoo 17 is a powerful tool designed to streamline the procurement process for businesses. It offers a wide range of features that help manage supplier relationships, track purchase orders, and ensure that procurement activities align with the company's needs.
List View Attributes in Odoo 18 - Odoo 際際滷sCeline George
油
In this slide, we will explore some of the most useful list view attributes in Odoo 18, explaining their functionalities and demonstrating how they can improve the user experience.
How to Set Default Terms and Conditions in Odoo 17 AccountingCeline George
油
In Odoo 17, we can set default terms and conditions from the Accounting module. They ensure that all our sales orders, invoices, purchase orders, and other documents are consistent in terms of legal and business terms, reducing the risk of errors or discrepancies.
Enhance Your Quotations by Sections, Notes, and Subtotals in Odoo SalesCeline George
油
A sales quotation in Odoo is a formal offer provided to a potential customer detailing the products or services, prices, terms, and conditions of a sale. In Odoo 17 sales, we can create reusable quotations to kickstart a business lead.
What are the Views in Odoo 18 Purchase - Odoo 際際滷sCeline George
油
Explore the different views in Odoo 18 Purchase. Enhance your purchasing experience with user-friendly interfaces designed to streamline your procurement tasks.
Configuration of Python and SQL Constraints in Odoo 18Celine George
油
In this slide well discuss the configuration of python and SQL constraints in Odoo 18. Constraints are essential for enforcing business rules and data integrity directly at the database and application levels.
How to Add Custom Fields to Configuration Settings in Odoo 18Celine George
油
In Odoo, adding custom fields to Configuration Settings actually means adding fields to the res.config.settings model. This model is designed for system configuration, allowing users to define global settings for various modules, such as the Sale, Purchase.
How to Manage Abandoned Cart in Odoo 17 WebsiteCeline George
油
We are familiar with the website and Ecommerce in Odoo. There, the customers can select the needed products from the Shop and put them in the cart and proceed to purchase it. Here, the concept of Abandoned Cart is the situation when the customer may put some of the products in the virtual cart, but they will fail to process with the checkout or they may cancel the checkout process.
How to Add opening Balance in Odoo AccountingCeline George
油
To set up an opening balance in Odoo Accounting, needs to establish initial balances for your accounts. This ensures accurate reflection of financial position at the beginning of a fiscal year or when migrating from another system to Odoo.
How to Manage Your Company Budget Using Odoo 17 AccountingCeline George
油
Effective budget management is vital for a company's success. Odoo 17 streamlines financial management with tools for transactions, invoicing, and budgeting. Set up budgets for departments, projects, or cost centers, define goals, allocate resources, and set spending limits.
How to Simplify Reconciliation Process using Reconciliation Models using odoo...Celine George
油
In a firm, daily transactions are invoiced, but the accounting department may not enter all details immediately. Weekly, account statements are reviewed for reconciliation, ensuring accuracy and transparency by comparing cash transactions with bank records.
Pass SAP C_C4H47_2503 in 2025 | Latest Exam Questions & Study MaterialJenny408767
油
Pass SAP C_C4H47_2503 with expert-designed practice tests & real questions. Start preparing today with ERPPrep.com and boost your SAP Sales Cloud career!
Viceroys of India & Their Tenure Key Events During British RuleDeeptiKumari61
油
The British Raj in India (1857-1947) saw significant events under various Viceroys, shaping the political, economic, and social landscape.
**Early Period (1856-1888):**
Lord Canning (1856-1862) handled the Revolt of 1857, leading to the British Crown taking direct control. Universities were established, and the Indian Councils Act (1861) was passed. Lord Lawrence (1864-1869) led the Bhutan War and established High Courts. Lord Lytton (1876-1880) enforced repressive laws like the Vernacular Press Act (1878) and Arms Act (1878) while waging the Second Afghan War.
**Reforms & Political Awakening (1880-1905):**
Lord Ripon (1880-1884) introduced the Factory Act (1881), Local Self-Government Resolution (1882), and repealed the Vernacular Press Act. Lord Dufferin (1884-1888) oversaw the formation of the Indian National Congress (1885). Lord Lansdowne (1888-1894) passed the Factory Act (1891) and Indian Councils Act (1892). Lord Curzon (1899-1905) introduced educational reforms but faced backlash for the Partition of Bengal (1905).
**Rise of Nationalism (1905-1931):**
Lord Minto II (1905-1910) saw the rise of the Swadeshi Movement and the Muslim League's formation (1906). Lord Hardinge II (1910-1916) annulled Bengals Partition (1911) and shifted Indias capital to Delhi. Lord Chelmsford (1916-1921) faced the Lucknow Pact (1916), Jallianwala Bagh Massacre (1919), and Non-Cooperation Movement. Lord Reading (1921-1926) dealt with the Chauri Chaura Incident (1922) and the formation of the Swaraj Party. Lord Irwin (1926-1931) saw the Simon Commission protests, the Dandi March, and the Gandhi-Irwin Pact (1931).
**Towards Independence (1931-1947):**
Lord Willingdon (1931-1936) introduced the Government of India Act (1935), laying India's federal framework. Lord Linlithgow (1936-1944) faced WWII-related crises, including the Quit India Movement (1942). Lord Wavell (1944-1947) proposed the Cabinet Mission Plan (1946) and negotiated British withdrawal. Lord Mountbatten (1947-1948) oversaw India's Partition and Independence on August 15, 1947.
**Final Transition:**
C. Rajagopalachari (1948-1950), Indias last Governor-General, facilitated Indias transition into a republic before the position was abolished in 1950.
The British Viceroys played a crucial role in Indias colonial history, introducing both repressive and progressive policies that fueled nationalist movements, ultimately leading to independence.https://www.youtube.com/@DKDEducation
Celine Caira presents at Women girls and AI Paving the way to a balanced digi...EduSkills OECD
油
Celine Caira, Economist & Policy Analyst, AI Unit of the OECD Division of Science, Technology and Innovation (STI), OECD presents at the OECD Webinar 'Women, girls and AI: Paving the way to a balanced digital future' on 28 March 2025. PPT by Lucia Russo, B辿n辿dicte Rispal and
Celine Caira OECD
Different perspectives on dugout canoe heritage of Soomaa.pdfAivar Ruukel
油
Sharing the story of haabjas to 1st-year students of the University of Tartu MA programme "Folkloristics and Applied Heritage Studies" and 1st-year students of the Erasmus Mundus Joint Master programme "Education in Museums & Heritage".
Stages of combustion, Ignition lag, Flame propagation, Factors affecting flame
speed, Abnormal combustion, Influence of engine design and operating
variables on detonation, Fuel rating, Octane number, Fuel additives, HUCR,
Requirements of combustion chambers of S.I. Engines and its types.
Team Science in the AI Era: Talk for the Association of Cancer Center Administrators (ACCA) Team Science Network (April 2, 2025, 3pm ET)
Host: Jill Slack-Davis (https://www.linkedin.com/in/jill-slack-davis-56024514/)
20250402 Team Science in the AI Era
These slides: TBD
Jim Twin V1 (English video - Heygen) - https://youtu.be/T4S0uZp1SHw
Jim Twin V1 (French video - Heygen) - https://youtu.be/02hCGRJnCoc
Jim Twin (Chat) Tmpt.me Platform https://tmpt.app/@jimtwin
Jim Twin (English video OpenSource) https://youtu.be/mwnZjTNegXE
Jim Blog Post - https://service-science.info/archives/6612
Jim EIT Article (Real Jim) - https://www.eitdigital.eu/newsroom/grow-digital-insights/personal-ai-digital-twins-the-future-of-human-interaction/
Jim EIT Talk (Real Jim) - https://youtu.be/_1X6bRfOqc4
Reid Hoffman (English video) - https://youtu.be/rgD2gmwCS10
Recognize features of systematic reviews and meta-analyses as a research design
Identify the elements of a well-defined review question
Understand and develop search strategies and able to turn research questions into search strategy
Perform a comprehensive search for relevant studies
Manage the results of systematic searches
Extract data and assess risk of bias of included studies
Understand and carry out quantitative analysis of extracted data
Apply the methodology and conduct reviews independently
How to Create & Manage a Dashboard Using OWL in Odoo 17
1. How to Create & Manage
a Dashboard Using OWL
in Odoo 17
Enterprise
2. Introduction
Enterprise
A dashboard in Odoo is a user interface feature that provides a visual
overview of key performance indicators (KPIs), metrics, and important data
points relevant to a business. Dashboards are designed to present this
information in an easy-to-read format, often using charts, graphs, and
tables, to help users quickly assess the state of their business and make
informed decisions.
For the comprehensive data from the modules of Odoo, the use of
dashboard is really important to show only the brief and precise data as
reports in a single click
3. Enterprise
Dashboards are created and managed in Odoo 17 using Client actions
which involves a combination of XML and JavaScript to define custom
behavior and visualizations. Heres a step-by-step guide to creating a
custom dashboard using client actions:
Define the Client Action in xml
Create a Menu Item to access your custom dashboard
Implement the client action using JavaScript which defines how
the dashboard is loaded and displayed
Create the dashboard view in XML which will define the layout and
elements of the dashboard.
4. Enterprise
We can create a custom module named dashboard_custom to show
the count of purchase orders in different states. The xml code to create
the client action and the new menu is as
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!--Client action for dashboard-->
<record id="action_dashboard_purchase" model="ir.actions.client">
<field name="name">Purchase</field>
<field name="tag">purchase_dashboard</field>
</record>
<menuitem id="menu_purchase_dashboard" name="Dashboard"
action="action_dashboard_purchase"
sequence="-1"/>
</odoo>
The client action is defined with the tag attribute as purchase_dashboard. It is
with this tag we need to define the javascript and add it in the registry.
The menu is created without any parent, so it will be shown with the Odoos
default icon and will be named as Dashboard
6. Enterprise
Now create a template in the path static/src/dashboard/purchase_dashboard.xml.
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<div t-name="purchase_dashboard.PurchaseDashboard" owl="1" class="">
<PurchaseCard
purchase_order_count="purchase_order_count.all_purchase_order"
rfq="purchase_order_count.rfq"
rfq_sent="purchase_order_count.rfq_sent"
to_approve="purchase_order_count.to_approve"
purchase="purchase_order_count.purchase"
done="purchase_order_count.done"
cancel="purchase_order_count.cancel"/>
</div>
</templates>
7. Enterprise
For the model purchase. order define the function get_purchase_order_count() to fetch
the data from the backend.
The Python code will be
from odoo import api, models
class PurchaseOrder(models.Model):
_inherit = 'purchase.order'
@api.model
def get_purchase_order_count(self):
purchase_order_count = {
'all_purchase_order': len(self.env['purchase.order'].search([])),
'rfq': len(self.env['purchase.order'].search([("state", "=", "draft")])),
'rfq_sent': len(self.env['purchase.order'].search([("state", "=", "sent")])),
'to_approve': len(self.env['purchase.order'].search(
[("state", "=", "to approve")])),
'purchase': len(self.env['purchase.order'].search(
[("state", "=", "purchase")])),
'done': len(self.env['purchase.order'].search([("state", "=", "done")])),
'cancel': len(self.env['purchase.order'].search([("state", "=", "cancel")])),
}
return purchase_order_count
8. Enterprise
Here, for the dictionary purchase_order_count the keys like
all_purchase_order, rfq, rfq_sent, to_approve, etc is assigned with
the count of the records in purchase order which are in the
corresponding states.
Then, once these method is called from the js file using orm.call(),
the dictionary will be returned and passed to the template that is
called from js. Well see the codes for this in the coming slides
10. Enterprise
Here, the first import of PurchaseCard is done from the file
purchase_card in the same directory of the module.
Then after importing other hooks and registry, we define the class
PurchaseDashboard and define the method loadDashboardData().
Inside this method, we use the orm.call() to call the remote method of
the model from the backend. Here, from the model purchase.order,
we call the custom method get_purchase_order_count(). The value
returned from that method is passed as context
Then, this class is saved in the registry with the earlier xml defined tag
name purchase_dashboard. And its components is set as
PurchaseCard which we are going to discuss.
11. Enterprise
Under the same directory dashboard of the module, lets create the file
purchase_card.js
/* @odoo-module */
import {registry} from '@web/core/registry';
const { Component } = owl;
export class PurchaseCard extends Component {}
PurchaseCard.template = 'purchase_dashboard.PurchaseCard';
PurchaseCard.props = ['purchase_order_count', 'rfq',
'rfq_sent','to_approve','purchase','done','cancel'];
Here, we define the class PurchaseCard from Component of owl and set the
dashboard tags template as a new template named PurchaseCard that we
are going to design.
The classs props are assigned with the needed parameters passed from the
PurchaseDashboard template.
12. Enterprise
Lets design the PurchaseCard template by starting with a nice heading
and description as we need. Here, weve started like
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<div t-name="purchase_dashboard.PurchaseCard" owl="1" style="background-
color: #990000;"
class="py-3 text-odoo text-center">
<h1>PURCHASE DASHBOARD</h1>
<div style="background-color: #ffcccc ;">
<h5>No.of Purchase Orders in different states</h5>
<table class="table table-hover">
Inside the last line of defining <table>, we need to set the headings
<thead> and content <body> for it.
13. Enterprise
<thead>
<tr> <th>STATE</th> <th>COUNT</th> </tr>
/thead>
<tbody>
<tr><td>RFQ</td> <td><t t-esc="props.rfq"/></td></tr>
<tr><td>RFQ Sent</td> <td><t t-esc="props.rfq_sent"/></td>
</tr>
<tr><td>To Approve</td> <td><t t-esc="props.to_approve"/></td>
</tr>
<tr><td>Purchase</td> <td><t t-esc="props.purchase"/></td>
</tr>
<tr><td>Done</td> <td><t t-esc="props.done"/></td>
</tr>
<tr><td>Cancel</td> <td><t t-esc="props.cancel"/></td>
</tr>
<tr><td>Total</td> <td><t t-esc="props.purchase_order_count"/></td>
</tr>
</tbody>
The headings STATE and COUNT will be set this and the corresponding
contents are displayed using <t t-esc> tag from the props.
15. For More Info.
Check our company website for related blogs
and Odoo book.
Check our YouTube channel for
functional and technical videos in Odoo.
Enterprise
www.cybrosys.com