Salve a tutti.
Sono impelagato in una cosa che pensavo fosse semplice...e sicuramente lo sarà per voi...
Ho creato questo oggetto "diario":
'diario_ids' : fields.one2many('diario', 'partner_id', 'Diario'),
class diario(osv.osv):
_name = 'diario'
_description = 'Diario delle visite dei clienti'
_columns = {
'partner_id' : fields.many2one('res.partner', 'Partner', required=True, ondelete='cascade'),
'data' : fields.date('Data'),
'user_id': fields.many2one('res.users', 'Utente', required=False),
'nota' : fields.text('Annotazione'),
}
_defaults = {
'data': lambda *a: datetime.date.today().strftime('%Y-%m-%d'),
'user_id': lambda self, cr, uid, context=None: uid,
}
_order = 'data desc'
diario()
Sotto le note di res.partner ho inserito l'oggetto.
<page string="Internal Notes" position="inside">
<field name="diario_ids"></field>
</page>
Fin qui tutto bene, funziona a meraviglia.
Adesso vorrei poter inserire lo STESSO oggetto all'interno del form di una Opportunità.
Vorrei poter aggiungere righe al diario del partner direttamente dal form delle opportunità.
Riesco a farlo visualizzare col seguente codice:
def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
values = {}
if partner_id:
partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
partner_name = (partner.parent_id and partner.parent_id.name) or (partner.is_company and partner.name) or False
values = {
...
...
'diario_ids': partner.diario_ids,
}
return {'value': values}
'diario_ids' : fields.one2many('diario', 'partner_id', 'Diario'),
e nella view:
<page string="Internal Notes">
<field name="description"/>
<field name="diario_ids"></field>
</page>
Il problema è che se cerco di aggiungere un nuovo record, mi dà il seguente errore:
ValueError: Wrong value for res.partner.type: 'opportunity'
Odoo8 su ubuntu
Scusate la lunghezza, spero di essere stato chiaro e che qualcuno mi aiuti.
Grazie
Saluti
Marco