Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] product_supplierinfo_group_intercompany #610

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8ce211e
[ADD] product_supplierinfo_group_intercompany
kevinkhao Feb 16, 2022
55e6e73
[FIX] Add condition for one supplierinfo group per pricelist
kevinkhao Feb 21, 2022
b4acd70
[FIX] add migration hook if dependencies were used before
kevinkhao Feb 22, 2022
f79aa17
[REF] refactor the code to make it simplier
sebastienbeau Mar 12, 2022
6de0c09
[IMP] improve UI feedback by applying resequence in onchange
sebastienbeau Mar 28, 2022
fc6ee63
[IMP] rename module product_supplier_intercompany to product_supplier…
sebastienbeau Mar 28, 2022
f6d0f64
product_supplierinfo_group_intercompany: resolve issue with onchange …
sebastienbeau May 2, 2022
f4a33f8
[UPD] Update product_supplierinfo_group_intercompany.pot
Jul 9, 2022
0c0400c
[UPD] README.rst
OCA-git-bot Jul 9, 2022
d96f942
product_supplierinfo_group_intercompany 14.0.1.0.1
OCA-git-bot Jul 9, 2022
77ddc28
Added translation using Weblate (Italian)
francesco-ooops Oct 18, 2022
8c4247c
Translated using Weblate (Italian)
francesco-ooops Oct 18, 2022
48d9191
Translated using Weblate (Italian)
SicurSam Oct 19, 2022
c092e3c
Translated using Weblate (Italian)
francesco-ooops Oct 19, 2022
ba6b996
product_supplierinfo_group_intercompany: fix broken update of supplie…
sebastienbeau Nov 24, 2022
8ad7740
Translated using Weblate (Italian)
francesco-ooops Jan 2, 2023
9b7735e
[UPD] Update product_supplierinfo_group_intercompany.pot
Jan 16, 2023
fcca257
product_supplierinfo_group_intercompany 14.0.1.1.1
OCA-git-bot Jan 16, 2023
95f6805
Update translation files
weblate Jan 16, 2023
00e5cdf
product_supplierinfo_group_intercompany: fix write on multiple records
sebastienbeau Feb 6, 2023
4a0e106
Translated using Weblate (Italian)
francesco-ooops Mar 20, 2023
0f7f90c
product_supplierinfo_group_intercompany 14.0.1.1.2
OCA-git-bot May 14, 2023
fea60b9
Translated using Weblate (Italian)
francesco-ooops May 18, 2023
675f874
Translated using Weblate (Italian)
mymage Jun 7, 2023
e2aa7b1
[UPD] README.rst
OCA-git-bot Sep 3, 2023
1b3d550
[FIX] *: oca-checks-odoo-module and pylint
MiquelRForgeFlow Sep 20, 2023
493b6e0
[BOT] post-merge updates
OCA-git-bot Oct 3, 2023
589bbf0
Translated using Weblate (Italian)
mymage Nov 2, 2023
0c12515
Added translation using Weblate (Spanish)
Ivorra78 Nov 29, 2023
a987f7f
Translated using Weblate (Spanish)
Ivorra78 Nov 29, 2023
3c29c63
[IMP] product_supplierinfo_group_intercompany: black, isort, prettier
Kev-Roche Apr 8, 2024
8772f8a
[MIG] product_supplierinfo_group_intercompany: Migration to 16.0
Kev-Roche Apr 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions product_supplierinfo_group_intercompany/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
================================================
Product Supplierinfo Group Intercompany Sequence
================================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:f784fa5868b5b8de9323d8b1bca984876b83007d5c19d6d17807fbbc3ef9c215
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmulti--company-lightgray.png?logo=github
:target: https://github.com/OCA/multi-company/tree/16.0/product_supplierinfo_group_intercompany
:alt: OCA/multi-company
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/multi-company-16-0/multi-company-16-0-product_supplierinfo_group_intercompany
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/multi-company&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Glue module for product_supplierinfo_group and purchase_supplier_intercompany.
Allows easy reordering of supplierinfo groups (supplier price lists) and restricts
edition of these groups if they were automatically generated from an intercompany pricelist.

**Table of contents**

.. contents::
:local:

Usage
=====

Set a negative sequence for your intercompany pricelist(s).
When reordering supplierinfo groups, the ones generated from an
intercompany pricelist will always be show first.

Known issues / Roadmap
======================

* Related to product_supplierinfo_group:
support multiple prices for a product (depending on quantities, like in pricelists)

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/multi-company/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 <https://github.com/OCA/multi-company/issues/new?body=module:%20product_supplierinfo_group_intercompany%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Akretion

Contributors
~~~~~~~~~~~~

* Kevin Khao <[email protected]>
* Sébastien Beau <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/multi-company <https://github.com/OCA/multi-company/tree/16.0/product_supplierinfo_group_intercompany>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
5 changes: 5 additions & 0 deletions product_supplierinfo_group_intercompany/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright 2022 Akretion France (http://www.akretion.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
from .hook import post_init_hook
21 changes: 21 additions & 0 deletions product_supplierinfo_group_intercompany/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2022 Akretion
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Product Supplierinfo Group Intercompany Sequence",
"summary": """
Add sequence field on grouped pricelist items""",
"version": "16.0.1.0.0",
"license": "AGPL-3",
"author": "Akretion,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/multi-company",
"depends": ["product_supplierinfo_intercompany", "product_supplierinfo_group"],
"data": [
"security/ir_rule.xml",
"views/product_supplierinfo_group.xml",
"views/product_pricelist.xml",
],
"demo": [],
"post_init_hook": "post_init_hook",
"auto_install": True,
}
35 changes: 35 additions & 0 deletions product_supplierinfo_group_intercompany/hook.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2022 Akretion France (http://www.akretion.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from odoo import SUPERUSER_ID, api


def post_init_hook(cr, registry):
"""
if the modules:
* product_supplierinfo_group
* product_supplierinfo_intercompany
were used independently before installing this module,
we need to ensure supplierinfo groups are split by pricelist
"""
env = api.Environment(cr, SUPERUSER_ID, {"automatic_intercompany_sync": True})
matching_keys = env["product.supplierinfo"]._fields_for_group_match().keys()

supplierinfos = env["product.supplierinfo"].search(
[("intercompany_pricelist_id", "!=", False)]
)
for group in supplierinfos.group_id:
pricelists = group.supplierinfo_ids.intercompany_pricelist_id
if len(pricelists) == 1:
group.intercompany_pricelist_id = pricelists
else:
group.intercompany_pricelist_id = pricelists[0]
for item in group.supplierinfo_ids:
vals = {
key: item._fields[key].convert_to_cache(item[key], item)
for key in matching_keys
}
new_group = env["product.supplierinfo"]._get_or_create_group(vals)
if new_group != group:
item.group_id = new_group
group._sync_sequence()
95 changes: 95 additions & 0 deletions product_supplierinfo_group_intercompany/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_supplierinfo_group_intercompany
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-11-29 20:33+0000\n"
"Last-Translator: Ivorra78 <[email protected]>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_intercompany_supplier_mixin__display_name
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__display_name
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo__display_name
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,help:product_supplierinfo_group_intercompany.field_product_pricelist__supplier_sequence
msgid ""
"Force the supplier sequence, use a negative value if you want to have this "
"supplier in first position, use a big positif value if you want to be the "
"last"
msgstr ""
"Fuerce la secuencia del proveedor, use un valor negativo si quiere tener "
"este proveedor en la primera posición, use un valor positivo grande si "
"quiere ser el último"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_intercompany_supplier_mixin__id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo__id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group__id
msgid "ID"
msgstr "ID"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo__intercompany_pricelist_id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group__intercompany_pricelist_id
msgid "Intercompany Pricelist"
msgstr "Lista de Precios Intercompañía"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_intercompany_supplier_mixin
msgid "Intercompany product mixin"
msgstr "Combinación de productos entre compañías"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_intercompany_supplier_mixin____last_update
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist____last_update
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo____last_update
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group____last_update
msgid "Last Modified on"
msgstr "Última Modificación el"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_pricelist
msgid "Pricelist"
msgstr "Lista de Precios"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.constraint,message:product_supplierinfo_group_intercompany.constraint_product_supplierinfo_group_intercopany_pricelist_uniq
msgid "Product can have only one group per intercompany pricelist"
msgstr ""
"El producto solo puede tener un grupo por lista de precios de empresas "
"vinculadas"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__supplier_group_ids
msgid "Supplier Group"
msgstr "Grupo de proveedores"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_supplierinfo
msgid "Supplier Pricelist"
msgstr "Lista de precios de Proveedor"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__supplier_sequence
msgid "Supplier Sequence"
msgstr "Secuencia de Proveedores"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_supplierinfo_group
msgid "Supplierinfo group"
msgstr "Grupo de información del proveedor"
94 changes: 94 additions & 0 deletions product_supplierinfo_group_intercompany/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_supplierinfo_group_intercompany
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-11-02 09:38+0000\n"
"Last-Translator: mymage <[email protected]>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_intercompany_supplier_mixin__display_name
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__display_name
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo__display_name
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group__display_name
msgid "Display Name"
msgstr "Nome visualizzato"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,help:product_supplierinfo_group_intercompany.field_product_pricelist__supplier_sequence
msgid ""
"Force the supplier sequence, use a negative value if you want to have this "
"supplier in first position, use a big positif value if you want to be the "
"last"
msgstr ""
"Forza la sequenza dei fornitori, usa un valore negativo se vuoi avere questo "
"fornitore in prima posizione, usa un valore positivo molto alto se vuoi che "
"si trovi in ultima"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_intercompany_supplier_mixin__id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo__id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group__id
msgid "ID"
msgstr "ID"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo__intercompany_pricelist_id
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group__intercompany_pricelist_id
msgid "Intercompany Pricelist"
msgstr "Listino Prezzi Interaziendale"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_intercompany_supplier_mixin
msgid "Intercompany product mixin"
msgstr "Mixin prodotto interaziendale"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_intercompany_supplier_mixin____last_update
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist____last_update
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo____last_update
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_supplierinfo_group____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_pricelist
msgid "Pricelist"
msgstr "Listino prezzi"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.constraint,message:product_supplierinfo_group_intercompany.constraint_product_supplierinfo_group_intercopany_pricelist_uniq
msgid "Product can have only one group per intercompany pricelist"
msgstr ""
"I prodotti possono avere solo un gruppo per listino prezzi interaziendale"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__supplier_group_ids
msgid "Supplier Group"
msgstr "Gruppo fornitore"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_supplierinfo
msgid "Supplier Pricelist"
msgstr "Listino prezzi fornitore"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model.fields,field_description:product_supplierinfo_group_intercompany.field_product_pricelist__supplier_sequence
msgid "Supplier Sequence"
msgstr "Sequenza fornitore"

#. module: product_supplierinfo_group_intercompany
#: model:ir.model,name:product_supplierinfo_group_intercompany.model_product_supplierinfo_group
msgid "Supplierinfo group"
msgstr "Gruppo informazioni fornitore"
Loading
Loading