This question has been flagged
1 Reply
4493 Views

Hello everyone. i have an issue. 

I want to override "type" field of original product.template model where original is :


type = fields.Selection([
('consu', 'Consumable'),
('service', 'Service')], string='Product Type', default='consu', required=True,
help='A storable product is a product for which you manage stock. The Inventory app has to be installed.\n'
'A consumable product is a product for which stock is not managed.
\n'
'A service is a non-material product you provide.'
)

I override field in my custom module by :

class ProductTemplate(models.Model):
_inherit = 'product.template'

type = fields.Selection([
('project', 'Project')], string='Product Type', default='proje', required=True,
help='Proje,hizmet,ürün')

But still  Consumable  and Service options are seen in list.  I also replaced view using xpath:

<record id="view_product_newcategory" model="ir.ui.view">
<field name="name">view.product.newcategory.sap.form.inherited</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='type']" position="replace">
<field name="type" ref="custome_fields.type"/>
<field name="type"/>
</xpath>
</field>
</record>


However problem isnt solved. How i should override a field entirely ?

Avatar
Discard
Best Answer

Odoo is inheriting the field in other modules like Inventory to add the storable type by using the selection_add so even if you override it it the other options will remain .. I don't know what are you trying to do by removing them but i don't recommend doing that because you will brake other Odoo modules like project and rental the best solution is to hide the type field and make your own selection field.


Happy to help :) an upvote will be awesome

Avatar
Discard