[ADD] product_origin_char: Free text origin field per supplier
New addon to replace structured country/state fields with flexible free-text origin descriptions. Features: - Translatable origin_text field in product.supplierinfo - Computed origin field in products based on main_seller_id - Support for creative supplier origin descriptions - Full OCA documentation structure - ES/EU translations included - 8 unit tests (all passing) Replaces product_origin for use cases where suppliers use non-standardized origin descriptions (e.g., 'Valencia, Spain', 'Huerta de...', etc.) Depends on: product, product_main_seller Author: Criptomart Funding: Elika Bilbo
This commit is contained in:
parent
1a8f92a01e
commit
c8b83cc333
24 changed files with 1071 additions and 0 deletions
31
product_origin_char/views/product_supplierinfo_views.xml
Normal file
31
product_origin_char/views/product_supplierinfo_views.xml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2026 Criptomart
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<!-- Add origin_text field to product.supplierinfo form view -->
|
||||
<record id="product_supplierinfo_form_view_origin_text" model="ir.ui.view">
|
||||
<field name="name">product.supplierinfo.form.origin.text</field>
|
||||
<field name="model">product.supplierinfo</field>
|
||||
<field name="inherit_id" ref="product.product_supplierinfo_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_code" position="after">
|
||||
<field
|
||||
name="origin_text"
|
||||
placeholder="e.g., Valencia, Huerta de..., Spain"
|
||||
/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add origin_text field to supplierinfo tree in product form -->
|
||||
<record id="product_supplierinfo_tree_view_origin_text" model="ir.ui.view">
|
||||
<field name="name">product.supplierinfo.tree.origin.text</field>
|
||||
<field name="model">product.supplierinfo</field>
|
||||
<field name="inherit_id" ref="product.product_supplierinfo_tree_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_code" position="after">
|
||||
<field name="origin_text" optional="show" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
44
product_origin_char/views/product_template_views.xml
Normal file
44
product_origin_char/views/product_template_views.xml
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2026 Criptomart
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<!-- Add origin_text field to product template form view -->
|
||||
<record id="product_template_form_view_origin_text" model="ir.ui.view">
|
||||
<field name="name">product.template.form.origin.text</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<group name="purchase" position="inside">
|
||||
<field
|
||||
name="origin_text"
|
||||
readonly="1"
|
||||
string="Origin (from Main Vendor)"
|
||||
/>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add origin_text field to product product tree view -->
|
||||
<record id="product_product_tree_view_origin_text" model="ir.ui.view">
|
||||
<field name="name">product.product.tree.origin.text</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id" ref="product.product_product_tree_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="default_code" position="after">
|
||||
<field name="origin_text" optional="hide" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add origin_text field to product template tree view -->
|
||||
<record id="product_template_tree_view_origin_text" model="ir.ui.view">
|
||||
<field name="name">product.template.tree.origin.text</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product_main_seller.view_product_template_tree" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="main_seller_id" position="after">
|
||||
<field name="origin_text" optional="hide" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Loading…
Add table
Add a link
Reference in a new issue