[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
155
product_origin_char/README.rst
Normal file
155
product_origin_char/README.rst
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
==================
|
||||
Product Origin Text
|
||||
==================
|
||||
|
||||
..
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:todo
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Beta
|
||||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
|
||||
|badge1| |badge2|
|
||||
|
||||
This module replaces the structured country/state origin fields from ``product_origin``
|
||||
with a flexible free-text field that can be defined per supplier.
|
||||
|
||||
**Problem:**
|
||||
|
||||
The standard ``product_origin`` module provides structured fields (country + state) for
|
||||
product origin. However, suppliers often use creative and varied formats to describe
|
||||
product origin:
|
||||
|
||||
* "Valencia, Spain"
|
||||
* "Huerta de Ana, Aragón"
|
||||
* "Organic Farm - Northern Italy"
|
||||
* "Local producer - Basque Country"
|
||||
* "Fair Trade - Colombia"
|
||||
|
||||
These free-form descriptions don't fit into structured country/state fields.
|
||||
|
||||
**Solution:**
|
||||
|
||||
This module adds a translatable ``origin_text`` field to ``product.supplierinfo`` that:
|
||||
|
||||
* Allows free-form text to describe product origin
|
||||
* Is stored per supplier (different suppliers may have different origin info)
|
||||
* Is translatable (can be described differently in each language)
|
||||
* Is automatically displayed on the product based on the main vendor
|
||||
(from ``product_main_seller`` module)
|
||||
|
||||
**Features:**
|
||||
|
||||
* Free-text ``Origin`` field in supplier info (Purchase tab of product)
|
||||
* Computed ``Origin`` field in product form (shows main vendor's origin)
|
||||
* Field is visible in product list view (optional column)
|
||||
* Full translation support for multiple languages
|
||||
* Compatible with existing supplier management workflows
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
This module depends on:
|
||||
|
||||
* ``product`` - Base product management
|
||||
* ``product_main_seller`` - To determine the main vendor for products
|
||||
|
||||
To install:
|
||||
|
||||
#. Install the required dependencies
|
||||
#. Install this module through the Odoo Apps menu
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
No configuration is needed. The module works automatically after installation.
|
||||
|
||||
The origin text displayed on a product is based on the **main vendor** as determined
|
||||
by ``product_main_seller`` (the first supplier in the vendors list).
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
**To add origin information to a product:**
|
||||
|
||||
#. Go to a product form
|
||||
#. Open the **Purchase** tab
|
||||
#. In the **Vendors** section, select a supplier line
|
||||
#. Fill in the **Origin** field with free-form text describing the origin
|
||||
(e.g., "Valencia, Huerta de..., Spain")
|
||||
#. Save the product
|
||||
|
||||
**To view origin information:**
|
||||
|
||||
* The **Origin** field will be automatically displayed on the product form
|
||||
(below the **Main Vendor** field in the Purchase tab)
|
||||
* The origin shown is from the **main vendor** (first supplier in the list)
|
||||
* You can also add the Origin column to product list views
|
||||
|
||||
**To change the displayed origin:**
|
||||
|
||||
* Reorder the vendors list to change which is the main vendor
|
||||
* The origin text will automatically update to show the new main vendor's origin
|
||||
|
||||
**Multi-language support:**
|
||||
|
||||
* The origin text is translatable
|
||||
* Switch to another language and edit the supplier info to provide a translation
|
||||
* Each language can have a different description of the origin
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `Criptomart GitLab Issues
|
||||
<https://git.criptomart.net/criptomart/addons-cm/issues>`_.
|
||||
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
feedback.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* `Criptomart <https://criptomart.net>`_:
|
||||
|
||||
* Development and implementation
|
||||
|
||||
Financiers
|
||||
----------
|
||||
|
||||
**Development:**
|
||||
|
||||
* `Criptomart <https://criptomart.net>`_
|
||||
|
||||
**Funding:**
|
||||
|
||||
* `Elika Bilbo <https://elikabilbo.eus>`_
|
||||
|
||||
This module was developed by Criptomart with funding from Elika Bilbo.
|
||||
|
||||
Maintainers
|
||||
-----------
|
||||
|
||||
This module is maintained by Criptomart.
|
||||
|
||||
.. image:: https://criptomart.net/logo.png
|
||||
:alt: Criptomart
|
||||
:target: https://criptomart.net
|
||||
|
||||
This module is part of the `addons-cm <https://git.criptomart.net/criptomart/addons-cm>`_ project.
|
||||
Loading…
Add table
Add a link
Reference in a new issue