
This is introductory session for the attendees.
You will get to know about history of ODOO, About the editor, About TinyERP, OpenERP, ODOO.
You will get details of ODOO Architecture and key features.
In
this video you will learn:
ODOO
Addons module directory structure
__openerp__.py
manifest file parameters and its usage
Different directory used to differentiate ODOO tools
For Module directory structure and manifest file.
In this video you will learn:
How
to create basic fields.
How to use fields attributes in particular fields.
In this video you will learn:
How to create basic views like :-
Form, List and Search view.
How to create Action and Menu and how to bind action on menu.
Continuation of previous part. About more view attributes and options.
In
this video you will learn:
How
to create relation fields, Complex fields and Functional fields.
How to create advance search view like :- Add filter using domain, Add group by on field.
(relational fields, views, action and menu)
Continuation of previous part for Relational field and its widgets
For Complex field and Search view with various search options.
How
to set domain In action using domain field.
How
to set default values on fields in action using context field
Miscellaneous topics: Recapping, a new view, sequence, button (object)
More on reference field
Make editable views
How
to start web-client in developer mode. Once user can activating
developer mode than user can easily debug technical
information.
Widgets :- Widgets is use to change user interface. Many widgets are available in ODOO like :- Selection, URL, Radio, email, image, float_time, many2many_tags, many2onebutton, progressbar, handle, password=True, statusbar and priority.
In this video you will learn:
->
A domain is a list of criteria used to select a subset of a model's
records. Each criteria is a triple with a field name, an operator and
a value. Using domain user can search specific records base on
specific search criteria.
-> The attrs is an element in ODOO which is responsible to alter the attributes of a field, not the value. The 'attrs' attribute can be used to dynamically change the attributes of view components based on the value of other fields. Buttons in ODOO use states attribute for dynamic visibility, they too can be used with attrs. It can be used on field, page, group, button and notebook tags. Remember, there is no RPC call ever made because this is a pure client side attribute at view level.
In this video you will learn:
The “onchange” mechanism provides a way for the client interface to update a form whenever the user has filled in a value in a field, without saving anything to the database.
In this video you will learn:
Views define the way the records of a model are displayed. Each type of view represents a mode of visualization (a list of records, a graph of their aggregation, …). Views can either be requested generically via their type (e.g. a list of partners) or specifically via their id. For generic requests, the view with the correct type and the lowest priority will be used (so the lowest-priority view of each type is the default view for that type). Also you can learn how to use different attributes on field level and view level.
Continuation of previous part on Field Attributes: name, string, invisible, groups, widget , sum, avg, attrs, position.
Continuation of previous part on
Class: oe_inline, oe_left, oe_right, oe_read_only, oe_edit_only , oe_no_button, on_change, domain, readonly, required , nolabel, placeholder, mode , help, filename, password, style , notebook, group, newline, separator, header.
In this video you will learn:
->
The diagram view can be used to display directed graphs of
records.
-> Graph views allow aggregated overview and analysis
of models, their root element is <graph>. Graph views have 4
display modes, the default mode is selected using the @type
attribute.
-> Calendar views display records as events in a daily, weekly or monthly calendar.
The model attributes are nothing but the attributes/ class variables. These are connected with the model. Each of the model attributes have their own significance. For e.g. name is used as the name of the model and a table is created in the database from the _name attribute. similarly _description is used to describe the model. There are list of attributes which can be used with model which are _rec_name, _inherit, _inherits, _sql_constraints, _constraints, _auto, _track and many more.
The
other set of Fields are Complex Fields. These fields are different
and complex than basic fields and relational fields. The Complex
fields are related field, property field and functional field.
The Related field is used to fetch another field from the relational table. The Property field is a field in which a default value is filled based on the company selected. Very useful in case of multi company environment. The Functional field is used to compute some value from existing fields.
In this video you will learn :
Writing and Designing Kanban view,
Set Kanban card content, add widget in Kanban Card and set colours,
Grouping Kanban cards and change record values with Drag-Drop.
Continuation of previous part on Kanban view
In this video you will learn:
Constraints
are set of rules which are used for the validation process before
creation, updation or deletion of a record.
There are basically
two types of constraint in Odoo.
1. SQL Constraints
-> These
are the constraints which will be applied on the table in database.
and they will be validated when a query is fired in the database.
2.
Object Constraints
-> These are the constraints which are not
applied on the table but are validated via a python code method
defined in the model and is validated when create(), write() or
unlink() method is called.
There are some fields which are automatically created when a table is created in the database. id, create_date, create_uid, write_date, write_uid. id is the primary key of the table and other four fields are very useful to trace the records for audit trail.
Apart from the Automatic fields there are some reserved fields which are used by Odoo but they are manually created by the developer. They have certain significance in Odoo. For e.g. name field is a required field specially if the model is having many2one relationship from some other model. The M2O field displays the name of the record. active is another one, if the active field is checked only then the record will be displayed in the list else not. The others are state and sequence.
This session explains the core of Odoo, the ORM Methods which are responsible for the interaction of Odoo with the Postgresql. The mehods are create, write, read, browse, search, copy, unlink. These methods are used to create, update, read, search, duplicate or delete records. Using these methods you can perform the operations mentioned above in the same model as well as any other model using the object of the model.
Focus is made on new API, i.e. Odoo 8 and 9
This session explains how the action calls from GUI are executed and which methods are called from when any action is performed on GUI and how it reaches to the server to create, update or delete the data and sequence of methods in which manner they are being called.
Decorators
are concept of python which minimizes the efforts of the developers
to pass the environmental variable every now and then like Cursor,
Logged in User and Context.
A
Decorator itself is a method, and it uses the concept of nesting.
Whenever you call a method which is decorated first the decorator is
called and then the method which is decorated is called.
Focus is made on new API, i.e. Odoo 8 and 9
All the ORM methods, Functional field's method, on_change method are using the decorators from the Odoo API.
api.one, api.multi, api.model. api.constrains, api.depends, api.returns are most commonly used decorators. Using the decorators the system has become much faster than before and the code has been made simpler avoiding passing the same arguments in all methods.
In
this video you will learn:
Overview
of How x2many fields differ in DB operations in ORM Framework
x2Many
patterns Overview, Create Records into x2many table - create()
Update
the records of one2many table with IDS for the parent record -
write()
Delete
the records of x2many and option to choose to remove from DBs or
unink relation
Update
the records of Many2many
Unlink
Many2Many relational records, but not from DB
Remove
all existing relational records and overwrite by new relational
records
Module Recorder by SerpentCS in Odoo
Overview
of ORM Methods and introduction to Basic Models.
Introduction
to ORM Models.
Most commonly used model for humans (customers,
suppliers) is res.partner.
Others are res.users for Users,
res.groups for Groups(Roles), res.company for Company. res.country
for Country and res.currency for Currency
Few more technical
ir.ui.view to store the views of all models, ir.actions.act_window to
store the actions of views. ir.ui.menu to store the Menus,
ir.model.access to store the Access rights, ir.model and
ir.model.fields to store Models and Fields respectively,
ir.module.module to store the modules.
Apart from these models the other models of other official addons modules used for Products, Warehouse, Invoices, Accounting, Sales, Purchase, Manufacturing, HR, Project etc.
There
are basically 3 types of button available in Odoo.
1.
Object
->
Object button is used to call a model's method.
2.
Action
->
Action button is used to call an action to open another view
3.
Workflow
->
Workflow button is used to call a signal to make a transition in the
workflow.
Apart
from these buttons there are Smart buttons which are customizable
buttons and become very handy when we have relations with other
models.
Just
like Action buttons we have act_window which are used as a link from
one model to another model but unlike buttons they don't appear in
the form view but it appears in the more... drop-down on top of the
view. It does the same thing, opening up another view.
We have one more special button which is link button, Instead of a normal button it is displayed as a link and does the same operations like other buttons.
Continuation of previous part on smart button.
A Wizard is nothing but a popup dialogue box which is opened to perform some operation on the fly. Wizard can be used to update some information, create/update/delete records, print reports etc. Wizard works transparently same as our Odoo model i.e we can use read, browse, default_get methods for it. The difference between Odoo Model and Wizard is that the wizard table record is not permanent. It stores data temporarily which elapses after some time.
In
this video you will learn :
Workflow Fundamentals, Elements of
Workflow : State, Transaction, Activity
Use of Workflow and Actions, Requirements and Use of Workflow
In
this video you will learn:
Qweb engine tags for Setting paper size, looping, Conditions, Attributes of different tags, Setting Variables, Calling sub-templates
In
this video you will learn:
Fundamental of Qweb Templates, Report
Module structure in ODOO,
Explanation of different layers of Qweb
Engine,
Predefined Qweb Master Templates,
Understanding Qweb
Report Attributes and Tags,
Registering Report with report tag in ODOO
In
this video you will learn:
How to inherit existing Qweb Template and Make changes in existing report with xpath and inheritance.
Continuation of previous part on customizing existing Qweb report.
In
this video you will learn:
ODOO Security system for different
levels like Menu, Action, Field, Model, Record, Button
ODOO has very easy to setup security systems with Groups, Users, Record Rules and Access Controls on different objects.
Continuation of Previous Part on Access control list.
In this video you will learn:
Configuring Security Groups from Module, Loading Access Rights using csv file in module.
Managing Menu and Action with Groups and Access Control
Record Level Security with Record Rules
Field Level and Button Level Security using groups
Our highly affordable OpenERP/ODOO 9 technical training in Arabic is typically dedicated to IT professionals, developers and integrators who want to grasp a comprehensive knowledge of technical aspects of OpenERP/ODOO. We ensure that our training programs are delivered by industry professionals who possess extensive experience in technical implementation of OpenERP/ODOO and are aware of the professional challenges that one may face in an organizational environment.
Course contains video series and material used for demonstrating the course. All code developed during training and material will be provided with the outline.
This training outline is starting from
setting up developer environment and installing odoo to expert level
customization on Reports, Wizards and Business process workflows.
Developers with basic Python knowledge can take this course and build
their career in Odoo development as technical consultant.