I have just made an addon that adds a field to the stock.picking.out form.
Here is my code :
from osv import fields,osv
class stock_picking_out2(osv.osv):
_name = "stock.picking.out"
_inherit = "stock.picking.out"
_columns = {
'statut_id2': fields.many2one('sale.statut', 'Statut', required=True),
}
stock_picking_out2()
<record id="view_livraison_move_picking2_form" model="ir.ui.view">
<field name="name">stock.picking.out.form.inherit</field>
<field name="model">stock.picking.out</field>
<field eval="1" name="priority"/>
<field name="inherit_id" ref="stock.view_picking_out_form" />
<field name="arch" type="xml">
<field name="stock_journal_id" position="replace" >
<field name="statut_id2"/>
</field>
</field>
</record>
Everything works perfectly on my local server, but when I install the addon on a remote server I have different errors :
I can't edit the field with the form : when I edit, the changes are not saved.
I got this error when I try to edit a field in another form like "SALE ORDER" form :
Client Traceback (most recent call last): File "/home/openerp7/web/7.0/addons/web/http.py", line 204, in dispatch response["result"] = method(self, *self.params) File "/home/openerp7/web/7.0/addons/web/controllers/main.py", line 1129, in call_kw return self._call_kw(req, model, method, args, kwargs) File "/home/openerp7/web/7.0/addons/web/controllers/main.py", line 1121, in _call_kw return getattr(req.session.model(model), method)(args, **kwargs) File "/home/openerp7/web/7.0/addons/web/session.py", line 43, in proxy result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw) File "/home/openerp7/web/7.0/addons/web/session.py", line 31, in proxy_method result = self.session.send(self.service_name, method, *args) File "/home/openerp7/web/7.0/addons/web/session.py", line 104, in send raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last): File "/home/openerp7/web/7.0/addons/web/session.py", line 90, in send return openerp.netsvc.dispatch_rpc(service_name, method, args) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/netsvc.py", line 289, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/service/web_services.py", line 614, in dispatch res = fn(db, uid, params) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/osv.py", line 169, in execute_kw return self.execute(db, uid, obj, method, *args, *kw or {}) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/osv.py", line 123, in wrapper return f(self, dbname, args, *kwargs) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/osv.py", line 179, in execute res = self.execute_cr(cr, uid, obj, method, args, *kw) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/osv.py", line 166, in execute_cr return getattr(object, method)(cr, uid, args, *kw) File "/home/openerp7/addons/7.0/sale_stock/sale_stock.py", line 67, in write return super(sale_order, self).write(cr, uid, ids, vals, context=context) File "/home/openerp7/addons/7.0/nan_product_pack/pack.py", line 115, in write result = super(sale_order,self).write(cr, uid, ids, vals, context) File "/home/openerp7/addons/7.0/mail/mail_thread.py", line 264, in write result = super(mail_thread, self).write(cr, uid, ids, values, context=context) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/orm.py", line 4272, in write self.pool.get(object)._store_set_values(cr, user, todo, fields_to_recompute, context) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/orm.py", line 4629, in _store_set_values result = self._columns[f].get(cr, self, ids, f, SUPERUSER_ID, context=context) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context) File "/home/openerp7/addons/7.0/sale_order_dates/sale_order_dates.py", line 36, in _get_effective_date dates_list.append(pick.date) File "/usr/local/lib/python2.6/dist-packages/openerp-7.0-py2.6.egg/openerp/osv/orm.py", line 486, in __getattr__ raise AttributeError(e) AttributeError: 'statut_id2'
(The error occurs for any types of fields, I tried to replace by Integer, char, etc... So I don't think that I comes from the relational field !)
I have also tried to change stock.picking.out by stock.picking in the inheritance and it worked, but I can't modify the field I want in the XML code...
The module is very simple but I can't see where my error come from... Do you have any idea to solve it?
Were you able to fix this problem Matt? I am struggling with this one as well.