Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
6179 Zobrazení

I'm using odoo v8 and I had create a new module to develop specific feature for my company.

My goal is to add an additional column in product template variant list (only on the display view not when editing or creating attribute) (http://www.files.com/image/58121ec64bf47/print1.png).

This column which contain the unit of measure of attribut was defined on product attribute configuration (http://www.files.com/image/5812239446f0f/print2.png).

I have identified that the field name I need to update is attribute_line_ids, it's right ? 


Avatar
Zrušit
Nejlepší odpověď

First you have to add a field uom_id to product.attribute.line class, and also you have to write a default function to get the value of uom with respect to product template. Also you have to mention the uom_id in tree view inside the product_view.xml .

Avatar
Zrušit
Autor Nejlepší odpověď

I don't want to add uom on product attribute line but on product attribute (because uom is the same for each attribute line). To do that I had already code py file:

# -*- coding: utf-8 -*-
from openerp import models, fields
class ProductAttribute(models.Model):
    _name = 'product.attribute'
    _inherit = 'product.attribute'
    uom_id = fields.Many2one('product.uom', 'Unit of Measure')

and the follow xml code:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
    <!-- Unit of Measure on Attributes Configuration -->
    <record id="attribute_uom_tree_view" model="ir.ui.view">
   <field name="name">product.attribute.tree.type</field>
        <field name="model">product.attribute</field>
        <field name="inherit_id" ref="product.attribute_tree_view"/>
            <field name="arch" type="xml">
            <field name="name" position="after">
                <field name="uom_id"/>
            </field>
        </field>
    </record>
</data>
</openerp>

 Now (in my understand of odoo) I need to find the page which display the table and add the column on tree view.

 

[edit 21 nov]

Finally I have found the solution. Add model relation:

class ProductAttributeLine(models.Model):
    _inherit = 'product.attribute.line' uom_id = fields.Many2one(related='attribute_id.uom_id', string='Unit of Measure', store=False, readonly=True)
 <record id="product_variant_list_view" model="ir.ui.view"> <field name="name">product.template.variant.form</field> <field name="model">product.template</field> <field name="type">form</field>  <field name="inherit_id" ref="product.product_template_only_form_view" />  <field name="arch" type="xml">    <field name="value_ids" position="after">     <field name="uom_id" />   </field> </field> </record>
Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
bře 15
7039
0
bře 15
4118
0
bře 15
3436
0
bře 15
3903
0
čvc 24
1323