ciao a tutti,
ho incontrato un problema che , nella sua semplicità, ho difficoltà a risolvere.
In pratica:
1) aggiungo un campo di tipo "date" a sale.order tramite il .py:
# -*- encoding: utf-8 -*-
from openerp.osv import osv, fields
class sale_order_validity(osv.osv):
_inherit = 'sale.order'
_columns = {
'date_validity': fields.date('Data scadenza'),
}
2) aggiungo il campo al form del sale order nella view xml come segue:
<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="sale.view_order_form_ovalidity">
<field name="name">sale.order.form.ovalidity</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='date_order']" position="after">
<field name="date_validity"/>
</xpath>
</field>
</record>
</data>
</openerp>
Fin qui tutto bene, roba molto semplice. Il modulo si installa e nel form il campo si comporta correttamente (esiste, salva il contenuto, ecc).
Adesso se provo a fare un update del modulo "base" fallisce. Nel log trovo:
RROR test_mod openerp.osv.orm: Can't find field 'date_validity' in the following view parts composing the view of object model 'sale.order':
* sale.order.form.ovalidity
Either you wrongly customized this view, or some modules bringing those views are not compatible with your current data model
2013-10-11 09:33:12,815 2869 ERROR test_mod openerp.addons.base.ir.ir_ui_view: Can't render view sale.view_order_form for model: sale.order
A questo punto l'unico modo per ripristinare il funzionamento di questo DB è eliminare la riga in ir.ui.view con ID sale.view_order_form_ovalidity (la view qui sopra).
Non capisco quale possa essere il problema, è la prima volta che mi capita un paradosso simile .