SlideShare a Scribd company logo
www.cybrosys.com
HOW TO CREATE A MODULE IN
ODOO
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.
• 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
• 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

Recommended for you

Defining Kanban View in Odoo15 | Advanced Views
Defining Kanban View in Odoo15 | Advanced ViewsDefining Kanban View in Odoo15 | Advanced Views
Defining Kanban View in Odoo15 | Advanced Views

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.

odoo
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening

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.

 
by Odoo
securityodoocode
Odoo ORM Methods | Object Relational Mapping in Odoo15
Odoo ORM Methods | Object Relational Mapping in Odoo15 Odoo ORM Methods | Object Relational Mapping in Odoo15
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.

odoo
 _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
• 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',
'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.
• 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

Recommended for you

Impact of the New ORM on Your Modules
Impact of the New ORM on Your ModulesImpact of the New ORM on Your Modules
Impact of the New ORM on Your Modules

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.

 
by Odoo
DJango
DJangoDJango
DJango

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.

djangocorporate pythonpython
Odoo Web Services
Odoo Web ServicesOdoo Web Services
Odoo Web Services

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.

odoo web servicesodooerp
• 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')
• 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.
• 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)
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.

Recommended for you

Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자

PyCon APAC 2016 발표 자료입니다. Django로 쇼핑몰을 만들어본 경험을 공유합니다. - 쇼핑몰에 대한 대략적인 이해 - 이미지, 제품, 주문, 장바구니, 결제, 관리자 구현 - 테스트와 적립금 구현

djangopython koreapyconapac
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial

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.

Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16

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.

odooodoo slidesodoo 16
• 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.
• 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.
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
• 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>

Recommended for you

Django Framework and Application Structure
Django Framework and Application StructureDjango Framework and Application Structure
Django Framework and Application Structure

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 in Odoo 16
View Inheritance in Odoo 16View Inheritance in Odoo 16
View Inheritance in Odoo 16

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.

odoo erpodoo 16viewinheritance
Web development with django - Basics Presentation
Web development with django - Basics PresentationWeb development with django - Basics Presentation
Web development with django - Basics Presentation

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.

djangopython mvcweb development
• 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.
• 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>
• 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>
<td style="padding-right:10px;"><field name="name" required="1" placeholder="First Name" /></td>
<td style="padding-right:10px;"><field name="middle_name" placeholder="Middle Name" /></td>
<td style="padding-right:10px;"><field name="last_name" placeholder="Last Name" /></td>
</tr>
</table>
</h1>
</div>
<notebook colspan="4">
<page name="personal_information"
string="Personal Information">
<group col="4" colspan="4"
name="personal_detail">
<field name="student_gender" />
<field name="student_age" />
<field name="student_dob" />
<field name="student_gender" />
<field name="student_blood_group" />
<field name="nationality" />

Recommended for you

What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
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.

odoo wizardsodoo slidesodoo 15
Python Part 1
Python Part 1Python Part 1
Python Part 1

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.

python tutorialsunilosrays
Odoo Website - How to Develop Building Blocks
Odoo Website - How to Develop Building BlocksOdoo Website - How to Develop Building Blocks
Odoo Website - How to Develop Building Blocks

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

 
by Odoo
odooodoo experience 2020website
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
On giving sheet tag inside the form, a sheet will appear inside the form, it will make the form
more beautiful.
IMP: If the fields are not given inside the group tag, the string for the field given in the
model.py will not get displayed in the form view.
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>
• 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',
],
'demo': [],
'installable': True,
'auto_install': False,
}
* model.py
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")

Recommended for you

Odoo - Open chatter integration
Odoo - Open chatter integrationOdoo - Open chatter integration
Odoo - Open chatter integration

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.

 
by Odoo
openchatteropenerdaysodoo
Django forms
Django formsDjango forms
Django forms

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.

Building a Module in Odoo 16
Building a Module in Odoo 16Building a Module in Odoo 16
Building a Module in Odoo 16

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.

building a moduleodoo 16odoo 17
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')
*view.xml
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<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" />
</tree>
</field>
</record>
<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>
<td style="padding-right:10px;"><field name="name"
required="1" placeholder="First Name" /></td>
<td style="padding-right:10px;"><field
name="middle_name" placeholder="Middle Name" /></td>
<td style="padding-right:10px;"><field name="last_name"
placeholder="Last Name" /></td>
</tr>
</table>
</h1>
</div>
<notebook colspan="4">
<page name="personal_information"
string="Personal Information">
<group col="4" colspan="4"
name="personal_detail">
<field name="student_gender" />
<field name="student_age" />
<field name="student_dob" />
<field name="student_gender" />
<field name="student_blood_group" />
<field name="nationality" />
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<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>
<menuitem id="menu_school" name="School"/>
<menuitem id="school_student" name="Students"
parent="menu_school" action="action_view_students"/>
</data>
</odoo>

Recommended for you

Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17

_rec_name is intended to define the record value used to display it in search for many2one , breadcrumbs and many other cases .

odoo 17model attribute in odooodoo technical
Tips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptxTips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptx

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

odooerpphyton
How to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold MethodHow to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold Method

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.

odooodoo 15odoo slides
• 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
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
-- 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.
__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,
}

Recommended for you

Forms, Getting Your Money's Worth
Forms, Getting Your Money's WorthForms, Getting Your Money's Worth
Forms, Getting Your Money's Worth

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.

formsdjangoeurodjangocon
Django fixture
Django fixtureDjango fixture
Django fixture

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.​

fixturedjango fixtureepl fixtures
How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17How to Show Sample Data in Tree and Kanban View in Odoo 17
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.

odoo 17how to show sample datatree and kanban view
This is how we can create a module in
Odoo…..
Refer this link for more:
https://www.cybrosys.com/blog/how-create-module-odoo
Thank You !
Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park,
Kakkancherry,
Calicut University P.O.
Calicut
Kerala, India - 673635.
Cybrosys Ltd
15, ST Antonys Road,
Forest Gate, London
England,
E79QA.
Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, Kerala,
India-682030.

More Related Content

What's hot

Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
James Casey
 
Owl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOwl: The New Odoo UI Framework
Owl: The New Odoo UI Framework
Odoo
 
External dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odooExternal dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odoo
Celine George
 
Defining Kanban View in Odoo15 | Advanced Views
Defining Kanban View in Odoo15 | Advanced ViewsDefining Kanban View in Odoo15 | Advanced Views
Defining Kanban View in Odoo15 | Advanced Views
Celine George
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
Odoo
 
Odoo ORM Methods | Object Relational Mapping in Odoo15
Odoo ORM Methods | Object Relational Mapping in Odoo15 Odoo ORM Methods | Object Relational Mapping in Odoo15
Odoo ORM Methods | Object Relational Mapping in Odoo15
Celine George
 
Impact of the New ORM on Your Modules
Impact of the New ORM on Your ModulesImpact of the New ORM on Your Modules
Impact of the New ORM on Your Modules
Odoo
 
DJango
DJangoDJango
DJango
Sunil OS
 
Odoo Web Services
Odoo Web ServicesOdoo Web Services
Odoo Web Services
Celine George
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자
Kyoung Up Jung
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial
之宇 趙
 
Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16
Celine George
 
Django Framework and Application Structure
Django Framework and Application StructureDjango Framework and Application Structure
Django Framework and Application Structure
SEONGTAEK OH
 
View Inheritance in Odoo 16
View Inheritance in Odoo 16View Inheritance in Odoo 16
View Inheritance in Odoo 16
Celine George
 
Web development with django - Basics Presentation
Web development with django - Basics PresentationWeb development with django - Basics Presentation
Web development with django - Basics Presentation
Shrinath Shenoy
 
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
Celine George
 
Python Part 1
Python Part 1Python Part 1
Python Part 1
Sunil OS
 
Odoo Website - How to Develop Building Blocks
Odoo Website - How to Develop Building BlocksOdoo Website - How to Develop Building Blocks
Odoo Website - How to Develop Building Blocks
Odoo
 
Odoo - Open chatter integration
Odoo - Open chatter integrationOdoo - Open chatter integration
Odoo - Open chatter integration
Odoo
 
Django forms
Django formsDjango forms
Django forms
Rubin Damian
 

What's hot (20)

Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Owl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOwl: The New Odoo UI Framework
Owl: The New Odoo UI Framework
 
External dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odooExternal dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odoo
 
Defining Kanban View in Odoo15 | Advanced Views
Defining Kanban View in Odoo15 | Advanced ViewsDefining Kanban View in Odoo15 | Advanced Views
Defining Kanban View in Odoo15 | Advanced Views
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
 
Odoo ORM Methods | Object Relational Mapping in Odoo15
Odoo ORM Methods | Object Relational Mapping in Odoo15 Odoo ORM Methods | Object Relational Mapping in Odoo15
Odoo ORM Methods | Object Relational Mapping in Odoo15
 
Impact of the New ORM on Your Modules
Impact of the New ORM on Your ModulesImpact of the New ORM on Your Modules
Impact of the New ORM on Your Modules
 
DJango
DJangoDJango
DJango
 
Odoo Web Services
Odoo Web ServicesOdoo Web Services
Odoo Web Services
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial
 
Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16
 
Django Framework and Application Structure
Django Framework and Application StructureDjango Framework and Application Structure
Django Framework and Application Structure
 
View Inheritance in Odoo 16
View Inheritance in Odoo 16View Inheritance in Odoo 16
View Inheritance in Odoo 16
 
Web development with django - Basics Presentation
Web development with django - Basics PresentationWeb development with django - Basics Presentation
Web development with django - Basics Presentation
 
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...
 
Python Part 1
Python Part 1Python Part 1
Python Part 1
 
Odoo Website - How to Develop Building Blocks
Odoo Website - How to Develop Building BlocksOdoo Website - How to Develop Building Blocks
Odoo Website - How to Develop Building Blocks
 
Odoo - Open chatter integration
Odoo - Open chatter integrationOdoo - Open chatter integration
Odoo - Open chatter integration
 
Django forms
Django formsDjango forms
Django forms
 

Similar to HOW TO CREATE A MODULE IN ODOO

Building a Module in Odoo 16
Building a Module in Odoo 16Building a Module in Odoo 16
Building a Module in Odoo 16
Celine George
 
Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17
Celine George
 
Tips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptxTips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptx
Agusto Sipahutar
 
How to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold MethodHow to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold Method
Celine George
 
Forms, Getting Your Money's Worth
Forms, Getting Your Money's WorthForms, Getting Your Money's Worth
Forms, Getting Your Money's Worth
Alex Gaynor
 
Django fixture
Django fixtureDjango fixture
Django fixture
AmitHadole
 
How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17
Celine George
 
Tasks In this assignment you are required to design and imp.pdf
Tasks In this assignment you are required to design and imp.pdfTasks In this assignment you are required to design and imp.pdf
Tasks In this assignment you are required to design and imp.pdf
acsmadurai
 
student application form Java Netbeans
student application form Java Netbeansstudent application form Java Netbeans
student application form Java Netbeans
reshmajohney
 
Linq
LinqLinq
Odoo 15 Composition of Module
Odoo 15 Composition of ModuleOdoo 15 Composition of Module
Odoo 15 Composition of Module
Celine George
 
Implementation Your program shall contain at least the follo.pdf
Implementation Your program shall contain at least the follo.pdfImplementation Your program shall contain at least the follo.pdf
Implementation Your program shall contain at least the follo.pdf
ADITIEYEWEAR
 
How to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using CodeHow to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using Code
Celine George
 
Django tutorial
Django tutorialDjango tutorial
Django tutorial
Ksd Che
 
Tips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptxTips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptx
Agusto Sipahutar
 
Lect 1-java object-classes
Lect 1-java object-classesLect 1-java object-classes
Lect 1-java object-classes
Fajar Baskoro
 
SQLite Database Tutorial In Android
SQLite Database Tutorial In AndroidSQLite Database Tutorial In Android
SQLite Database Tutorial In Android
Android 5
 
Project3
Project3Project3
Project3
ARVIND SARDAR
 
Cis247 i lab 4 composition and class interfaces
Cis247 i lab 4 composition and class interfacesCis247 i lab 4 composition and class interfaces
Cis247 i lab 4 composition and class interfaces
sdjdskjd9097
 
Odoo 13 e learning module
Odoo 13 e learning moduleOdoo 13 e learning module
Odoo 13 e learning module
PlanetOdoo
 

Similar to HOW TO CREATE A MODULE IN ODOO (20)

Building a Module in Odoo 16
Building a Module in Odoo 16Building a Module in Odoo 16
Building a Module in Odoo 16
 
Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17
 
Tips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptxTips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptx
 
How to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold MethodHow to Build a Module in Odoo 15 Scaffold Method
How to Build a Module in Odoo 15 Scaffold Method
 
Forms, Getting Your Money's Worth
Forms, Getting Your Money's WorthForms, Getting Your Money's Worth
Forms, Getting Your Money's Worth
 
Django fixture
Django fixtureDjango fixture
Django fixture
 
How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17
 
Tasks In this assignment you are required to design and imp.pdf
Tasks In this assignment you are required to design and imp.pdfTasks In this assignment you are required to design and imp.pdf
Tasks In this assignment you are required to design and imp.pdf
 
student application form Java Netbeans
student application form Java Netbeansstudent application form Java Netbeans
student application form Java Netbeans
 
Linq
LinqLinq
Linq
 
Odoo 15 Composition of Module
Odoo 15 Composition of ModuleOdoo 15 Composition of Module
Odoo 15 Composition of Module
 
Implementation Your program shall contain at least the follo.pdf
Implementation Your program shall contain at least the follo.pdfImplementation Your program shall contain at least the follo.pdf
Implementation Your program shall contain at least the follo.pdf
 
How to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using CodeHow to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using Code
 
Django tutorial
Django tutorialDjango tutorial
Django tutorial
 
Tips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptxTips On Trick Odoo Add-On.pptx
Tips On Trick Odoo Add-On.pptx
 
Lect 1-java object-classes
Lect 1-java object-classesLect 1-java object-classes
Lect 1-java object-classes
 
SQLite Database Tutorial In Android
SQLite Database Tutorial In AndroidSQLite Database Tutorial In Android
SQLite Database Tutorial In Android
 
Project3
Project3Project3
Project3
 
Cis247 i lab 4 composition and class interfaces
Cis247 i lab 4 composition and class interfacesCis247 i lab 4 composition and class interfaces
Cis247 i lab 4 composition and class interfaces
 
Odoo 13 e learning module
Odoo 13 e learning moduleOdoo 13 e learning module
Odoo 13 e learning module
 

More from Celine George

How to Manage Line Discount in Odoo 17 POS
How to Manage Line Discount in Odoo 17 POSHow to Manage Line Discount in Odoo 17 POS
How to Manage Line Discount in Odoo 17 POS
Celine George
 
How to Manage Access Rights & User Types in Odoo 17
How to Manage Access Rights & User Types in Odoo 17How to Manage Access Rights & User Types in Odoo 17
How to Manage Access Rights & User Types in Odoo 17
Celine George
 
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
Celine George
 
How to Empty a One2Many Field in Odoo 17
How to Empty a One2Many Field in Odoo 17How to Empty a One2Many Field in Odoo 17
How to Empty a One2Many Field in Odoo 17
Celine George
 
New Features in Odoo 17 Sign - Odoo 17 Slides
New Features in Odoo 17 Sign - Odoo 17 SlidesNew Features in Odoo 17 Sign - Odoo 17 Slides
New Features in Odoo 17 Sign - Odoo 17 Slides
Celine George
 
How to Manage Early Receipt Printing in Odoo 17 POS
How to Manage Early Receipt Printing in Odoo 17 POSHow to Manage Early Receipt Printing in Odoo 17 POS
How to Manage Early Receipt Printing in Odoo 17 POS
Celine George
 
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 SlidesWhat is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
Celine George
 
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 SlidesHow to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
Celine George
 
How to Create & Publish a Blog in Odoo 17 Website
How to Create & Publish a Blog in Odoo 17 WebsiteHow to Create & Publish a Blog in Odoo 17 Website
How to Create & Publish a Blog in Odoo 17 Website
Celine George
 
How To Update One2many Field From OnChange of Field in Odoo 17
How To Update One2many Field From OnChange of Field in Odoo 17How To Update One2many Field From OnChange of Field in Odoo 17
How To Update One2many Field From OnChange of Field in Odoo 17
Celine George
 
How to Manage Large Scrollbar in Odoo 17 POS
How to Manage Large Scrollbar in Odoo 17 POSHow to Manage Large Scrollbar in Odoo 17 POS
How to Manage Large Scrollbar in Odoo 17 POS
Celine George
 
How to Create a New Article in Knowledge App in Odoo 17
How to Create a New Article in Knowledge App in Odoo 17How to Create a New Article in Knowledge App in Odoo 17
How to Create a New Article in Knowledge App in Odoo 17
Celine George
 
Odoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On FacebookOdoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On Facebook
Celine George
 
What is Packaging of Products in Odoo 17
What is Packaging of Products in Odoo 17What is Packaging of Products in Odoo 17
What is Packaging of Products in Odoo 17
Celine George
 
How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17
Celine George
 
How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17
Celine George
 
How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17
Celine George
 
Year-to-Date Filter in Odoo 17 Dashboard
Year-to-Date Filter in Odoo 17 DashboardYear-to-Date Filter in Odoo 17 Dashboard
Year-to-Date Filter in Odoo 17 Dashboard
Celine George
 
What is Blank dashboards in the odoo 17 ERP
What is Blank dashboards in the odoo 17 ERPWhat is Blank dashboards in the odoo 17 ERP
What is Blank dashboards in the odoo 17 ERP
Celine George
 
Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17
Celine George
 

More from Celine George (20)

How to Manage Line Discount in Odoo 17 POS
How to Manage Line Discount in Odoo 17 POSHow to Manage Line Discount in Odoo 17 POS
How to Manage Line Discount in Odoo 17 POS
 
How to Manage Access Rights & User Types in Odoo 17
How to Manage Access Rights & User Types in Odoo 17How to Manage Access Rights & User Types in Odoo 17
How to Manage Access Rights & User Types in Odoo 17
 
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
 
How to Empty a One2Many Field in Odoo 17
How to Empty a One2Many Field in Odoo 17How to Empty a One2Many Field in Odoo 17
How to Empty a One2Many Field in Odoo 17
 
New Features in Odoo 17 Sign - Odoo 17 Slides
New Features in Odoo 17 Sign - Odoo 17 SlidesNew Features in Odoo 17 Sign - Odoo 17 Slides
New Features in Odoo 17 Sign - Odoo 17 Slides
 
How to Manage Early Receipt Printing in Odoo 17 POS
How to Manage Early Receipt Printing in Odoo 17 POSHow to Manage Early Receipt Printing in Odoo 17 POS
How to Manage Early Receipt Printing in Odoo 17 POS
 
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 SlidesWhat is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
 
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 SlidesHow to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
 
How to Create & Publish a Blog in Odoo 17 Website
How to Create & Publish a Blog in Odoo 17 WebsiteHow to Create & Publish a Blog in Odoo 17 Website
How to Create & Publish a Blog in Odoo 17 Website
 
How To Update One2many Field From OnChange of Field in Odoo 17
How To Update One2many Field From OnChange of Field in Odoo 17How To Update One2many Field From OnChange of Field in Odoo 17
How To Update One2many Field From OnChange of Field in Odoo 17
 
How to Manage Large Scrollbar in Odoo 17 POS
How to Manage Large Scrollbar in Odoo 17 POSHow to Manage Large Scrollbar in Odoo 17 POS
How to Manage Large Scrollbar in Odoo 17 POS
 
How to Create a New Article in Knowledge App in Odoo 17
How to Create a New Article in Knowledge App in Odoo 17How to Create a New Article in Knowledge App in Odoo 17
How to Create a New Article in Knowledge App in Odoo 17
 
Odoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On FacebookOdoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On Facebook
 
What is Packaging of Products in Odoo 17
What is Packaging of Products in Odoo 17What is Packaging of Products in Odoo 17
What is Packaging of Products in Odoo 17
 
How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17
 
How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17
 
How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17
 
Year-to-Date Filter in Odoo 17 Dashboard
Year-to-Date Filter in Odoo 17 DashboardYear-to-Date Filter in Odoo 17 Dashboard
Year-to-Date Filter in Odoo 17 Dashboard
 
What is Blank dashboards in the odoo 17 ERP
What is Blank dashboards in the odoo 17 ERPWhat is Blank dashboards in the odoo 17 ERP
What is Blank dashboards in the odoo 17 ERP
 
Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17
 

Recently uploaded

Transforming the Future of Limo Services.pptx
Transforming the Future of Limo Services.pptxTransforming the Future of Limo Services.pptx
Transforming the Future of Limo Services.pptx
limocaptaincom
 
Innovative Full Stack Developer Crafting Seamless Web Solutions
Innovative Full Stack Developer Crafting Seamless Web SolutionsInnovative Full Stack Developer Crafting Seamless Web Solutions
Innovative Full Stack Developer Crafting Seamless Web Solutions
Harwinder Singh
 
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
andagarcia212
 
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...
SOFTTECHHUB
 
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptx
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptxADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptx
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptx
Adani case
 
BeMetals Presentation_July 2 2024 .pdf
BeMetals Presentation_July 2 2024    .pdfBeMetals Presentation_July 2 2024    .pdf
BeMetals Presentation_July 2 2024 .pdf
DerekIwanaka1
 
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976
PYROTECH GROUP
 
How AI is Disrupting Service Industry More Than Design Thinking
How AI is Disrupting Service Industry More Than Design ThinkingHow AI is Disrupting Service Industry More Than Design Thinking
How AI is Disrupting Service Industry More Than Design Thinking
Body of Knowledge
 
Discover who your target audience is and reach them
Discover who your target audience is and reach themDiscover who your target audience is and reach them
Discover who your target audience is and reach them
Quibble
 
JD Euroway Report 2024 : Shocking Revelations
JD Euroway Report 2024 : Shocking RevelationsJD Euroway Report 2024 : Shocking Revelations
JD Euroway Report 2024 : Shocking Revelations
JD Euroway
 
Globalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to ShopeeGlobalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to Shopee
AsmitaSinghaRoy1
 
TALENT ACQUISITION AND MANAGEMENT LECTURE 2
TALENT ACQUISITION AND MANAGEMENT LECTURE 2TALENT ACQUISITION AND MANAGEMENT LECTURE 2
TALENT ACQUISITION AND MANAGEMENT LECTURE 2
projectseasy
 
Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...
Brian Frerichs
 
Kalyan Panel Chart | 9037164122 | kalyanchart.net
Kalyan Panel Chart | 9037164122 | kalyanchart.netKalyan Panel Chart | 9037164122 | kalyanchart.net
Kalyan Panel Chart | 9037164122 | kalyanchart.net
kalyan chart
 
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance UpdatesFamily/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
AishwaryaDoiphode3
 
PETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAA
PETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAAPETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAA
PETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAA
lawrenceads01
 
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Lynch Creek Farm
 
Factory Roofing Contractors Chennai.pptx
Factory Roofing Contractors Chennai.pptxFactory Roofing Contractors Chennai.pptx
Factory Roofing Contractors Chennai.pptx
Roofing Contractor
 
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO TacticsLocal SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
Woospers
 
Staffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project ManagementStaffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project Management
Tellusant, Inc.
 

Recently uploaded (20)

Transforming the Future of Limo Services.pptx
Transforming the Future of Limo Services.pptxTransforming the Future of Limo Services.pptx
Transforming the Future of Limo Services.pptx
 
Innovative Full Stack Developer Crafting Seamless Web Solutions
Innovative Full Stack Developer Crafting Seamless Web SolutionsInnovative Full Stack Developer Crafting Seamless Web Solutions
Innovative Full Stack Developer Crafting Seamless Web Solutions
 
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
 
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...
The AI-Powered Side Hustle Transforming Lives: A Dad's Journey to Financial S...
 
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptx
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptxADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptx
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptx
 
BeMetals Presentation_July 2 2024 .pdf
BeMetals Presentation_July 2 2024    .pdfBeMetals Presentation_July 2 2024    .pdf
BeMetals Presentation_July 2 2024 .pdf
 
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976
PROVIDING THE WORLD WITH EFFECTIVE & EFFICIENT LIGHTING SOLUTIONS SINCE 1976
 
How AI is Disrupting Service Industry More Than Design Thinking
How AI is Disrupting Service Industry More Than Design ThinkingHow AI is Disrupting Service Industry More Than Design Thinking
How AI is Disrupting Service Industry More Than Design Thinking
 
Discover who your target audience is and reach them
Discover who your target audience is and reach themDiscover who your target audience is and reach them
Discover who your target audience is and reach them
 
JD Euroway Report 2024 : Shocking Revelations
JD Euroway Report 2024 : Shocking RevelationsJD Euroway Report 2024 : Shocking Revelations
JD Euroway Report 2024 : Shocking Revelations
 
Globalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to ShopeeGlobalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to Shopee
 
TALENT ACQUISITION AND MANAGEMENT LECTURE 2
TALENT ACQUISITION AND MANAGEMENT LECTURE 2TALENT ACQUISITION AND MANAGEMENT LECTURE 2
TALENT ACQUISITION AND MANAGEMENT LECTURE 2
 
Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...
 
Kalyan Panel Chart | 9037164122 | kalyanchart.net
Kalyan Panel Chart | 9037164122 | kalyanchart.netKalyan Panel Chart | 9037164122 | kalyanchart.net
Kalyan Panel Chart | 9037164122 | kalyanchart.net
 
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance UpdatesFamily/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
 
PETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAA
PETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAAPETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAA
PETAVIT MICHAEL TAY.pdfAAAAAAAAAAAAAAAAAAAA
 
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
 
Factory Roofing Contractors Chennai.pptx
Factory Roofing Contractors Chennai.pptxFactory Roofing Contractors Chennai.pptx
Factory Roofing Contractors Chennai.pptx
 
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO TacticsLocal SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
 
Staffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project ManagementStaffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project Management
 

HOW TO CREATE A MODULE IN ODOO

  • 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>
  • 20. <td style="padding-right:10px;"><field name="name" required="1" placeholder="First Name" /></td> <td style="padding-right:10px;"><field name="middle_name" placeholder="Middle Name" /></td> <td style="padding-right:10px;"><field name="last_name" placeholder="Last Name" /></td> </tr> </table> </h1> </div> <notebook colspan="4"> <page name="personal_information" string="Personal Information"> <group col="4" colspan="4" name="personal_detail"> <field name="student_gender" /> <field name="student_age" /> <field name="student_dob" /> <field name="student_gender" /> <field name="student_blood_group" /> <field name="nationality" />
  • 21. </group> </page> </notebook> </sheet> </form> </field> </record> On giving sheet tag inside the form, a sheet will appear inside the form, it will make the form more beautiful. IMP: If the fields are not given inside the group tag, the string for the field given in the model.py will not get displayed in the form view.
  • 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',
  • 24. ], 'demo': [], 'installable': True, 'auto_install': False, } * model.py 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")
  • 25. 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') *view.xml <?xml version="1.0" encoding="UTF-8"?> <odoo> <data> <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">
  • 26. <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" /> </tree> </field> </record> <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">
  • 27. <h1> <table> <tr> <td style="padding-right:10px;"><field name="name" required="1" placeholder="First Name" /></td> <td style="padding-right:10px;"><field name="middle_name" placeholder="Middle Name" /></td> <td style="padding-right:10px;"><field name="last_name" placeholder="Last Name" /></td> </tr> </table> </h1> </div> <notebook colspan="4"> <page name="personal_information" string="Personal Information"> <group col="4" colspan="4" name="personal_detail"> <field name="student_gender" /> <field name="student_age" /> <field name="student_dob" /> <field name="student_gender" /> <field name="student_blood_group" /> <field name="nationality" />
  • 28. </group> </page> </notebook> </sheet> </form> </field> </record> <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> <menuitem id="menu_school" name="School"/> <menuitem id="school_student" name="Students" parent="menu_school" action="action_view_students"/> </data> </odoo>
  • 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, }
  • 33. This is how we can create a module in Odoo…..
  • 34. Refer this link for more: https://www.cybrosys.com/blog/how-create-module-odoo
  • 35. Thank You ! Cybrosys Technologies Pvt. Ltd. Neospace, Kinfra Techno Park, Kakkancherry, Calicut University P.O. Calicut Kerala, India - 673635. Cybrosys Ltd 15, ST Antonys Road, Forest Gate, London England, E79QA. Cybrosys Technologies Pvt. Ltd. 1st Floor, Thapasya Building, Infopark, Kakkanad, Kochi, Kerala, India-682030.