This question has been flagged
10 Replies
31215 Views

I want to put a selection for category, and when people select spesific category (for example : email issue) I want that all the fields below change to fit that category.

Avatar
Discard
Author Best Answer

Thanks for the answer.
I've found the right answer using attrs {'invisible':[('x_rwis','not in',['a'])]}

Avatar
Discard

Please correct the right answer. Thank you.

Best Answer

In XML,

Eg:-

<record id="id" model="ir.ui.view">
        <field name="name">xxxx</field>
        <field name="model">xxxx.xx</field>
        <field name="arch" type="xml">
            <form string="string" version="7.0">
                <group col="4">
                    <field name="aaa"/>
                    <field name="bbb" on_change="onchange_bbb(bbb)"/>
                    <field name="ccc"/>
                    <field name="ddd"/>
                </group>
            </form>
        </field>
    </record>

We pass the value bbb to the py file.

In Python:

Eg:-

def onchange_email(self, cr, uid, ids, bbb, context=None):
        vals = {'aaa': bbb}        
        return {'value': vals}

So the value of bbb is returned onchage to the field aaa.

Thanks

Sreedath

Avatar
Discard
Author

can I do this in developers mode?

code changing have nothing to do with developer/normal modes ryt?

How can i delete old values using onchange function. Eg: field A value is = 10 and i am using on change function in field B. While change the value B i need to delete A old value and update new value. Kindly help me how to achieve this..Thanks

Best Answer

Below example shows one onchange function for age calculation from date of birth(dob)

The xml view will be

<field name="dob" on_change="onchange_getage_id(dob,context)"/>

<field name="age_text"/>

while the date field is filled the age will be seen in the another text field.

The python onchange function is

 def onchange_getage_id(self,cr,uid,ids,dob,context=None):
        current_date=datetime.now()
        current_year=current_date.year
        birth_date = parser.parse(dob)
        current_age=current_year-birth_date.year
        val = {
            'age_text':current_age
        }
        return {'value': val}

Like this you can do your function.

Thanks

Parvathy

Avatar
Discard
Author

can I do this in developers mode?

Yes you can do it

Best Answer

Hi friends,

                  I would like to change form fields label while on_change a field. The field is many2one and I have configured few items in that object. I could not use fields_view_get. While i onchange i am able to return field string but is not reflected in form view.

please help me

Avatar
Discard