Skip to main content


Showing posts from October, 2014

Odoo/OpenERP : Call function on button

There are three ways to add functionality on button in OpenERP/Odoo: 1. Call function directly on button: You can directly call the function defined in model/class using type="object" attribute. i.e <button string="Check availability" name="check_username_availability" type="object" class="oe_highlight" /> In this case you have to define ' check_username_availablilty' function in model. 2. Using Workflow: Workflow is the most used functionality in OpenERP/Odoo to process flow of the activity. Default type of button is workflow i.e type="workflow" .  Workflow itself is an vital topic so can't talk much about this here. <button string="Accept" name="signal_accept" type="workflow" class="oe_highlight" /> 3. Using action: You have to user type="action" if you want to call any action defined in the .xml file. For example if you want to open

Odoo/OpenERP: one2one relational field example

one2one relational field is deprecated in OpenERP version>5 but you can achieve the same using many2one relational field. You can achieve it in following two ways : 1) using many2one field in both the objects ( ) 2)  using inheritance by deligation You can easily find the first solution with little search over internet so let's start with 2nd solution. Scenario :  I want to create a one2one relation between two objects of openerp hr.employee and hr.employee.medical.details What I should do  i. Add _inherits section in hr_employee class ii. Add field medical_detail_id in hr_employee class class hr_employee(osv.osv):     _name = 'hr.employee'     _inherits = {' hr.employee.medical.details ': "medical_detail_id"}     _inherit = 'hr.employee'         _columns = {              'emp_code':fields.char('Employee Code', si

Odoo/OpenERP: Generate Employee Code

Employee code can be generated in following three simple steps: 1. Create a sequence file emp_code_sequence_view.xml <?xml version="1.0" encoding="utf-8"?> <openerp>     <data>         <!-- Sequences for employee code -->         <record id="emp_code_sequence" model="ir.sequence.type">             <field name="name">Employee Code</field>             <field name="code">hr.employee</field>         </record>         <record id="seq_hr_employee" model="ir.sequence">             <field name="name">Employee Code</field>             <field name="code">hr.employee</field>            <field name="prefix">EMP</field>             <field name="padding">5</field>             <field name="company_id" eval="False"/>