0

I'm struggling to make name onchange event to match the project_id

My py :

class notebook_project(osv.osv):
    _name = "notebook.project"
    _description = "Notebook Project ID"
    _columns = {
        'name' : fields.char('Name', size=64),
        'project_id' : fields.many2one('project.project', 'Project'),
        'notebook_project_lines' : fields.one2many('notebook.project', 'notebook_project_id', 'Members Lines'),
        'notebook_project_id': fields.many2one('notebook.project', ondelete='cascade', select=True),
        'project_member' : fields.many2one('hr.employee', 'Members'),

        }

def onchange_project_id(self, cr, uid, ids, project_id, name, context=None):

    if project_id:
        prod = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
        return {'value': {'name': prod.name}}
    return {}

notebook_project()

My XML

<record model="ir.ui.view" id="notebook_project_tree_view">
<field name="name">notebook.project.tree</field>
<field name="model">notebook.project</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Project">
<field name="name"/> 
<field name="notebook_project_lines"/>
</tree>
</field>
</record>

<record model="ir.ui.view" id="notebook_project_form_view">
<field name="name">notebook.project.form</field>
<field name="model">notebook.project</field>
<field name="type">form</field>
<field name="arch" type="xml">

<form string="Notebook Project"> 
<field name="project_id" on_change="project_id(project_id, name, context)"/>
<field name="name"/> 

I always get AttributeError: 'notebook_project' object has no attribute 'project_id' , any help appreciated :D

4

1 回答 1

1

Try with this:

In xml:

<field name="project_id" on_change="onchange_project_id(project_id)"/>

In py:

def onchange_project_id(self, cr, uid, ids, project_id, context=None):
    if project_id:
        prod = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
        return {'value': {'name': prod.name}}
    return {'value':{}}

After making these changes, update your module and test it. It should work.

于 2013-07-16T10:25:41.337 回答