Thursday 9 February 2017

How to disable or invisible Edit and Create button as per group.

How to disable or invisible Edit and Create button as per group.


Follow below example.

Follow Below step.

1 ) Open  Setting-> Technical-> user Interface-> Views

2 ) Create one view like below.

View Name              :-  Give name for view

View Type              :-  Form

Object                 :- product.product

Sequence               :- 16

Inherited View         :- product.product.form

View inheritance mode  :- Extension View

Active                 :- True

3 ) Add below code in Architecture tab.

<data>
<xpath expr='//form[@string="Product Variant"]' position="attributes">
<attribute name="edit">false</attribute>
<attribute name="create">false</attribute>
</xpath>
</data>

4 ) Add any group in Groups Tab.

Ex. -> your own group

Tuesday 7 February 2017

How to open wizard on click button in odoo/OpenERP

How to open wizard on click button in odoo/OpenERP

Create .py file for define method and field like below

class wizard_object(models.TransientModel):
_name = 'wizard.object'

field_1 = fields.Text('Field - 1')
field_2 = fields.Text('Field - 2')

@api.multi
def method_name(self):
pass


Create .xml file as below.


<record id="wizard_object_view" model="ir.ui.view">
<field name="name">wizard.object</field>
<field name="model">wizard.object</field>
<field name="arch" type="xml">
<form string="Wizard Demo" version="7.0">
<group>
<field name="field_1"/>
<field name="field_1"/>
</group>
<footer>
<button name="method_name" string="Yes" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>

<record id="open_wizard_action_id" model="ir.actions.act_window">
<field name="name">Wizard Demo</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">wizard.object</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>

Create One button when you want to open wizard.

<button name="%(open_wizard_action_id)d" type="action" string="Open Wizard"/>

Monday 6 February 2017

How To create Sequence in odoo/openerp

How To create Sequence in odoo/openerp

Step -1

Create One Xml File and register xml file in __openerp__.py and Add below code.

<data noupdate="1">

    <!-- Sequences for any object -->
    <record id="seq_id" model="ir.sequence.type">
        <field name="name">Give Any Name</field>
        <field name="code">seq.seq</field>
    </record>

    <record id="give_any_unique_id" model="ir.sequence">
        <field name="name">name same as above</field>
        <field name="code">seq.seq</field>
        <field name="prefix">SQ</field>
        <field name="padding">5</field>
    </record>

</data>



Step - 2

Create Py file when you want to add sequence like below

class proejct_task(models.Model):
    _inherit = "project.task"
 
    sequence_id = fields.Char('Sequence', readonly=True)

    @api.model
    def create(self, vals):
        seq = self.env['ir.sequence'].get('seq.seq') or '/'    //seq.seq is code which is define in xml file
        vals['sequence_id'] = seq
        return super(proejct_task, self).create(vals)

step - 3

Add sequence_id in project task form view like below.

<record id="view_task_form2_inherit" model="ir.ui.view">
<field name="name">view.task.form2.form</field>
<field name="model">project.task</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="arch" type="xml">
<xpath expr="//field[@name='project_id']" position="after">
<field name="sequence_id"/>
</xpath>
</field>
</record>

When you crate ptoject task sequence field is auto create like SQ00002,SQ00003,SQ00004

Wednesday 1 February 2017

How To reload page on click button in openerp/odoo

How To reload page on click button in openerp/odoo



You have to add button in form view like below code.
<xpath expr="//field[@name='name']" position="after">
            <button name="refresh_page" string="Refresh" type="object"/>
        </xpath>

You have to create one method like below.(this mehtod call when you click on button)

@api.multi
        def refresh_page(self):
            return { 'type': 'ir.actions.client', 'tag': 'reload'}

Odoo 17 New Features

  Odoo 17 new Features 1) Duplicate  multiple records from List view. Please have look below screenshots first you need to select records th...