Odoo Help
Odoo is the world's easiest all-in-one management software. It includes hundreds of business apps:
CRM
|
e-Commerce
|
Accounting
|
Inventory
|
PoS
|
Project management
|
MRP
|
etc.
problems with custom module that adds loc_rack to product tree view
Hi,
I'm using v7 and I'm creating a custom module to change the product.product.tree view.
I want to add "loc_rack", loc_row", "loc_case" columns to it.
Here is my xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="product_tree_locations">
<field name="name">product.product.tree</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_product_tree_view" />
<field name="arch" type="xml">
<xpath expr="/tree/field[@name='state']" position="before">
<field name="loc_rack" />
<field name="loc_row" />
<field name="loc_case" />
</xpath>
</field>
</record>
</data>
</openerp>
This actually works, but it fails miserably when I want to either upgrade or do a: --update=all
This is the error:
ERROR moduletest openerp.osv.orm: Can't find field 'loc_row' in the following view parts composing the view of object model 'product.product': * product.product.tree
except_osv: ('ValidateError', u'Error occurred while validating the field(s) arch: Invalid XML for View Architecture!')
Is it because the loc_ fields are from product.template ??? In that case, how do i get these on product.product.tree ??
Bole: I get a recursion error on this:
class product_product(orm.Model):
_inherit = 'product.product'
_columns = {
'loc_rack': fields.related('product_tmpl_id','loc_rack',type="char", string="Rack"),
'loc_row': fields.related('product_tmpl_id','loc_row',type="char", string="Row"),
'loc_case': fields.related('product_tmpl_id','loc_case',type="char", string="Case"),
}
product_product()
Should I use 'new_loc_rack': fields.related(... and use <field name="new_loc_rack"/> in the xml ?
The fields are on product_template...
to show them on product.product tree,
just add them to tree view...(nothing in py file! only xml)
(inherit product.product tree view and place fields where you need them)
all this(below) i wrote before is not realy needed...
(excuse me for not thinking before i wrote answer...)
make them fields related, and you can show them easily
Edit on comment:
yes, file product.py,
no,
_inherit = 'product.product'
_columns = {
''loc_row' : fields.related('product_tmpl_id','loc_row', type="char", string='Row')
}
About This Community
This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.
RegisterOdoo Training Center
Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.
Test it nowQuestion tools
Stats
Asked: 1/21/15, 4:47 AM |
Seen: 889 times |
Last updated: 3/16/15, 8:10 AM |
Hi Bole, I'm not too experienced yet with all this, but do you mean that I need to create a product.py file like this: class product_product(orm.Model): _inherit = "product.template" _columns ={ 'loc_row' : fields.char('Row', size=16)
Hi Bole, I actually get a recursion error when I use your code: class product_product(orm.Model): _inherit = 'product.product' _columns = { 'loc_rack': fields.related('product_tmpl_id','loc_rack',type="char", string="Rack"), 'loc_row': fields.related('product_tmpl_id','loc_row',type="char", string="Row"), 'loc_case': fields.related('product_tmpl_id','loc_case',type="char", string="Case"), } product_product()
Well, that's what I had in the first place.. I just had one xml, and no .py where I added them (see the xml in my original post). This installs fine, but gives errors when you do a --update all.