odooopenerp-7

Is it normal fields are not updated after installing modules?


I'm developping a module on OpenERP 7.

It is a very simple code : it has only 1 new field (or column) in python file, and an xpath in the xml. I know it works because one time it was succesfully installed

When I try to install/update my module with the module interface, sometimes the field is added/updated to OpenERP, but sometimes no.

I tried to start/stop and restart Openerp before and after installing my module, but I don't know if it has consequences. I don't have errors or useful thing in the logs.

So fields don't add/update but xml update everytime... Does anyone have an idea of what's going on and a solution ?

python code:

# -*- coding: utf-8 -*-
from openerp.osv import fields, osv

class StockPickingIn(osv.osv):
    _name = "stock.picking.in"
    _inherit = "stock.picking.in"

    _columns = {
        'adquat_ack_recep': fields.boolean('Accusé de réception'),
    }

xml code:

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>

        <record id="view_picking_in_form_adquat" model="ir.ui.view">
            <field name="name">stock.picking.in.form.adquat</field>
            <field name="model">stock.picking.in</field>
            <field name="inherit_id" ref="stock.view_picking_in_form"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='stock_journal_id']" position="after">
                    <field name="adquat_ack_recep" />
                </xpath>
            </field>
        </record>

        <record id="view_picking_in_tree_adquat" model="ir.ui.view">
            <field name="name">stock.picking.in.tree.adquat</field>
            <field name="model">stock.picking.in</field>
            <field name="inherit_id" ref="stock.view_picking_in_tree"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='state']" position="after">
                    <field name="adquat_ack_recep" />
                </xpath>
            </field>
        </record>

    </data>
</openerp>

I think it works to update fields with Command line -u !

But my other problem is not solved : I dont have empty checkboxes in form view

enter image description here

And in form view i can't have this checkbox checked :

enter image description here I click on edit, i check it and save : the checkbox come back to empty !

I saw in the database the value is saved as true or false, but it's not displayed on the interface


Solution

  • You should see the following error

    ValidateError

    Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

    Because adquat_ack_recep is defined in stock.picking and you add it to stock.picking.in form.

    You need to inherit from stock.picking.in.

    _inherit = "stock.picking.in"
    

    Edit:

    Add adquat_ack_recep field to both models stock.picking and stock.picking.in (stock.picking.in read method was overitten to read values from stock.picking model). Take a look at fields not saving problem