i'm using odoo 8 and i develop a custom module to add list of product that we use in my view (corrective maintenance). The problem is when i add the module it adds only the tree and it don't give me the right to select a product from the list of "product.product". Please help me to resolve my problem (i tried to add the same tree in other view and it works )
piece.py
class Piece_defectueuse(osv.osv):
_name = 'mro.order.parts.line'
_description = 'Maintenance Planned Parts'
_columns = {
'name': fields.char('Description', size=64),
'parts_id': fields.many2one('product.product', 'Article', required=True),
'parts_qty': fields.float('Quantité', digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
'parts_uom': fields.many2one('product.uom', 'Unit of Measure', required=True),
'maintenance_id': fields.many2one('cmms.intervention', 'Maintenance Order', select=True),
'maintenance_CM': fields.many2one('cmms.cm', 'Maintenance intervention', select=True),
}
_defaults = {
'parts_qty': lambda *a: 1.0,
}
def onchange_parts(self, cr, uid, ids, parts_id):
"""
onchange handler of parts_id.
"""
parts = self.pool.get('product.product').browse(cr, uid, parts_id)
return {'value': {'parts_uom': parts.uom_id.id}}
def unlink(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'maintenance_id': False})
return True
def create(self, cr, uid, values, context=None):
ids = self.search(cr, uid, [('maintenance_id','=',values['maintenance_id']),('parts_id','=',values['parts_id'])])
if len(ids)>0:
values['parts_qty'] = self.browse(cr, uid, ids[0]).parts_qty + values['parts_qty']
self.write(cr, uid, ids[0], values, context=context)
return ids[0]
ids = self.search(cr, uid, [('maintenance_id','=',False)])
if len(ids)>0:
self.write(cr, uid, ids[0], values, context=context)
return ids[0]
return super(Piece_defectueuse, self).create(cr, uid, values, context=context)
CM.py
class Cmms_CM(osv.osv):
_inherit = 'cmms.cm'
_columns = {
'parts_lines': fields.one2many('mro.order.parts.line', 'maintenance_CM', 'Planned parts', readonly=True),
}
CM_view.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="cmms_cm_form_stock" model="ir.ui.view">
<field name="name">cmms.cm.form.stock</field>
<field name="model">cmms.cm</field>
<field name="inherit_id" ref="cmms.view_cm_form"/>
<field name="arch" type="xml">
<separator string="Notes" position="before">
<group string="Piéces défectueuse">
<field name="parts_lines" nolabel="1">
<tree string="Planned Parts" editable="bottom">
<field name="parts_id" on_change="onchange_parts(parts_id)"/>
<field name="parts_qty"/>
<field name="parts_uom" groups="product.group_uom"/>
<field name="name"/>
</tree>
</field>
</group>
</separator>
</field>
</record>