For those who are in starting stage of Odoo development, it is a tough task for creating a new module. In this section let us look how to create a new module in the Odoo.
Odoo is considered one of the world’s easiest business management software for the efficient management of business departments.
Moreover, the open-source ERP comes integrated with several management modules such as CRM, Sales, Purchase, Human Resource, Accounting, Point of Sale, and many more for streamlining a major share of business operations. As the majority have seen and experienced, data in Odoo programs are stored as objects and these objects are represented using Odoo views. Odoo supports several views such as tree view, list view, kanban view, cohort view, pivot view, calendar view offering different styles of data representation.
This document provides an overview of software security best practices and common vulnerabilities for Odoo code. It discusses the top 10 risks including injection, broken authentication, sensitive data exposure, XML external entities, broken access control, security misconfiguration, cross-site scripting, insecure deserialization, vulnerable components, and insufficient logging. For each risk, it provides examples of vulnerable code and recommendations for more secure implementations. It emphasizes that the Odoo framework includes mechanisms to prevent many mistakes but knowledge and mindset are also key. The document concludes with recommendations for code reviews to check access control, permissions, templates, evaluations, injections, and cross-site scripting prevention.
Odoo ORM Methods | Object Relational Mapping in Odoo15
ORM(Object Relational Mapping) is a concept or technique which acts as a bridge between your programming language and your database. Object Relational Mapping helps to execute SQL queries without writing them explicitly. Once the ORM is configured in an application, the user can use the OOP concepts like classes and objects to interact with the database. ORM methods are one of its strong features which helps in executing SQL queries without writing them down explicitly. With the help of ORM methods, the user can implement the OOPS concepts to interact with the database. Odoo creates and manages tables for us inside the database. Thus reducing our work of creation of tables using the queries.
Developer and team leader focused on improving performance and usability in Odoo. Key changes included optimizing computed fields, caches, and recomputations to reduce queries and batch operations. Multi-company support was also enhanced through new context and environment attributes to control record visibility and target company.
This document provides an overview of the Django web framework. It discusses what Django is, how to install and create a Django project and app. It also covers Django's MVT architecture, model definitions, templates, views, URLs and common tags used in templates. Key topics covered include installing Django, generating a project and app, model definitions, template usage, URL mapping and parameters, the admin interface, forms, and sessions. The document serves as a tutorial for getting started with basic Django development.
Web services are a set of tools available over the internet or intranet networks which use the standardized messaging system to transfer data between applications or systems.
Web services allow interaction between different systems or applications using standard libraries such as HTML, XML, WSDL, and SOAP.
This is the slides I used when I shared my humble insight on Django to the students in University of Taipei in 2016. Please feel free to correct me if there is anything wrong.
ORM(Object Relational Mapping) is a concept or technique which acts as a bridge between your programming language and your database. The Object Relational Mapping helps to execute SQL queries without writing them explicitly. Once the ORM is configured in an application, the user can use the OOP concepts like classes and objects to interact with the database.
The document describes the structure and dependencies of a typical Django application. It shows that a Django project uses the Django framework and contains Django applications, which follow the MTV pattern of models, templates, and views. The main components are the database, templates, views, URLs, forms, serializers, and models, with views and models interacting with the database via the ORM and templates being used to render responses from views.
View Inheritance can be defined as the process of modifying an existing view. This may be adding a new field to an existing view, adding button, adding attribute to an existing field etc.
Django is a Python web framework that follows an MVT architecture. It uses ORM to interact with databases and includes templates to separate presentation from logic. Popular sites like Instagram and Mozilla use Django. A Django project is created using the startproject command and contains apps, URLs, views, models, forms, and templates. Django encourages DRY principles and reusability through its built-in features, plugins, and customizable components.
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
This slide explains the Wizards: Defining and Launching in Odoo. Wizards describe interactive sessions with the user (or dialog boxes) through dynamic forms. A wizard is simply a model that extends the class Transient Model instead of Model. Wizard records are not meant to be persistent; they are automatically deleted from the database after a certain time. This is why they are called transientWizard models do not require explicit access rights: users have all permissions on wizard records. Wizard records may refer to regular records or wizard records through many2one fields, but regular records cannot refer to wizard records through a many2one field.
The document provides an overview of the Python programming language. It discusses that Python is an interpreted, interactive, object-oriented, and high-level programming language. It can be used to develop desktop and web applications. Popular applications built using Python include Instagram, Google, Dropbox, Yahoo Maps, Spotify, and Reddit. The document also covers Python variables, data types, operators, and basic control structures like if/else statements and while loops. It provides examples of how to write, run, and execute Python code in both interactive and script modes.
This document describes how to create a custom snippet in Odoo that displays products currently in the cart. It involves:
1. Creating a snippet template to display the product cards
2. Adding a controller to fetch product data from the cart
3. Rendering the template with product data
4. Creating a public widget to fetch data and render the snippet
5. Adding options to configure the number of products displayed
This document discusses how to integrate OpenChatter messaging capabilities into custom models in Odoo. It demonstrates inheriting from mail.thread to add communication history and followers, inheriting from ir.needaction_mixin to add action counters, and inheriting from mail.alias to add email aliases. Customization is possible through defining message subtypes in XML and tracking field changes. The approach is modular using inheritance to add features simply through light model decoration and some XML configuration for subtypes and aliases.
Django forms allow the creation of HTML forms and validation of submitted data. The document discusses:
1. The Django forms API automatically renders HTML forms, validates data, and converts it to relevant data types.
2. Forms are defined in forms.py using fields like CharField and IntegerField, which have default widgets and validation logic.
3. Forms can be rendered unbound without data or bound with specific data. Validation is triggered by calling is_valid() on a bound form.
4. ModelForms map models to forms and include model field validation. They support creating and editing model instances.
As we all know Odoo is basically a web based open source platform which act as a solution for all business requirements and Odoo module is a set of business logic which helps to enhance the excessive functionality or to add some new functionality in order.
Odoo ERP is one of the best Open Source ERP until this year. Within this slide we are explain some of what we can enhance on the Odoo to get our goal on business requirements
Scaffolding is the way of building a skeleton structure for a module in Odoo. Using Odoo scaffolding we can create the module structure automatically. It saves much of our effort in creating a module manually. This slide lets us see how to use scaffolding in Odoo development.
Forms in Django allow encapsulating form data and validation logic. This document discusses advanced form techniques in Django, including:
- Dynamically generating forms based on models to handle multiple forms of different types.
- Altering form fields dynamically based on request data, such as restricting a dropdown to related objects owned by the user.
- Fully dynamic form building by defining form fields from database models, such as a survey application where questions are defined in models.
- Common techniques like subclassing form methods, type() function to dynamically generate form classes, and leveraging standard Python to extend Django's capabilities.
Here, I will explain what is fixture in django and how it is used.
Fixture is Collection of data that is in a specific format. It is use to load initial data into Django models. Fixture can be written in JSON, XML and YAML format.
How to Show Sample Data in Tree and Kanban View in Odoo 17
In Odoo 17, sample data serves as a valuable resource for users seeking to familiarize themselves with the functionalities and capabilities of the software prior to integrating their own information. In this slide we are going to discuss about how to show sample data to a tree view and a kanban view.
The document discusses Django, a Python web framework. It began as an internal project at a newspaper to help journalists meet deadlines. Django encourages rapid development, clean design and is database and platform neutral. It features an object relational mapper, automatic admin interface, elegant URLs and templates. Django uses a model-template-view architecture. It provides tools like manage.py to help with development.
Owl JS is a small JavaScript framework for building user interfaces based on XML templates. Some key points about Owl:
1. It uses XML (QWeb) templates that are compiled just-in-time for efficiency.
2. Components are defined as classes that extend a base Component class. The UI is a tree of nested components.
3. It supports modern features like hooks, slots, and stores to manage state and reactivity.
4. The document provides an example of building a to-do list app in Owl to demonstrate how to define components, handle events between them, and manage state. Key aspects covered include extracting sub-components, dependency injection via the "env"
External dependencies ,pre init hook & post init hook in odooCeline George
When we creating a module in odoo important thing is __manifest__.py( for odoo 10.0 and later versions) or __openerp__.py(for odoo 9.0 and earlier versions).
Defining Kanban View in Odoo15 | Advanced ViewsCeline George
Odoo is considered one of the world’s easiest business management software for the efficient management of business departments.
Moreover, the open-source ERP comes integrated with several management modules such as CRM, Sales, Purchase, Human Resource, Accounting, Point of Sale, and many more for streamlining a major share of business operations. As the majority have seen and experienced, data in Odoo programs are stored as objects and these objects are represented using Odoo views. Odoo supports several views such as tree view, list view, kanban view, cohort view, pivot view, calendar view offering different styles of data representation.
This document provides an overview of software security best practices and common vulnerabilities for Odoo code. It discusses the top 10 risks including injection, broken authentication, sensitive data exposure, XML external entities, broken access control, security misconfiguration, cross-site scripting, insecure deserialization, vulnerable components, and insufficient logging. For each risk, it provides examples of vulnerable code and recommendations for more secure implementations. It emphasizes that the Odoo framework includes mechanisms to prevent many mistakes but knowledge and mindset are also key. The document concludes with recommendations for code reviews to check access control, permissions, templates, evaluations, injections, and cross-site scripting prevention.
Odoo ORM Methods | Object Relational Mapping in Odoo15 Celine George
ORM(Object Relational Mapping) is a concept or technique which acts as a bridge between your programming language and your database. Object Relational Mapping helps to execute SQL queries without writing them explicitly. Once the ORM is configured in an application, the user can use the OOP concepts like classes and objects to interact with the database. ORM methods are one of its strong features which helps in executing SQL queries without writing them down explicitly. With the help of ORM methods, the user can implement the OOPS concepts to interact with the database. Odoo creates and manages tables for us inside the database. Thus reducing our work of creation of tables using the queries.
Developer and team leader focused on improving performance and usability in Odoo. Key changes included optimizing computed fields, caches, and recomputations to reduce queries and batch operations. Multi-company support was also enhanced through new context and environment attributes to control record visibility and target company.
This document provides an overview of the Django web framework. It discusses what Django is, how to install and create a Django project and app. It also covers Django's MVT architecture, model definitions, templates, views, URLs and common tags used in templates. Key topics covered include installing Django, generating a project and app, model definitions, template usage, URL mapping and parameters, the admin interface, forms, and sessions. The document serves as a tutorial for getting started with basic Django development.
Web services are a set of tools available over the internet or intranet networks which use the standardized messaging system to transfer data between applications or systems.
Web services allow interaction between different systems or applications using standard libraries such as HTML, XML, WSDL, and SOAP.
This is the slides I used when I shared my humble insight on Django to the students in University of Taipei in 2016. Please feel free to correct me if there is anything wrong.
ORM(Object Relational Mapping) is a concept or technique which acts as a bridge between your programming language and your database. The Object Relational Mapping helps to execute SQL queries without writing them explicitly. Once the ORM is configured in an application, the user can use the OOP concepts like classes and objects to interact with the database.
Django Framework and Application StructureSEONGTAEK OH
The document describes the structure and dependencies of a typical Django application. It shows that a Django project uses the Django framework and contains Django applications, which follow the MTV pattern of models, templates, and views. The main components are the database, templates, views, URLs, forms, serializers, and models, with views and models interacting with the database via the ORM and templates being used to render responses from views.
View Inheritance can be defined as the process of modifying an existing view. This may be adding a new field to an existing view, adding button, adding attribute to an existing field etc.
Web development with django - Basics PresentationShrinath Shenoy
Django is a Python web framework that follows an MVT architecture. It uses ORM to interact with databases and includes templates to separate presentation from logic. Popular sites like Instagram and Mozilla use Django. A Django project is created using the startproject command and contains apps, URLs, views, models, forms, and templates. Django encourages DRY principles and reusability through its built-in features, plugins, and customizable components.
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...Celine George
This slide explains the Wizards: Defining and Launching in Odoo. Wizards describe interactive sessions with the user (or dialog boxes) through dynamic forms. A wizard is simply a model that extends the class Transient Model instead of Model. Wizard records are not meant to be persistent; they are automatically deleted from the database after a certain time. This is why they are called transientWizard models do not require explicit access rights: users have all permissions on wizard records. Wizard records may refer to regular records or wizard records through many2one fields, but regular records cannot refer to wizard records through a many2one field.
The document provides an overview of the Python programming language. It discusses that Python is an interpreted, interactive, object-oriented, and high-level programming language. It can be used to develop desktop and web applications. Popular applications built using Python include Instagram, Google, Dropbox, Yahoo Maps, Spotify, and Reddit. The document also covers Python variables, data types, operators, and basic control structures like if/else statements and while loops. It provides examples of how to write, run, and execute Python code in both interactive and script modes.
This document describes how to create a custom snippet in Odoo that displays products currently in the cart. It involves:
1. Creating a snippet template to display the product cards
2. Adding a controller to fetch product data from the cart
3. Rendering the template with product data
4. Creating a public widget to fetch data and render the snippet
5. Adding options to configure the number of products displayed
This document discusses how to integrate OpenChatter messaging capabilities into custom models in Odoo. It demonstrates inheriting from mail.thread to add communication history and followers, inheriting from ir.needaction_mixin to add action counters, and inheriting from mail.alias to add email aliases. Customization is possible through defining message subtypes in XML and tracking field changes. The approach is modular using inheritance to add features simply through light model decoration and some XML configuration for subtypes and aliases.
Django forms allow the creation of HTML forms and validation of submitted data. The document discusses:
1. The Django forms API automatically renders HTML forms, validates data, and converts it to relevant data types.
2. Forms are defined in forms.py using fields like CharField and IntegerField, which have default widgets and validation logic.
3. Forms can be rendered unbound without data or bound with specific data. Validation is triggered by calling is_valid() on a bound form.
4. ModelForms map models to forms and include model field validation. They support creating and editing model instances.
As we all know Odoo is basically a web based open source platform which act as a solution for all business requirements and Odoo module is a set of business logic which helps to enhance the excessive functionality or to add some new functionality in order.
Odoo ERP is one of the best Open Source ERP until this year. Within this slide we are explain some of what we can enhance on the Odoo to get our goal on business requirements
How to Build a Module in Odoo 15 Scaffold MethodCeline George
Scaffolding is the way of building a skeleton structure for a module in Odoo. Using Odoo scaffolding we can create the module structure automatically. It saves much of our effort in creating a module manually. This slide lets us see how to use scaffolding in Odoo development.
Forms in Django allow encapsulating form data and validation logic. This document discusses advanced form techniques in Django, including:
- Dynamically generating forms based on models to handle multiple forms of different types.
- Altering form fields dynamically based on request data, such as restricting a dropdown to related objects owned by the user.
- Fully dynamic form building by defining form fields from database models, such as a survey application where questions are defined in models.
- Common techniques like subclassing form methods, type() function to dynamically generate form classes, and leveraging standard Python to extend Django's capabilities.
Here, I will explain what is fixture in django and how it is used.
Fixture is Collection of data that is in a specific format. It is use to load initial data into Django models. Fixture can be written in JSON, XML and YAML format.
How to Show Sample Data in Tree and Kanban View in Odoo 17Celine George
In Odoo 17, sample data serves as a valuable resource for users seeking to familiarize themselves with the functionalities and capabilities of the software prior to integrating their own information. In this slide we are going to discuss about how to show sample data to a tree view and a kanban view.
Tasks In this assignment you are required to design and imp.pdfacsmadurai
Tasks In this assignment, you are required to design and implement a system for Department,
Employee and Project (DEP) in Java. This system helps a company to manage employees and
projects. Implementation Your program shall contain at least the following classes for the DEP.
Define a class Department in a source file Department. java that contains private data members: -
dNumber: Department number. It is an integer type. - dName: Department name. It is a String
type. - manager: Department manager. It is an integer type. - budget: Department budget. It is a
double type. - startDate: Manager start date. It is a String type. Implement Java methods in the file
Department. java that include: - Parameterized constructor that assigns values to all data
members. - Public method tostring that returns the string value of all private data members. See
the examples of the processing for the details of the format of the tostring method. Define a class
Employee in a source file Employee. Java that contains private data members: - eNumber:
Employee number. It is an integer type. - eName: Employee name. It is a String type. - dob: Date
of birth. It is a String type. - address: Employee address. It is a String type. - gender: Employee
gender. It is a String type. - salary: Employee salary. It is a double type. - supervisor: Supervisor
number. It is an integer type. - dNumber: Department number. It is an integer type. Implement
Java methods in the file Employee. java that include: - Parameterized const ruct or that assigns
values to all data members. - Public method getNumber that returns the employee number. -
Public method tostring that returns the string value of all private data members. See the examples
of the processing for the details of the format of the tostring method. Define a class Project in a
source file Pro ject. java that contains private data members: - pNumber: Project number. It is a
long integer type.Tasks In this assignment, you are required to design and implement a system for
Department, Employee and Project (DEP) in Java. This system helps a company to manage
employees and projects. Implementation Your program shall contain at least the following classes
for the DEP. Define a class Department in a source file Department. java that contains private data
members: - dNumber: Department number. It is an integer type. - dName: Department name. It is
a String type. - manager: Department manager. It is an integer type. - budget: Department budget.
It is a double type. - startDate: Manager start date. It is a String type. Implement Java methods in
the file Department. java that include: - Parameterized constructor that assigns values to all data
members. - Public method tostring that returns the string value of all private data members. See
the examples of the processing for the details of the format of the tostring method. Define a class
Employee in a source file Employee. Java that contains private data members: - eNumber:
Employee number. It.
student application form Java Netbeansreshmajohney
This document describes a student application form project that was developed to allow easy entry, updating and deletion of student details from a database. The project uses Java Swing controls and stores data in a Microsoft Access database. Key aspects of the project include forms for submitting new student applications, updating existing student details, and deleting student records from the database. The document outlines the theoretical background of the technologies used, describes the database and form designs, and provides the program code to implement the student application functionality.
Data can be stored in various places such as databases, XML files, and RAM. LINQ provides a standard syntax to work with data regardless of source through language integrated queries. It allows querying databases and in-memory collections using similar syntax. The document introduces LINQ to Objects, which works with in-memory objects, and LINQ to SQL, which allows querying database tables using object-oriented code. Key LINQ concepts like queries, filtering, projections and CRUD operations on databases are covered.
This slide describes the various components of an Odoo module. it discusses controllers, data, docs, translations, reports, security, static files and folders, unit tests, views, and wizards
Implementation Your program shall contain at least the follo.pdfADITIEYEWEAR
Implementation
Your program shall contain at least the following classes for the DEP.
Define a class Department in a source file Department.java that contains private
data members:
dNumber: Department number. It is an integer type.
dName: Department name. It is a String type.
manager: Department manager. It is an integer type.
budget: Department budget. It is a double type.
startDate: Manager start date. It is a String type.
Implement Java methods in the file Department.java that include:
Parameterized constructor that assigns values to all data members.
Public method toString that returns the string value of all private data
members. See the examples of the processing for the details of the format of
the toString method.
Define a class Employee in a source file Employee.java that contains private data
members:
eNumber: Employee number. It is an integer type.
eName: Employee name. It is a String type.
dob: Date of birth. It is a String type.
address: Employee address. It is a String type.
gender: Employee gender. It is a String type.
salary: Employee salary. It is a double type.
supervisor: Supervisor number. It is an integer type.
dNumber: Department number. It is an integer type.
Implement Java methods in the file Employee.java that include:
Parameterized constructor that assigns values to all data members.
Public method getNumber that returns the employee number.
Public method toString that returns the string value of all private data
members. See the examples of the processing for the details of the format of
the toString method.
Define a class Project in a source file Project.java that contains private data
members:
pNumber: Project number. It is a long integer type.
title: Project title. It is a String type.
sponsor: Project sponsor. It is a String type.
dNumber: Department number. It is an integer type.
budget: Project budget. It is a double type.
Implement Java methods in the file Project.java that include:
Parameterized constructor that assigns values to all data members.
Public method getNumber that returns the project number.
Public method toString that returns the string value of all private data
members. See the examples of the processing for the details of the format of
the toString method.
Define a class WorksOn in a source file WorksOn.java that contains private data
members:
proj: Project object. It is a Project type.
emp: Employee object. It is an Employee type.
hours: Total working hours. It is an integer type.
Implement Java methods in the file WorksOn.java that include:
Parameterized constructor that assigns values to all data members.
Public method toString that returns the string value of all private data
members. See the examples of the processing for the details of the format of
the toString method.
Define a class DEP in a source file DEP.java that contains private data members:
depts: A container that can store departments. It is an ArrayList of
Department type.
emps: A container that can store employees. It is an Ar.
How to Send Emails From Odoo 17 Using CodeCeline George
In this slide, we'll explore how to programmatically send emails from Odoo 17. Odoo offers a robust email functionality that can be integrated into your custom modules to automate communication. By leveraging code, you can trigger emails based on specific events or user actions within your Odoo instance. This streamlines workflows and enhances user experience.
This tutorial provides an overview of creating a sample Django application that demonstrates basic components including models, views, templates, URLs, forms, and the admin site. Key steps covered include:
- Setting up a Django project in Eclipse with Python, Django, SQLite
- Creating models, views, URLs, and templates
- Using the Django admin site to populate the database
- Displaying model data in templates
- Creating and processing a basic form
This document provides tips and tricks for Odoo development. It discusses module structure, creating new tables and inheriting existing tables, creating menu items and CRUD for models, creating master-detail relationships between models, creating models from multiple models using queries, creating buttons that trigger actions, sending emails via API using email templates, and creating job schedules using automated actions.
Java classes and objects are fundamental concepts in object-oriented programming. A class defines the attributes and behaviors of a type of object, acting as a blueprint. An object is an instance of a class, having state stored in fields and behavior through methods. The document provides examples of defining a Dog class with name, breed and color attributes, along with behaviors like barking. It also demonstrates creating Puppy objects, setting fields, and calling methods. Constructors initialize new objects, and classes can contain variables, methods and constructors.
This document provides instructions for using an SQLite database in an Android application to store and manage student data. It describes creating model and helper classes to define the student data structure and perform CRUD operations on the database. These include a StudentInfo model class to store student attributes, a DBHelper class extending SQLiteOpenHelper to handle database creation and operations like insert, update, delete and fetch. Layout files are created for listing student records, and an adapter class connects the database records to list views. The tutorial then explains creating activities to display and manage the student data using these classes.
This document provides instructions for Project 3 of the CS348 course. Students will create PL/SQL functions and procedures to process data stored in Oracle database tables. The project involves setting up database tables, populating them with data, and creating 5 procedures to generate reports from the data. The procedures include generating department reports, student statistics, faculty statistics with histogram binning, and an enrollment report. Detailed descriptions and sample outputs are provided for each procedure.
Cis247 i lab 4 composition and class interfacessdjdskjd9097
The iLab involves modifying an Employee class to include composition with a new Benefits class. Students are instructed to:
1. Create a Benefits class and include it in the Employee class.
2. Create an iEmployee interface for the Employee class to implement.
3. Modify the Main method to demonstrate using the new Benefits class and creating Employee objects.
Students are to capture the output of their program, zip their project files, and submit them through the assignment Dropbox.
Odoo E-learning module can be used to create courses, configure quizzes and earn badges while attending courses. This is helpful for conducting internal training at the company for employees and helps in easy onboarding. Integrated gamification makes it a more joyful
How to Manage Line Discount in Odoo 17 POSCeline George
This slide will cover the management of line discounts in Odoo 17 POS. Using the Line discount approach, we can apply discount for individual product lines.
How to Manage Access Rights & User Types in Odoo 17Celine George
In Odoo, who have access to the database they are called users. There are different types of users in odoo and they have different accesses into the database. Access rights are permissions that can be set for the individual or group of users. This slide will show How to Manage Access Rights & User Types in Odoo 17.
How to Manage Shipping Connectors & Shipping Methods in Odoo 17Celine George
Odoo 17 ERP system enables management and storage of various delivery methods for different customers. Timely, undamaged delivery at fair shipping rates leaves a positive impression on clients.
How to Empty a One2Many Field in Odoo 17Celine George
This slide discusses how to delete or clear records in an Odoo 17 one2many field. We'll achieve this by adding a button named "Delete Records." Clicking this button will delete all associated one2many records.
New Features in Odoo 17 Sign - Odoo 17 SlidesCeline George
The Sign module available in the Odoo ERP platform is exclusively designed for sending, signing, and approving documents digitally. The intuitive interface of the module with the drag and drop fields helps us to upload our pdf easily and effectively. In this slide, let’s discuss the new features in the sign module in odoo 17.
How to Manage Early Receipt Printing in Odoo 17 POSCeline George
This slide will represent how to manage the early receipt printing option in Odoo 17 POS. Early receipts offer transparency and clarity for each customer regarding their individual order. Also printing receipts as orders are placed, we can potentially expedite the checkout process when the bill is settled.
What is Rescue Session in Odoo 17 POS - Odoo 17 SlidesCeline George
In this slide, we will discuss the rescue session feature in Odoo 17 Point of Sale (POS). Odoo POS allows us to manage our sales both online and offline. The rescue session helps us recover data in case of internet connectivity issues or accidental session closure.
How to Add a Filter in the Odoo 17 - Odoo 17 SlidesCeline George
In this slide, we will learn how to add filters in Odoo 17. Filters are a powerful tool that allows us to narrow down our search results and find the specific information we need. We will go over on how to create custom filters. By the end of this slide, we will be able to easily filter our data in Odoo 17.
How to Create & Publish a Blog in Odoo 17 WebsiteCeline George
A blog is a platform for sharing articles and information. In Odoo 17, we can effortlessly create and publish our own blogs using the blog menu. This presentation provides a comprehensive guide to creating and publishing a blog on your Odoo 17 website.
How To Update One2many Field From OnChange of Field in Odoo 17Celine George
There can be chances when we need to update a One2many field when we change the value of any other fields in the form view of a record. In Odoo, we can do this. Let’s go with an example.
How to Manage Large Scrollbar in Odoo 17 POSCeline George
Scroll bar is actually a graphical element mainly seen on computer screens. It is mainly used to optimize the touch screens and improve the visibility. In POS there is an option for large scroll bars to navigate to the list of items. This slide will show how to manage large scroll bars in Odoo 17.
How to Create a New Article in Knowledge App in Odoo 17Celine George
Odoo Knowledge is a multipurpose productivity app that allows internal users to enrich their business knowledge base and provide individually or collaboratively gathered information.
Odoo 17 Social Marketing - Lead Generation On FacebookCeline George
Lead generation on Facebook involves using the platform's features and tools to identify and attract potential customers or clients who are interested in your products or services.
What is Packaging of Products in Odoo 17Celine George
In Odoo Inventory, packaging is a simple concept of holding multiple units of a specific product in a single package. Each specific packaging must be defined on the individual product form.
How To Create a Transient Model in Odoo 17Celine George
Models are the basic building block of Odoo. Generally we use models to store the data in the database in the form of table. Transient models are particularly used for handling data that needs to be stored temporarily.
How to Create Sequence Numbers in Odoo 17Celine George
Sequence numbers are mainly used to identify or differentiate each record in a module. Sequences are customizable and can be configured in a specific pattern such as suffix, prefix or a particular numbering scheme. This slide will show how to create sequence numbers in odoo 17.
How to Handle the Separate Discount Account on Invoice in Odoo 17Celine George
In Odoo, separate discount account can be set up to accurately track and manage discounts applied on various transaction and ensure precise financial reporting and analysis
What is Blank dashboards in the odoo 17 ERPCeline George
Dashboards are useful for quickly summarising crucial information and centralizing corporate data. This is employed to chart the organization’s overall performance. For this, various visualization techniques, such as diagrams, charts, and other kinds of representation.
Views in Odoo - Advanced Views - Pivot View in Odoo 17Celine George
In Odoo, the pivot view is a graphical representation of data that allows users to analyze and summarize large datasets quickly. It's a powerful tool for generating insights from your business data.
The pivot view in Odoo is a valuable tool for analyzing and summarizing large datasets, helping you gain insights into your business operations.
Innovative Full Stack Developer Crafting Seamless Web SolutionsHarwinder Singh
As an innovative full stack developer, I specialize in creating complete web solutions from front-end design to back-end functionality. With expertise in HTML, CSS, JavaScript, and server-side technologies like Node.js and Python, I build scalable, responsive, and user-friendly applications. My focus is on delivering high-quality, efficient, and impactful digital experiences.
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...SOFTTECHHUB
Finding a balance between work, family, and personal well-being can be a daunting challenge. For Micah Johnny, a fitness instructor and father of four, this balance became even more precarious when he lost a significant contract that threatened his family's financial stability. However, through resilience and innovation, Johnny discovered a flexible, AI-powered side hustle that not only stabilized his income but also allowed him to maintain his hectic schedule. This article explores how this side hustle works, its benefits, and how others can leverage similar opportunities.
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptxAdani case
Adani Group will surpass these figures and experience a more significant increase in the price value. This will give the conglomerate’s business excellent exposure. It will also be able to recover from the struggle that the company was suffering after the Hindenburg Report Adani.
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976PYROTECH GROUP
Simple Ways to Make Your Commercial Space More Energy Efficient
In today's world, being energy efficient isn't just good for the planet—it's also good for your wallet. Whether you run a small shop or a large office building, there are plenty of simple steps you can take to reduce your energy consumption and save money on utility bills. Let's dive in!
1. Upgrade Your Lighting: One of the easiest ways to save energy is by switching to energy-efficient lighting options like LED bulbs. LEDs use significantly less energy than traditional incandescent bulbs and last much longer, so you'll save money on both energy and replacement costs in the long run.
2. Install Motion Sensors: Do you have areas in your commercial space that aren't always in use, like storage rooms or bathrooms? Consider installing motion sensors that automatically turn lights off when no one is around. This simple addition can lead to significant energy savings over time.
3. Optimize Heating and Cooling: Heating and cooling can account for a big portion of your energy bills, especially in larger commercial spaces. To save energy, make sure your HVAC system is properly maintained and consider investing in a programmable thermostat. You can also encourage employees to dress in layers to reduce the need for excessive heating or cooling.
4. Seal Leaks and Insulate: A well-insulated building is more energy efficient because it retains heat in the winter and keeps cool air in during the summer. Check for drafts around windows and doors and seal them with weather stripping or caulking. Adding insulation to walls, floors, and ceilings can also make a big difference in your energy consumption.
5. Use Energy-Efficient Equipment: When it's time to replace old appliances or equipment in your commercial space, opt for energy-efficient models. Look for the ENERGY STAR label, which indicates that the product meets strict energy efficiency guidelines set by the Environmental Protection Agency.
6. Encourage Energy-Saving Habits: Sometimes, the simplest changes can have the biggest impact. Encourage employees to turn off lights and electronics when they're not in use, unplug chargers and other devices when they're fully charged, and use natural light whenever possible.
7. Conduct an Energy Audit: If you're serious about improving energy efficiency in your commercial space, consider hiring a professional to conduct an energy audit. They'll assess your energy usage and identify areas where you can make improvements, ultimately helping you save even more money in the long run.
8. Educate and Involve Employees: Finally, don't forget to involve your employees in your energy-saving efforts. Educate them about the importance of energy efficiency and encourage them to come up with their own ideas for saving energy in the workplace. When everyone is on board, you'll see even greater results.
LED , Lights , Manufacturers in India , Efficient Lighting , Quality Products
How AI is Disrupting Service Industry More Than Design ThinkingBody of Knowledge
Artificial Intelligence (AI) and Design Thinking are two powerful tools that, when used together, can revolutionize the service industry. By combining these approaches, businesses can develop innovative solutions that enhance customer experience, increase efficiency, and drive growth. Here's how AI and Design Thinking are disrupting the service industry
Discover who your target audience is and reach themQuibble
This presentation goes through a number of elements you need to consider when going through the process of identifying your target audience in order to enable to you be able to reach them and sell to them. I go through the importance of customer profiling, along with a number of ways you can discover what they really want, and where they are.
Shocking Revelations: The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle
In an astonishing series of events, Finance JD Euroway Inc. and its CEO Fritzgerald Zephir (Fritz) find themselves embroiled in a high-stakes legal battle, accused of orchestrating a fraudulent investment scheme. The allegations, which have not yet been proven in court, detail a complex web of deceit and financial misconduct that has left investors in turmoil.
A Complex Financial Web
Finance JD Euroway Inc. (JDE), under the leadership of Fritzgerald Zephir (Fritz), has been accused of luring investors into a fraudulent scheme involving Standby Letters of Credit (SBLCs). According to the plaintiffs, JDE promised extraordinary returns on investments, convincing them to deposit substantial funds into JDE-controlled accounts under false pretenses.
Promises of High Returns
The case details how investors were enticed by Zephir's promises of high returns and secure investments. In one instance, an investor forwarded USD $1.2 million to JDE, assured by Zephir of a guaranteed 10% monthly return. Similarly, another investor was persuaded to deposit USD $10 million in escrow for what was purported to be a lucrative investment opportunity.
The Alleged Fraud
The plaintiffs assert that these investments were never intended to generate returns. Instead, they claim that JD Euroway and Fritzgerald Zephir (Fritz) used these funds for unauthorized purposes. Zephir is accused of providing fraudulent SWIFT receipts and false insurance documents to create an illusion of legitimacy. For example, the insurance for one investor's escrow funds was supposedly backed by Timber Creek Surety Inc., which later confirmed the insurance certificate was fraudulent.
Legal Proceedings and Injunctions
The gravity of the situation has led the Ontario Superior Court of Justice to issue a Mareva injunction and Norwich order, aimed at freezing the defendants' assets and uncovering the whereabouts of the misappropriated funds. Justice John Callaghan, in his endorsement, highlighted the plaintiffs' strong prima facie case of fraud and the necessity to prevent further dissipation of assets.
A Tale of Unfulfilled Promises
Despite repeated assurances from Fritzgerald Zephir (Fritz), the promised returns never materialized. Investors experienced continuous delays and excuses, with Zephir often citing issues such as pending bank confirmations and internal reviews. By May 2024, it became clear that the funds were not forthcoming, prompting the plaintiffs to take legal action.
kalyan panel chart, sattamatka chart, satta matka charts, satta matka full chart, kalyan panel chart 2024, satta matka matka chart, satta matka penal, matka panel chart, matka kalyan panel main panel chart, Matka - Satta Batta SATTA MATKA-KALYAN PANEL CHART | KALYAN MATKA | KALYAN RESULT | KALYAN CHART | KALYAN SATTA | KALYAN SATTA MATKA | KALYAN PANEL CHART | KALYAN MATKA LIVE RESULT | KALYAN LIVE | SATTA MATKA | MATKA RESULT | ALL MATKA RESULT | MAIN BAZAR MATKA | MAIN BAZAR RESULT | MAIN BAZAR CHART | RAJDHANI CHART RAJDHANI NIGHT CHART | RAJDHANI NIGHT | SATTA MATTA MATKA 143 | MATKA 420 | MATKA GUESSING | SATTA GUESSING | MATKA BOSS OTG | INDIAN MATKA | INDIAN SATTA | INDIA MATKA | INDIA SATTA | MATKA | SATTA BATTA | DP BOSS | INDIA MATKA 786 | FIX FIX FIX SATTA NAMBER | FIX FIX FIX OPEN | MATKA BOSS 440
Satta Matka, Kalyan Matka, Satta , Matka, India Matka ,Satta Matka 420, Satta Matka Guessing, India Satta,Matka Jodi Fix ,Kalyan Satta Guessing, Fix Fix Fix Satta Nambar,Kalyan Chart, Kalyan Panel Chart, Kalyan Jodi Chart,Satta Matka Chart,Satta Matka Jodi Fix, Indian Matka 420 786,Satta Matta Matka 143, Satta Matta Matka-satta matta matka 143,satta matta matka 420,satta matta matka fix open matka 420 786 matka 420 target matka Sona Matka 420 final ank time matka 420 matka boss 420 fix satta matta matka Kalyan panel chart kalyan night chart kalyan jodi chart kalyan chart
Dp Boss ,Satta Matka ,Indian Matka, Kalyan Matka,Matka 420,Satta Matta Matka 143 , Matka Guessing, India Matka, Indian Satta, Dp Boss Matka Guessing India Satta
Kalyan Panel Chart ,Kalyan Matka Panel Chart ,Kalyan Jodi Chart Kalyan Chart Kalyan Matka, Kalyan Satta Kalyan Panna , Patti Chart, Kalyan Guessing
Family/Indoor Entertainment Centers Market: Regulation and Compliance UpdatesAishwaryaDoiphode3
The global family/indoor entertainment centers market is valued at US$ 41 Bn in 2022 and is projected to exhibit growth at a CAGR of 12.2% and reach US$ 130 Bn by the end of 2032.
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...Lynch Creek Farm
Transform your home into a festive wonderland this Christmas with our guide to small Christmas trees, elegant candle centerpieces, and unique wreaths for your front door. Discover the perfect small Christmas tree for limited spaces, learn how to create stunning candle centerpieces, and find the best unique wreaths for your front door to welcome guests. Embrace sustainable decorating ideas, personalize your decor, and achieve a cohesive holiday look that spreads joy throughout your home.
Local SEO Strategies: Dominate Local Search with Effective SEO TacticsWoospers
Local SEO has grown in importance in today's digital environment for companies trying to draw clients from their target region. If you want to take your local SEO to the next level, work with Woosper to maximize the potential of your online presence.
Staffan Canback - The 18 Rays of Project ManagementTellusant, Inc.
A while back I created this training material for project managers in 𝘀𝘁𝗿𝗮𝘁𝗲𝗴𝘆 𝗰𝗼𝗻𝘀𝘂𝗹𝘁𝗶𝗻𝗴. I am now sharing it widely since it is useful to a broader audience.
A central theme is that project management is much more than putting together presentations. It covers all kinds of high-level cognitive efforts, which is why it is exciting (at first).
It is also important to note that you do not improvise your way into project management. It is a well-developed craft that is far down its experience curve.
I started my career at McKinsey & Company in 1984 and was an Engagement Manager between 1986 and 1989. I then became a partner. So my project management days are long gone, but I have interacted with and trained countless young consultants since.
The document is not a manual. If you follow it 100% you would not have time to do your project management job. But I trust there is always an idea or two that is useful on any project.
To me, the most difficult part of this document was to create the 18 rays with the grey contours. It involves some trigonometry. Getting this right was fun.
2. INTRODUCTION
• For those who are in starting stage of Odoo development, it is a tough task for creating
a new module. In this section let us look how to create a new module in the Odoo.
3. • There are mainly four files required for creating a new module (.py or .xml can be excluded as
per the need).
• The main four files are :-
__init__.py
__manifest__.py
model.py
view.xml
4. • This is based on v10, in the v9 and v8 we have to use __openerp__.py instead of the
__manifest__.py. The above four files should be inside a folder, let the folder name be school
• __init__.py
In the __init__.py file we have to import all the python files that we are going to use. Suppose as
described above we have a python file called model.py in our module. The first thing we have to
do is, import the model.py in the __init__.py file.
So our __init__.py file will be like this,
import model
5. _manifest__.py
In the __manifest__.py, We have to mention the module name, the author name, version ,
description, company , category etc. Now let us see what all these things for,
• Name – Name of the module to be displayed
• Author – The name of one who created the module
• Version – version of the released module, is it v10,v9 or v8
• company – The company which developer module
• website – the website address of the company
• Category – Category of the module, whether it is sales, purchase, point of sale etc.
• Depends – Suppose if our module depends on any other modules, we have to mention
that name in the depends. As we are going to create a new module and as it is not
depending on any other modules, just add depends as base
• Data – In the data section we have to specify all the .xml files here. In our case we have
to mention the view.xml here
6. • So our __manifest__.py file will be like this
{
'name': 'Student Record',
'summary': """This module will add a record to store student details""",
'version': '10.0.1.0.0',
'description': """This module will add a record to store student details""",
'author': 'Niyas Raphy',
'company': 'Cybrosys Techno Solutions',
'website': 'http://www.cybrosys.com',
7. 'category': 'Tools',
'depends': ['base'],
'license': 'AGPL-3',
'data': [
'view.xml',
],
'demo': [],
'installable': True,
'auto_install': False,
}
If the installable is not as set as True, the module will not have an install button when
we see it in the apps list. If we set the the auto_install as True, the module will
automatically get installed in the time of creation of the new database.
8. • model.py
In this file, we have to design a new model to store the values of the student, let it be
student.student. On creating a new model, a table will get generated in the database.
Inside the model, we have to declare all the fields that we are going to use in this table.
The different types of fields are,
* char
* float
* Int
* Boolean
* many2one
* many2many etc,
* selection
9. • The model.py in our case is, from odoo import models, fields
class StudentRecord(models.Model):
_name = "student.student"
name = fields.Char(string='Name', required=True)
middle_name = fields.Char(string='Middle Name', required=True)
last_name = fields.Char(string='Last Name', required=True)
photo = fields.Binary(string='Photo')
student_age = fields.Integer(string='Age')
student_dob = fields.Date(string="Date of Birth")
student_gender = fields.Selection([('m', 'Male'), ('f', 'Female'), ('o', 'Other')], string='Gender')
student_blood_group = fields.Selection(
[('A+', 'A+ve'), ('B+', 'B+ve'), ('O+', 'O+ve'), ('AB+', 'AB+ve'),
('A-', 'A-ve'), ('B-', 'B-ve'), ('O-', 'O-ve'), ('AB-', 'AB-ve')],
string='Blood Group')
nationality = fields.Many2one('res.country', string='Nationality')
10. • First of all we have to import the models and fields from the odoo.
(After importing the required packages give two line space before class ).
Then we have to define a new class StudentRecord with the name as the student.student. Now
a table will get generated , next we have to define the fields inside this table,(leave one line
space between model name and fields) in the above we can see that the fields are name,
student_photo, student_age etc.
11. • Now let us look what is the type of the each field,
* name – name is defined as a char field.
* middle_name – middle name is also char field
* last_name – char field
* student_photo – This a binary field where we can store the image of the student.
* student_age – Integer field to store the age of student
* student_dob – Date field to record the date of birth of the student
* student_gender – It is selection field from which the gender of the student can be
selected
* student_blood_group- This is also a selection field, from this the blood group o f can be
selected
*student_nationality – This is a many2one field of the res.country, all the * nations list will
be displayed and we can select the required one
name = fields.Char(string='Name', required=True)
12. IMP :- While giving the name for the fields, give it properly so that one can easily
understand why this field is for on seeing its name.
student_age = fields.Integer(string='Age') , The word that we have given inside the string
attribute will displayed in the form , tree views.
We can define the above fields like this also,
student_age = fields.Integer('Age'), without string=”Age”, we can directly give 'Age' inside
the bracket. But giving with string is recommended.
13. • view.xml
As we have defined all the needed fields in the model.py file now we have to create view
for this. How should user see this, where must be the name field ? Such thing can be
defined in the view.xml file.
Right now we have created a table in the database, here we have to define how it should
be in the user interface and under which menu it should be etc. In our case, let us create
a new menu called school and under the school we can create a sub menu called
students and on clicking the students menu we can display the student record.
14. • Let us first look, how to create a new menus,
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<menuitem id="menu_school" name="School"/>
<menuitem id="school_student" name="Students" parent="menu_school"
action="action_view_students"/>
</data>
</odoo>
This is how we can create new menus, In the first menu we can see only the id and
name, where as we can see two extra attributes in second menu, ie, action and parent.
15. As first menu does not have a parent the menu will get created a new menu in top bar.
For the second menu parent is set as the first menu, you can see that in the parent of
the second the id of the first menu is given. So the second menu will be the submenu
of the first menu.
The string that we have given in the name attribute will be displayed as the name of
the menu.
IMP : The menu that is created without having any action will not get displayed in the
UI
16. • Now let us look what does the action in the student menu is for,
Creating the action record,
The action which takes place on clicking the menu is based on what we have defined in the
action record.
Let us look how our action record “ action_view_students” will be,
<record model="ir.actions.act_window" id="action_view_students">
<field name="name">Students</field>
<field name="res_model">student.student</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create new student
</p>
</field>
</record>
17. • Here , we have to give which all views should be there, in the above i have given two
views ie, tree and form view. In the res_model we have to specify the model, our model
name is student.student, the name that we have given while creation of the class in the
model.py.
The domain is for , suppose if we have to filter the records on clicking the menu we can give
the filter condition here.
<field name="domain">[('student_age', '>', 23)]</field>, if we give such a domain then
student those who have age greater than 23 will ve displayed.
<p class="oe_view_nocontent_create">Create new student
</p> . This will get displayed if no record in the corresponding model is created. If there is no
students created then it will display like this, create new student.
18. • Now we have to create form view and tree view for model,
Tree view :-
<record id="view_student_tree" model="ir.ui.view">
<field name="name">student.student.tree</field>
<field name="model">student.student</field>
<field name="priority" eval="8" />
<field name="arch" type="xml">
<tree string="Student">
<field name="name" />
<field name="middle_name" />
<field name="last_name" />
<field name="student_gender" />
<field name="student_age" />
<field name="student_dob" />
<field name="student_blood_group" />
<field name="lang" />
</tree>
</field>
</record>
19. • In the id we have to give id for tree view, in the model we have to give our model ie,
student.student. The attribute tree will identify this as tree view
Form view :-
<record id="view_student_form" model="ir.ui.view">
<field name="name">student.student.form</field>
<field name="model">student.student</field>
<field name="priority" eval="8" />
<field name="arch" type="xml">
<form string="Student">
<sheet>
<field name="photo" widget="image" class="oe_left oe_avatar" />
<div class="oe_title">
<h1>
<table>
<tr>
22. To display the fields in two sides of a form, we can use group tag inside group tag,
<group>
<group>
<field name="student_age" />
</group>
<group>
<field name="student_blood_group" />
</group>
<group>
23. • Now let us look the whole code, that we have written
* __init__.py
import model
* __manifest__.py
{
'name': 'Student Record',
'summary': """This module will add a record to store student details""",
'version': '10.0.1.0.0',
'description': """This module will add a record to store student details""",
'author': 'Niyas Raphy',
'company': 'Cybrosys Techno Solutions',
'website': 'http://www.cybrosys.com',
'category': 'Tools',
'depends': ['base'],
'license': 'AGPL-3',
'data': [
'data/view.xml',
29. • The module is now completed, make sure that the newly created module is inside
the proper addons path. Then Go to Odoo, activate developer mode. Then Apps ->
update apps list -> click on update.
• The technical name of our module is the folder name (ie, school in our case) and the
name is Student Record which is given in the manifest file.
• Now after updating the apps list, you can search for the module based on either of
those name.
• This is now the structure of the module, school
-- __init__.py
-- __manifest__.py
-- model.py
-- view.xml
-- static
--- description
--icon.png
** Bold ones is folders
30. Extra tips
* For giving icon image for the newly created module, create a folder named static
inside the school, then inside the static folder create a description folder and inside
that add a image in name icon and it is format should be png.
* We can use MVC concept in creation of the module. So that the all .py file should be
added inside the models folder and all the .xml file should be added in views folder.
If we are using the above concept we have to change the module structure like this,
school
-- __init__.py
-- __manifest__.py
-- models
-- __init__.py
-- model.py
-- views
-- view.xml
31. -- static
--- description
--icon.png
• In the main __init__.py file we have to import the models folder,
main __init__.py
import models
In the __init__.py file inside the models folder,
import model
As the view.xml is moved to the views folder, the manifest file also has to be
changed.
32. __manifest__.py
{
'name': 'Student Record',
'summary': """This module will add a record to store student details""",
'version': '10.0.1.0.0',
'description': """This module will add a record to store student details""",
'author': 'Niyas Raphy',
'company': 'Cybrosys Techno Solutions',
'website': 'http://www.cybrosys.com',
'category': 'Tools',
'depends': ['base'],
'license': 'AGPL-3',
'data': [
'views/view.xml',
],
'demo': [],
'installable': True,
'auto_install': False,
}