Hello Beginners,
The documentation given by openerp.com for developers is not sufficient for beginners. Its difficult to understand and implement. Following is the step by step tutorial to create your own testing module in openerp which could hep you to understand it better.
root@ubuntu: cd /usr/local/lib/python2.7/dist-packages/openerp-6.1_20120217_003606-py2.7.egg/openerp/addons/
root@ubuntu: mkdir testing
root@ubuntu: cd testing
root@ubuntu:vim __init__.py
Code:-
import testing
root@ubuntu: vim __openerp__.py
Code:-
{
'name': 'Testing',
'version': '1.01',
'category': 'Vertical Modules/Testing',
'description': """The module is a vertical for fleet operations management""",
'author': 'Pankaj Moolrajani',
'website': 'http://www.pankajmoolrajani.com',
'depends': ['base'],
'init_xml': ['testing_view.xml','testing_menu.xml'],
'update_xml': ["testing_view.xml",
"testing_menu.xml",
],
'demo_xml': [],
'installable': True,
'active': True,
}
root@ubuntu: vim testing.py
Code:-
from osv import osv, fields
import pooler
import time
import datetime
class testing_users(osv.osv):
_name = "testing.users"
_description = "Holds records of testing users"
_columns = {
'name':fields.char('User Name',size=20,required=True),
'firstname':fields.char('First Name',size=11,required=True),
'lastname':fields.char('Last Name',size=10,required=True),
}
_defaults={
}
testing_users()
root@ubuntu: vim testing_menu.xml
Code:-
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Parent Menu on Right Panes -->
<menuitem id="menu_testing" name="Testing" />
<!-- Master menus (tree parent) -->
<menuitem id="menu_testing_manager" name="Testing Manager"
parent="menu_testing" sequence="1" />
<!-- Sub menus of Testing Manager -->
<menuitem id="menu_testing_users" name="Users"
parent="menu_testing_manager" action="testing_users_form_act" />
</data>
</openerp>
root@ubuntu: vim testing_view.xml
Code:-
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="testing_users_form" model="ir.ui.view">
<field name="name">testing.users.form</field>
<field name="model">testing.users</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="testing users">
<group colspan="2" col="4">
<separator string="Testing Users Details" colspan="4" />
<field name="name" select="1"/>
<field name="firstname" />
<field name="lastname" />
</group>
</form>
</field>
</record>
<record id="testing_users_tree" model="ir.ui.view">
<field name="name">testing.users.tree</field>
<field name="model">testing.users</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="testing users">
<field name="name" />
<field name="firstname" />
<field name="lastname" />
</tree>
</field>
</record>
<record id="testing_users_form_act"
model="ir.actions.act_window">
<field name="name">Testing Users</field>
<field name="res_model">testing.users</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="view_mode">tree,form</field>
</record>
</data>
</openerp>
The documentation given by openerp.com for developers is not sufficient for beginners. Its difficult to understand and implement. Following is the step by step tutorial to create your own testing module in openerp which could hep you to understand it better.
Step 1: Create a directory named "testing" in directory "addons"
root@ubuntu: cd /usr/local/lib/python2.7/dist-packages/openerp-6.1_20120217_003606-py2.7.egg/openerp/addons/
root@ubuntu: mkdir testing
Step 2 : change to directory "testing", created in previous step.
root@ubuntu: cd testing
Step 3 : create file __init__.py in directory "testing" and paste following code in it.
root@ubuntu:vim __init__.py
Code:-
import testing
Step 4 : create file __openerp__.py in directory "testing" and paste following code in it.
root@ubuntu: vim __openerp__.py
Code:-
{
'name': 'Testing',
'version': '1.01',
'category': 'Vertical Modules/Testing',
'description': """The module is a vertical for fleet operations management""",
'author': 'Pankaj Moolrajani',
'website': 'http://www.pankajmoolrajani.com',
'depends': ['base'],
'init_xml': ['testing_view.xml','testing_menu.xml'],
'update_xml': ["testing_view.xml",
"testing_menu.xml",
],
'demo_xml': [],
'installable': True,
'active': True,
}
Step 5 : create file testing.py in directory "testing" and paste following code in it.
root@ubuntu: vim testing.py
Code:-
from osv import osv, fields
import pooler
import time
import datetime
class testing_users(osv.osv):
_name = "testing.users"
_description = "Holds records of testing users"
_columns = {
'name':fields.char('User Name',size=20,required=True),
'firstname':fields.char('First Name',size=11,required=True),
'lastname':fields.char('Last Name',size=10,required=True),
}
_defaults={
}
testing_users()
Step 6 : create file testing_menu.xml in directory "testing" and paste following code in it.
root@ubuntu: vim testing_menu.xml
Code:-
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Parent Menu on Right Panes -->
<menuitem id="menu_testing" name="Testing" />
<!-- Master menus (tree parent) -->
<menuitem id="menu_testing_manager" name="Testing Manager"
parent="menu_testing" sequence="1" />
<!-- Sub menus of Testing Manager -->
<menuitem id="menu_testing_users" name="Users"
parent="menu_testing_manager" action="testing_users_form_act" />
</data>
</openerp>
Step 7 : create file testing_view.xml in directory "testing" and paste following code in it.
root@ubuntu: vim testing_view.xml
Code:-
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="testing_users_form" model="ir.ui.view">
<field name="name">testing.users.form</field>
<field name="model">testing.users</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="testing users">
<group colspan="2" col="4">
<separator string="Testing Users Details" colspan="4" />
<field name="name" select="1"/>
<field name="firstname" />
<field name="lastname" />
</group>
</form>
</field>
</record>
<record id="testing_users_tree" model="ir.ui.view">
<field name="name">testing.users.tree</field>
<field name="model">testing.users</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="testing users">
<field name="name" />
<field name="firstname" />
<field name="lastname" />
</tree>
</field>
</record>
<record id="testing_users_form_act"
model="ir.actions.act_window">
<field name="name">Testing Users</field>
<field name="res_model">testing.users</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<field name="view_mode">tree,form</field>
</record>
</data>
</openerp>
Step 8 : Now login to openerp server via openerp client ie. your browser.
Step 9 : Go to settings and click on "update module list" in left menu.
Step 10 : You may not find this testing module by searching in module list, so select it manually by going to the last page of module list.
Step 11 : Click on install/upgrade to install or upgrade this testing module.
Note : For any queries, post in comment box.