1
votes

Hi I have been developing a custom openerp module. I have created a button in my field and I have also declared an acvtion for it. But I am getting an error " 'my_form' object has no attribute 'add_field' "?

here is myform_view.xml

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>

        <record model="ir.ui.view" id="from_view_form">
            <field name="name">form.view.form</field>
            <field name="model">my.form</field>
            <field name="arch" type="xml">
                <form string="Form" version="7.0">
                    <group>
                        <field name="name" />
                        <field name="project" />
                        <button name="add_field" string="Add Field" type="object" />
                    </group>
                </form>
            </field>
        </record>

        <record model="ir.ui.view" id="from_view_tree">
            <field name="name">form.view.tree</field>
            <field name="model">my.form</field>
            <field name="arch" type="xml">
                <tree string="Form">
                    <field name="name" />
                </tree>
            </field>
        </record>    

        <record model='ir.actions.act_window' id='add_field'>
            <field name="name">Form</field>
            <field name="res_model">my.form2</field>
            <field name="view_type">form</field>
            <field name="view_mode">form</field>
            <field name="context">{}</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">
                    Click to create a new record.
                </p>
                <p>This is a test class developed to learn Openerp.</p>
            </field>
        </record>













        <record model='ir.actions.act_window' id='form_view_action'>
            <field name="name">Form</field>
            <field name="res_model">my.form</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="context">{}</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">
                    Click to create a new record.
                </p>
                <p>This is a test class developed to learn Openerp.</p>
            </field>
        </record>

        <menuitem id="myform_ID" name="myforms" />

        <menuitem id="myform_menu_ID" name="myform" parent="myform_ID"  />

        <menuitem id="myform_menu2_ID" name="myform" parent="myform_menu_ID"  action='form_view_action' />

    </data>
</openerp>

here is myform.py

from osv import fields, osv
import time


class my_form(osv.osv):

    _name = "my.form"
    _description = 'Formview Module'
    _columns = {
        'name': fields.char('Name', size=64),
        'project': fields.char('Project', size=64),
        'image': fields.binary('Image'),
        'file':fields.binary('attach file')
    }



class my_form2(osv.osv):

    _name="my.form2"
    _description="new form"
    _columns={
              'add':fields.char('Address',size=64)
              }
1
hi, Provide the whole exception trace here. I can not see where the error belongs totheAlse
I have mentioned the error above . The error occurs when I click the buttonArsalan Sherwani
Is this your first time asking a question! Provide the whole stack trace, what you are giving us is "'my_form' object has no attribute 'add_field'". but in what line?theAlse

1 Answers

0
votes

there must have add_field method in your object like i.e class my_form(osv.osv):

    _name = "my.form"
    _description = 'Formview Module'
    _columns = {
        'name': fields.char('Name', size=64),
        'project': fields.char('Project', size=64),
        'image': fields.binary('Image'),
        'file':fields.binary('attach file')
    }

    def add_field(self, cr, uid, ids, context={}):
        #YOUR CODE
        return True
`