From 97187f0ca50387f0e1eb16ba34b5d9a4a14bd8d0 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Thu, 23 Feb 2023 11:15:54 +0100 Subject: [PATCH 01/23] [ADD] stock_lot_is_archived --- .../odoo/addons/stock_lot_is_archived | 1 + setup/stock_lot_is_archived/setup.py | 6 + stock_lot_is_archived/README.rst | 86 ++++ stock_lot_is_archived/__init__.py | 1 + stock_lot_is_archived/__manifest__.py | 18 + stock_lot_is_archived/data/ir_cron.xml | 17 + stock_lot_is_archived/models/__init__.py | 1 + stock_lot_is_archived/models/stock_lot.py | 24 + stock_lot_is_archived/readme/CONTRIBUTORS.rst | 1 + stock_lot_is_archived/readme/DESCRIPTION.rst | 4 + stock_lot_is_archived/readme/USAGE.rst | 5 + stock_lot_is_archived/security/security.xml | 14 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 433 ++++++++++++++++++ stock_lot_is_archived/tests/__init__.py | 1 + .../tests/test_lot_archive.py | 41 ++ stock_lot_is_archived/views/stock_lot.xml | 49 ++ stock_lot_is_archived/wizards/__init__.py | 1 + .../wizards/stock_lot_archive.py | 54 +++ 19 files changed, 757 insertions(+) create mode 120000 setup/stock_lot_is_archived/odoo/addons/stock_lot_is_archived create mode 100644 setup/stock_lot_is_archived/setup.py create mode 100644 stock_lot_is_archived/README.rst create mode 100644 stock_lot_is_archived/__init__.py create mode 100644 stock_lot_is_archived/__manifest__.py create mode 100644 stock_lot_is_archived/data/ir_cron.xml create mode 100644 stock_lot_is_archived/models/__init__.py create mode 100644 stock_lot_is_archived/models/stock_lot.py create mode 100644 stock_lot_is_archived/readme/CONTRIBUTORS.rst create mode 100644 stock_lot_is_archived/readme/DESCRIPTION.rst create mode 100644 stock_lot_is_archived/readme/USAGE.rst create mode 100644 stock_lot_is_archived/security/security.xml create mode 100644 stock_lot_is_archived/static/description/icon.png create mode 100644 stock_lot_is_archived/static/description/index.html create mode 100644 stock_lot_is_archived/tests/__init__.py create mode 100644 stock_lot_is_archived/tests/test_lot_archive.py create mode 100644 stock_lot_is_archived/views/stock_lot.xml create mode 100644 stock_lot_is_archived/wizards/__init__.py create mode 100644 stock_lot_is_archived/wizards/stock_lot_archive.py diff --git a/setup/stock_lot_is_archived/odoo/addons/stock_lot_is_archived b/setup/stock_lot_is_archived/odoo/addons/stock_lot_is_archived new file mode 120000 index 00000000000..2140f7088dd --- /dev/null +++ b/setup/stock_lot_is_archived/odoo/addons/stock_lot_is_archived @@ -0,0 +1 @@ +../../../../stock_lot_is_archived \ No newline at end of file diff --git a/setup/stock_lot_is_archived/setup.py b/setup/stock_lot_is_archived/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/stock_lot_is_archived/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/stock_lot_is_archived/README.rst b/stock_lot_is_archived/README.rst new file mode 100644 index 00000000000..108d20fa12b --- /dev/null +++ b/stock_lot_is_archived/README.rst @@ -0,0 +1,86 @@ +================================ +Stock Production Lot Is Archived +================================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fproduct--attribute-lightgray.png?logo=github + :target: https://github.com/OCA/product-attribute/tree/16.0/stock_production_lot_is_archived + :alt: OCA/product-attribute +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-stock_production_lot_is_archived + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/135/16.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to adds a field on lots that means a product is archived. +This differs from Odoo core 'active' attribute (see `stock_production_lot_active` module). +A cron is also provided to automatically archive lots when there is new one, +based on the expiration date. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +* Create some lots with different expiration dates +* Go To Settings > Technical > Automation > Scheduled Actions +* Run the 'Archive products lots (Is Archived)' one. +* Only one lot with the most recent expiration date should remain with + Is Archived field unticked. + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Denis Roussel + +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/product-attribute `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_lot_is_archived/__init__.py b/stock_lot_is_archived/__init__.py new file mode 100644 index 00000000000..64face17ae8 --- /dev/null +++ b/stock_lot_is_archived/__init__.py @@ -0,0 +1 @@ +from . import models, wizards diff --git a/stock_lot_is_archived/__manifest__.py b/stock_lot_is_archived/__manifest__.py new file mode 100644 index 00000000000..7d08eb80c03 --- /dev/null +++ b/stock_lot_is_archived/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Stock Lot Is Archived", + "summary": """ + This module adds a simple property on Lots that means a lot is archived""", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/product-attribute", + "depends": ["product_expiry", "stock"], + "data": [ + "security/security.xml", + "views/stock_lot.xml", + "data/ir_cron.xml", + ], +} diff --git a/stock_lot_is_archived/data/ir_cron.xml b/stock_lot_is_archived/data/ir_cron.xml new file mode 100644 index 00000000000..227dc645827 --- /dev/null +++ b/stock_lot_is_archived/data/ir_cron.xml @@ -0,0 +1,17 @@ + + + + + Archive product lots (Is Archived) + + + + 1 + days + -1 + + model._archive_lots() + code + + + diff --git a/stock_lot_is_archived/models/__init__.py b/stock_lot_is_archived/models/__init__.py new file mode 100644 index 00000000000..ee1c64fbcd3 --- /dev/null +++ b/stock_lot_is_archived/models/__init__.py @@ -0,0 +1 @@ +from . import stock_lot diff --git a/stock_lot_is_archived/models/stock_lot.py b/stock_lot_is_archived/models/stock_lot.py new file mode 100644 index 00000000000..7553f6a46a5 --- /dev/null +++ b/stock_lot_is_archived/models/stock_lot.py @@ -0,0 +1,24 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class StockLot(models.Model): + + _inherit = "stock.lot" + + is_archived = fields.Boolean( + default=False, + help="Check this if you want to say this lot is archived (not inactive)", + ) + is_archived_editable = fields.Boolean( + compute="_compute_is_archived_editable", + ) + + @api.depends_context("uid") + def _compute_is_archived_editable(self): + if self.user_has_groups("stock.group_stock_manager"): + self.update({"is_archived_editable": True}) + else: + self.update({"is_archived_editable": False}) diff --git a/stock_lot_is_archived/readme/CONTRIBUTORS.rst b/stock_lot_is_archived/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..9179ee4b8fa --- /dev/null +++ b/stock_lot_is_archived/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Denis Roussel diff --git a/stock_lot_is_archived/readme/DESCRIPTION.rst b/stock_lot_is_archived/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..b676acc0949 --- /dev/null +++ b/stock_lot_is_archived/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +This module allows to adds a field on lots that means a product is archived. +This differs from Odoo core 'active' attribute (see `stock_production_lot_active` module). +A cron is also provided to automatically archive lots when there is new one, +based on the expiration date. diff --git a/stock_lot_is_archived/readme/USAGE.rst b/stock_lot_is_archived/readme/USAGE.rst new file mode 100644 index 00000000000..3fdcbc435d4 --- /dev/null +++ b/stock_lot_is_archived/readme/USAGE.rst @@ -0,0 +1,5 @@ +* Create some lots with different expiration dates +* Go To Settings > Technical > Automation > Scheduled Actions +* Run the 'Archive products lots (Is Archived)' one. +* Only one lot with the most recent expiration date should remain with + Is Archived field unticked. diff --git a/stock_lot_is_archived/security/security.xml b/stock_lot_is_archived/security/security.xml new file mode 100644 index 00000000000..5f84de0d435 --- /dev/null +++ b/stock_lot_is_archived/security/security.xml @@ -0,0 +1,14 @@ + + + + + stock.lot.archive Access + + + + + + + + diff --git a/stock_lot_is_archived/static/description/icon.png b/stock_lot_is_archived/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/stock_lot_is_archived/static/description/index.html b/stock_lot_is_archived/static/description/index.html new file mode 100644 index 00000000000..59e9d4a0071 --- /dev/null +++ b/stock_lot_is_archived/static/description/index.html @@ -0,0 +1,433 @@ + + + + + + +Stock Production Lot Is Archived + + + +
+

Stock Production Lot Is Archived

+ + +

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

This module allows to adds a field on lots that means a product is archived. +This differs from Odoo core ‘active’ attribute (see stock_production_lot_active module). +A cron is also provided to automatically archive lots when there is new one, +based on the expiration date.

+

Table of contents

+ +
+

Usage

+
    +
  • Create some lots with different expiration dates
  • +
  • Go To Settings > Technical > Automation > Scheduled Actions
  • +
  • Run the ‘Archive products lots (Is Archived)’ one.
  • +
  • Only one lot with the most recent expiration date should remain with +Is Archived field unticked.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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/product-attribute project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/stock_lot_is_archived/tests/__init__.py b/stock_lot_is_archived/tests/__init__.py new file mode 100644 index 00000000000..f76049c2e07 --- /dev/null +++ b/stock_lot_is_archived/tests/__init__.py @@ -0,0 +1 @@ +from . import test_lot_archive diff --git a/stock_lot_is_archived/tests/test_lot_archive.py b/stock_lot_is_archived/tests/test_lot_archive.py new file mode 100644 index 00000000000..0de1b0b496a --- /dev/null +++ b/stock_lot_is_archived/tests/test_lot_archive.py @@ -0,0 +1,41 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo.tests.common import TransactionCase + + +class TestStockLotArchive(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.product_obj = cls.env["product.product"] + cls.lot_obj = cls.env["stock.lot"] + cls.archive_wizard_obj = cls.env["stock.lot.archive"] + cls.product = cls.product_obj.create({"name": "Product 1", "tracking": "lot"}) + cls.lot = cls.lot_obj.create( + { + "product_id": cls.product.id, + "name": "TEST", + "expiration_date": "2022-06-01", + "company_id": cls.env.company.id, + } + ) + + cls.newer_lot = cls.lot_obj.create( + { + "product_id": cls.product.id, + "name": "TEST 2", + "expiration_date": "2022-07-01", + "company_id": cls.env.company.id, + } + ) + + def test_lot_archive(self): + """ + Check that the archiving method is archiving the + elder lot + """ + self.assertFalse(self.lot.is_archived) + self.assertFalse(self.newer_lot.is_archived) + self.archive_wizard_obj._archive_lots() + self.assertTrue(self.lot.is_archived) + self.assertFalse(self.newer_lot.is_archived) diff --git a/stock_lot_is_archived/views/stock_lot.xml b/stock_lot_is_archived/views/stock_lot.xml new file mode 100644 index 00000000000..c43e77bd5cb --- /dev/null +++ b/stock_lot_is_archived/views/stock_lot.xml @@ -0,0 +1,49 @@ + + + + + + stock.lot.form (in stock_lot_is_archived) + stock.lot + + + + + + + + + + + stock.lot.search (in stock_lot_is_archived) + stock.lot + + + + + + + + + + + stock.lot.tree (in stock_lot_is_archived) + stock.lot + + + + + + + + + diff --git a/stock_lot_is_archived/wizards/__init__.py b/stock_lot_is_archived/wizards/__init__.py new file mode 100644 index 00000000000..64b30e9d80f --- /dev/null +++ b/stock_lot_is_archived/wizards/__init__.py @@ -0,0 +1 @@ +from . import stock_lot_archive diff --git a/stock_lot_is_archived/wizards/stock_lot_archive.py b/stock_lot_is_archived/wizards/stock_lot_archive.py new file mode 100644 index 00000000000..773cc7b9425 --- /dev/null +++ b/stock_lot_is_archived/wizards/stock_lot_archive.py @@ -0,0 +1,54 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import api, models + + +class StockLotArchive(models.TransientModel): + + _name = "stock.lot.archive" + _description = "Stock Lot Archive" + + @api.model + def _archive_lots(self) -> None: + """ + A product can have a lot of lots. To avoid this problem we archive old lot. + Archive a lot has not effect (we don't use the 'active' field). + + We archive a lot if and only if: + - There are no more products in this lot + - There is a new lot (with a higher expiration date) for this product + + :return: + """ + query = """ + SELECT lot.id + FROM stock_lot AS lot + WHERE (lot.is_archived = False OR lot.is_archived IS NULL) + AND EXISTS (SELECT 1 + FROM stock_lot AS next_lot + WHERE next_lot.product_id = lot.product_id + AND next_lot.expiration_date >= lot.expiration_date + AND next_lot.id <> lot.id) + AND NOT EXISTS (SELECT 1 + FROM stock_quant AS quant + JOIN stock_location sl on sl.id = quant.location_id + WHERE quant.lot_id = lot.id AND sl.usage = 'internal' + AND sl.parent_path LIKE ANY(%(location_paths)s) + ); + """ + location_paths = ( + self.env["stock.warehouse"] + .search([]) + .mapped("view_location_id.parent_path") + ) + params = { + "location_paths": [ + "{}%".format(location_path) for location_path in location_paths + ] + } + self.env.cr.execute(query, params) + + result = self.env.cr.fetchall() + lot_to_archive_ids = [lot[0] for lot in result] + + self.env["stock.lot"].browse(lot_to_archive_ids).write({"is_archived": True}) From c35f37cf50f3a1f1291a6bfc38657a3bab041bfc Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Wed, 19 Apr 2023 16:43:38 +0200 Subject: [PATCH 02/23] [IMP] stock_lot_is_archived: Add tests for editable field --- stock_lot_is_archived/tests/test_lot_archive.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/stock_lot_is_archived/tests/test_lot_archive.py b/stock_lot_is_archived/tests/test_lot_archive.py index 0de1b0b496a..a6a3da97f21 100644 --- a/stock_lot_is_archived/tests/test_lot_archive.py +++ b/stock_lot_is_archived/tests/test_lot_archive.py @@ -39,3 +39,16 @@ def test_lot_archive(self): self.archive_wizard_obj._archive_lots() self.assertTrue(self.lot.is_archived) self.assertFalse(self.newer_lot.is_archived) + + def test_lot_archive_editable(self): + """ + With a user which is not stock manager check the editable is False + Then add the the stock manager group, editable should be True + """ + user_demo = self.env.ref("base.user_demo") + lot_demo = self.lot.with_user(user_demo) + user_demo.groups_id -= self.env.ref("stock.group_stock_manager") + self.assertFalse(lot_demo.is_archived_editable) + user_demo.groups_id += self.env.ref("stock.group_stock_manager") + lot_demo = self.lot.with_user(user_demo) + self.assertTrue(lot_demo.is_archived_editable) From 1d0db2b925811d5188a8890da179cf97556f1c38 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Mon, 25 Mar 2024 09:45:23 +0000 Subject: [PATCH 03/23] [IMP] product_cost_security: clarify product cost edit required permissions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As seen in https://github.com/OCA/margin-analysis/pull/198#pullrequestreview-1951828542, a user needs some other group that grants them permissions for editing products, apart from this one that allows them to edit product cost. This might not seem obvious to the user, so it's better to document it. Btw, I renamed the groups to be shorter. Still easy to understand, now that groups are grouped (🥁). @moduon MT-5158 --- product_cost_security/README.rst | 9 +++++- product_cost_security/readme/ROADMAP.rst | 3 ++ .../security/product_cost_security.xml | 4 +-- .../static/description/index.html | 32 ++++++++++++------- 4 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 product_cost_security/readme/ROADMAP.rst diff --git a/product_cost_security/README.rst b/product_cost_security/README.rst index 0ea592a5fb5..e8c4d71d7d7 100644 --- a/product_cost_security/README.rst +++ b/product_cost_security/README.rst @@ -7,7 +7,7 @@ Product Cost Security !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:e0a447c05b96eb98d1209480f72fd5aaa45313571321d852e1d0d0d561d4c775 + !! source digest: sha256:2b214f8d134b9d430e7c9d5714c959c99bfb70cfad7d1a138fad9f3baab5a285 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png @@ -54,6 +54,13 @@ To use this module you need to: #. You will not see the *Cost* field unless you follow the *Configuration* steps and get read permissions. #. You will not be able to edit it unless you are granted write permissions. +Known issues / Roadmap +====================== + +* To edit product costs, apart from having *Product costs / Edit* permission, + you need to have some other permission that lets you edit products, such as + *Sales / Administrator* or *Inventory / Administrator*. + Bug Tracker =========== diff --git a/product_cost_security/readme/ROADMAP.rst b/product_cost_security/readme/ROADMAP.rst new file mode 100644 index 00000000000..2b20ba2b55b --- /dev/null +++ b/product_cost_security/readme/ROADMAP.rst @@ -0,0 +1,3 @@ +* To edit product costs, apart from having *Product costs / Edit* permission, + you need to have some other permission that lets you edit products, such as + *Sales / Administrator* or *Inventory / Administrator*. diff --git a/product_cost_security/security/product_cost_security.xml b/product_cost_security/security/product_cost_security.xml index bbdbc579dab..48d5130de23 100644 --- a/product_cost_security/security/product_cost_security.xml +++ b/product_cost_security/security/product_cost_security.xml @@ -10,7 +10,7 @@ add fields to views with this group defined as field attribute. --> - Access to product costs + Read @@ -18,7 +18,7 @@ Only users within this group can edit costs. --> - Modify product costs + Edit @@ -366,7 +367,7 @@

Product Cost Security

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:e0a447c05b96eb98d1209480f72fd5aaa45313571321d852e1d0d0d561d4c775 +!! source digest: sha256:2b214f8d134b9d430e7c9d5714c959c99bfb70cfad7d1a138fad9f3baab5a285 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Production/Stable License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

It adds two security groups, one for viewing the product cost price, and the other for @@ -376,11 +377,12 @@

Product Cost Security

  • Configuration
  • Usage
  • -
  • Bug Tracker
  • -
  • Credits @@ -403,8 +405,16 @@

    Usage

  • You will not be able to edit it unless you are granted write permissions.
  • +
    +

    Known issues / Roadmap

    +
      +
    • To edit product costs, apart from having Product costs / Edit permission, +you need to have some other permission that lets you edit products, such as +Sales / Administrator or Inventory / Administrator.
    • +
    +
    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub 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 @@ -412,15 +422,15 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Tecnativa
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association

    OCA, or the Odoo Community Association, is a nonprofit organization whose From e235955b028d6d428d8b3f9c06f4cbf2c3982599 Mon Sep 17 00:00:00 2001 From: Olivier Nibart Date: Wed, 3 Apr 2024 11:57:08 +0200 Subject: [PATCH 04/23] [FIX] product_print_category print report name --- product_print_category/i18n/es.po | 2 +- product_print_category/i18n/fr.po | 2 +- product_print_category/i18n/it.po | 2 +- product_print_category/i18n/product_print_category.pot | 2 +- product_print_category/report/ir_actions_report.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/product_print_category/i18n/es.po b/product_print_category/i18n/es.po index f8e90a52a17..c80cbce68c2 100644 --- a/product_print_category/i18n/es.po +++ b/product_print_category/i18n/es.po @@ -277,7 +277,7 @@ msgstr "Productos" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag msgid "Products Labels" -msgstr "Etiquetas de Productos" +msgstr "'Etiquetas de Productos'" #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty diff --git a/product_print_category/i18n/fr.po b/product_print_category/i18n/fr.po index cd2b1c8bf5c..8793712eb89 100644 --- a/product_print_category/i18n/fr.po +++ b/product_print_category/i18n/fr.po @@ -278,7 +278,7 @@ msgstr "Articles" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag msgid "Products Labels" -msgstr "Etiquettes d'articles" +msgstr "'Etiquettes d\'articles'" #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty diff --git a/product_print_category/i18n/it.po b/product_print_category/i18n/it.po index a4275aa64c3..30652a7c8a8 100644 --- a/product_print_category/i18n/it.po +++ b/product_print_category/i18n/it.po @@ -276,7 +276,7 @@ msgstr "Prodotti" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag msgid "Products Labels" -msgstr "Etichette prodotti" +msgstr "'Etichette prodotti'" #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty diff --git a/product_print_category/i18n/product_print_category.pot b/product_print_category/i18n/product_print_category.pot index a2daf903db5..8effb9e9136 100644 --- a/product_print_category/i18n/product_print_category.pot +++ b/product_print_category/i18n/product_print_category.pot @@ -269,7 +269,7 @@ msgstr "" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "Products Labels" +msgid "'Products Labels'" msgstr "" #. module: product_print_category diff --git a/product_print_category/report/ir_actions_report.xml b/product_print_category/report/ir_actions_report.xml index 1398d5dc1cf..5041a7558de 100644 --- a/product_print_category/report/ir_actions_report.xml +++ b/product_print_category/report/ir_actions_report.xml @@ -13,7 +13,7 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). product_print_category.report_pricetag product_print_category.report_pricetag - Products Labels + 'Products Labels' report From 66e40c4bd702f4976d2a484bdd92d24751b8970c Mon Sep 17 00:00:00 2001 From: Olivier Nibart Date: Mon, 8 Apr 2024 09:33:46 +0200 Subject: [PATCH 05/23] [FIX] fix po files --- product_print_category/i18n/es.po | 2 +- product_print_category/i18n/fr.po | 2 +- product_print_category/i18n/it.po | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/product_print_category/i18n/es.po b/product_print_category/i18n/es.po index c80cbce68c2..dd32e3097bb 100644 --- a/product_print_category/i18n/es.po +++ b/product_print_category/i18n/es.po @@ -276,7 +276,7 @@ msgstr "Productos" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "Products Labels" +msgid "'Products Labels'" msgstr "'Etiquetas de Productos'" #. module: product_print_category diff --git a/product_print_category/i18n/fr.po b/product_print_category/i18n/fr.po index 8793712eb89..2548095ba8c 100644 --- a/product_print_category/i18n/fr.po +++ b/product_print_category/i18n/fr.po @@ -277,7 +277,7 @@ msgstr "Articles" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "Products Labels" +msgid "'Products Labels'" msgstr "'Etiquettes d\'articles'" #. module: product_print_category diff --git a/product_print_category/i18n/it.po b/product_print_category/i18n/it.po index 30652a7c8a8..265c0c3449c 100644 --- a/product_print_category/i18n/it.po +++ b/product_print_category/i18n/it.po @@ -275,7 +275,7 @@ msgstr "Prodotti" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "Products Labels" +msgid "'Products Labels'" msgstr "'Etichette prodotti'" #. module: product_print_category From 3c7b69908c91a43a37acc230ce8266bc04bb38fa Mon Sep 17 00:00:00 2001 From: Juan Carlos B Date: Thu, 11 Apr 2024 13:50:52 +0200 Subject: [PATCH 06/23] [FIX] product_pricelist_direct_print: bugfix Blank product_attribute_values on changing show_variants --- product_pricelist_direct_print/README.rst | 6 +++++- product_pricelist_direct_print/readme/CONTRIBUTORS.rst | 4 ++++ .../static/description/index.html | 6 +++++- .../wizards/product_pricelist_print.py | 5 +++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/product_pricelist_direct_print/README.rst b/product_pricelist_direct_print/README.rst index 3c2bd7f7028..641f7db3042 100644 --- a/product_pricelist_direct_print/README.rst +++ b/product_pricelist_direct_print/README.rst @@ -7,7 +7,7 @@ Product Pricelist Direct Print !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:bbbf555a680110a067dd5c0c1ab882d2762a649195f8548a47118cec42144d8f + !! source digest: sha256:02b2fb653bde2ced42f189f9c21cdc2bc6df51c74a2fa1de9203c52e56922647 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -119,6 +119,10 @@ Contributors * Sylvain LE GAL +* `FactorLibre `_: + + * Juan Carlos Bonilla + Maintainers ~~~~~~~~~~~ diff --git a/product_pricelist_direct_print/readme/CONTRIBUTORS.rst b/product_pricelist_direct_print/readme/CONTRIBUTORS.rst index 1c39a8b17c6..326a350fb47 100644 --- a/product_pricelist_direct_print/readme/CONTRIBUTORS.rst +++ b/product_pricelist_direct_print/readme/CONTRIBUTORS.rst @@ -13,3 +13,7 @@ * `GRAP `_: * Sylvain LE GAL + +* `FactorLibre `_: + + * Juan Carlos Bonilla diff --git a/product_pricelist_direct_print/static/description/index.html b/product_pricelist_direct_print/static/description/index.html index 7e828224bb8..dee3379f4f2 100644 --- a/product_pricelist_direct_print/static/description/index.html +++ b/product_pricelist_direct_print/static/description/index.html @@ -367,7 +367,7 @@

    Product Pricelist Direct Print

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:bbbf555a680110a067dd5c0c1ab882d2762a649195f8548a47118cec42144d8f +!! source digest: sha256:02b2fb653bde2ced42f189f9c21cdc2bc6df51c74a2fa1de9203c52e56922647 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

    Print price list from menu option, product templates, products variants or @@ -483,6 +483,10 @@

    Contributors

  • Sylvain LE GAL <https://twitter.com/legalsylvain>
+
  • FactorLibre:
      +
    • Juan Carlos Bonilla
    • +
    +
  • diff --git a/product_pricelist_direct_print/wizards/product_pricelist_print.py b/product_pricelist_direct_print/wizards/product_pricelist_print.py index f739d517d18..1e33cd04df7 100644 --- a/product_pricelist_direct_print/wizards/product_pricelist_print.py +++ b/product_pricelist_direct_print/wizards/product_pricelist_print.py @@ -104,6 +104,11 @@ def _onchange_partner_ids(self): if not self.partner_count: self.last_ordered_products = False + @api.onchange("show_variants") + def _onchange_show_variants(self): + if not self.show_variants: + self.show_attribute_values = False + @api.model def default_get(self, fields): res = super().default_get(fields) From f458615aa22178208d5ac96dad5da4f95d3d8ceb Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 12 Apr 2024 09:20:21 +0000 Subject: [PATCH 07/23] [UPD] Update product_cost_security.pot --- .../i18n/product_cost_security.pot | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/product_cost_security/i18n/product_cost_security.pot b/product_cost_security/i18n/product_cost_security.pot index 4a609898bea..073627a62b7 100644 --- a/product_cost_security/i18n/product_cost_security.pot +++ b/product_cost_security/i18n/product_cost_security.pot @@ -13,17 +13,17 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_cost -msgid "Access to product costs" -msgstr "" - #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,field_description:product_cost_security.field_product_template__standard_price msgid "Cost" msgstr "" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_edit_cost +msgid "Edit" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,help:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,help:product_cost_security.field_product_template__standard_price @@ -34,11 +34,6 @@ msgid "" " Used to compute margins on sale orders." msgstr "" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_edit_cost -msgid "Modify product costs" -msgstr "" - #. module: product_cost_security #: model:ir.model,name:product_cost_security.model_product_template msgid "Product" @@ -59,6 +54,11 @@ msgstr "" msgid "Product costs" msgstr "" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_cost +msgid "Read" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_cost_security_mixin__user_can_update_cost #: model:ir.model.fields,field_description:product_cost_security.field_product_product__user_can_update_cost From a887c5740fb66908baf498256b293e604b244189 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 12 Apr 2024 09:25:55 +0000 Subject: [PATCH 08/23] [BOT] post-merge updates --- README.md | 2 +- product_cost_security/README.rst | 2 +- product_cost_security/__manifest__.py | 2 +- product_cost_security/static/description/index.html | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0f645f071d7..da34457a657 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ addon | version | maintainers | summary [product_category_type](product_category_type/) | 16.0.1.0.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Add Type field on Product Categories to distinguish between parent and final categories [product_code_unique](product_code_unique/) | 16.0.1.0.1 | | Set Product Internal Reference as Unique [product_company_default](product_company_default/) | 16.0.1.0.0 | | Product Company Default -[product_cost_security](product_cost_security/) | 16.0.1.1.0 | [![sergio-teruel](https://github.com/sergio-teruel.png?size=30px)](https://github.com/sergio-teruel) [![rafaelbn](https://github.com/rafaelbn.png?size=30px)](https://github.com/rafaelbn) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Product cost security restriction view +[product_cost_security](product_cost_security/) | 16.0.1.2.0 | [![sergio-teruel](https://github.com/sergio-teruel.png?size=30px)](https://github.com/sergio-teruel) [![rafaelbn](https://github.com/rafaelbn.png?size=30px)](https://github.com/rafaelbn) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Product cost security restriction view [product_country_restriction](product_country_restriction/) | 16.0.1.0.0 | [![rousseldenis](https://github.com/rousseldenis.png?size=30px)](https://github.com/rousseldenis) | Allows to define product restrictions country based [product_dimension](product_dimension/) | 16.0.1.2.0 | | Product Dimension [product_expiry_configurable](product_expiry_configurable/) | 16.0.1.0.0 | | This model allows setting expiry times on category and to use the 'end_of_life' date for the computation of lot dates diff --git a/product_cost_security/README.rst b/product_cost_security/README.rst index e8c4d71d7d7..b1ec91ec53f 100644 --- a/product_cost_security/README.rst +++ b/product_cost_security/README.rst @@ -7,7 +7,7 @@ Product Cost Security !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:2b214f8d134b9d430e7c9d5714c959c99bfb70cfad7d1a138fad9f3baab5a285 + !! source digest: sha256:b742bd17e19a4443630ab59ac73cd70854d0edd253fc71d1b9fd0027b8509be0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png diff --git a/product_cost_security/__manifest__.py b/product_cost_security/__manifest__.py index 203d8ea9b9d..cc070d2c1e7 100644 --- a/product_cost_security/__manifest__.py +++ b/product_cost_security/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Cost Security", "summary": "Product cost security restriction view", - "version": "16.0.1.1.0", + "version": "16.0.1.2.0", "development_status": "Production/Stable", "maintainers": ["sergio-teruel", "rafaelbn", "yajo"], "category": "Product", diff --git a/product_cost_security/static/description/index.html b/product_cost_security/static/description/index.html index 9025a71007f..1eacf307606 100644 --- a/product_cost_security/static/description/index.html +++ b/product_cost_security/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

    Product Cost Security

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:2b214f8d134b9d430e7c9d5714c959c99bfb70cfad7d1a138fad9f3baab5a285 +!! source digest: sha256:b742bd17e19a4443630ab59ac73cd70854d0edd253fc71d1b9fd0027b8509be0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Production/Stable License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

    It adds two security groups, one for viewing the product cost price, and the other for From ccadf78b0a3a6a8b85158cbd1ec795bbf7401d0b Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 12 Apr 2024 09:26:20 +0000 Subject: [PATCH 09/23] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: product-attribute-16.0/product-attribute-16.0-product_cost_security Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_cost_security/ --- product_cost_security/i18n/ar.po | 23 +++++++++++++---------- product_cost_security/i18n/ca.po | 23 +++++++++++++---------- product_cost_security/i18n/es.po | 26 ++++++++++++++++---------- product_cost_security/i18n/it.po | 26 ++++++++++++++++---------- 4 files changed, 58 insertions(+), 40 deletions(-) diff --git a/product_cost_security/i18n/ar.po b/product_cost_security/i18n/ar.po index 66499a74b7f..22d17f6bfcb 100644 --- a/product_cost_security/i18n/ar.po +++ b/product_cost_security/i18n/ar.po @@ -17,17 +17,17 @@ msgstr "" "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Weblate 4.3.2\n" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_cost -msgid "Access to product costs" -msgstr "الاطلاع على تكلفة المنتجات" - #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,field_description:product_cost_security.field_product_template__standard_price msgid "Cost" msgstr "التكلفة" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_edit_cost +msgid "Edit" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,help:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,help:product_cost_security.field_product_template__standard_price @@ -41,11 +41,6 @@ msgid "" " Used to compute margins on sale orders." msgstr "" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_edit_cost -msgid "Modify product costs" -msgstr "" - #. module: product_cost_security #: model:ir.model,name:product_cost_security.model_product_template msgid "Product" @@ -66,6 +61,11 @@ msgstr "" msgid "Product costs" msgstr "" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_cost +msgid "Read" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_cost_security_mixin__user_can_update_cost #: model:ir.model.fields,field_description:product_cost_security.field_product_product__user_can_update_cost @@ -85,6 +85,9 @@ msgid "" "(Operation: %(operation)s)" msgstr "" +#~ msgid "Access to product costs" +#~ msgstr "الاطلاع على تكلفة المنتجات" + #~ msgid "Product Template" #~ msgstr "قالب المنتج" diff --git a/product_cost_security/i18n/ca.po b/product_cost_security/i18n/ca.po index 95d5f10ca16..c64df78ae31 100644 --- a/product_cost_security/i18n/ca.po +++ b/product_cost_security/i18n/ca.po @@ -16,17 +16,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.3.2\n" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_cost -msgid "Access to product costs" -msgstr "Accés als costos del producte" - #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,field_description:product_cost_security.field_product_template__standard_price msgid "Cost" msgstr "Cost" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_edit_cost +msgid "Edit" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,help:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,help:product_cost_security.field_product_template__standard_price @@ -48,11 +48,6 @@ msgstr "" "compra (p. ex., ajust d'inventari).\n" " S'utilitza per calcular els marges de les comandes de venda." -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_edit_cost -msgid "Modify product costs" -msgstr "" - #. module: product_cost_security #: model:ir.model,name:product_cost_security.model_product_template msgid "Product" @@ -73,6 +68,11 @@ msgstr "" msgid "Product costs" msgstr "" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_cost +msgid "Read" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_cost_security_mixin__user_can_update_cost #: model:ir.model.fields,field_description:product_cost_security.field_product_product__user_can_update_cost @@ -92,5 +92,8 @@ msgid "" "(Operation: %(operation)s)" msgstr "" +#~ msgid "Access to product costs" +#~ msgstr "Accés als costos del producte" + #~ msgid "Product Template" #~ msgstr "Plantilla de producte" diff --git a/product_cost_security/i18n/es.po b/product_cost_security/i18n/es.po index 3d5269793b7..436a6404411 100644 --- a/product_cost_security/i18n/es.po +++ b/product_cost_security/i18n/es.po @@ -17,17 +17,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_cost -msgid "Access to product costs" -msgstr "Acceso a ver el coste de productos" - #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,field_description:product_cost_security.field_product_template__standard_price msgid "Cost" msgstr "Coste" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_edit_cost +msgid "Edit" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,help:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,help:product_cost_security.field_product_template__standard_price @@ -48,11 +48,6 @@ msgstr "" "compra (por ejemplo, ajuste de inventario).\n" " Se utiliza para calcular los márgenes de los pedidos de venta." -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_edit_cost -msgid "Modify product costs" -msgstr "Modificar los costes de los productos" - #. module: product_cost_security #: model:ir.model,name:product_cost_security.model_product_template msgid "Product" @@ -73,6 +68,11 @@ msgstr "Mixin de control de acceso al coste del producto" msgid "Product costs" msgstr "Costes del Producto" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_cost +msgid "Read" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_cost_security_mixin__user_can_update_cost #: model:ir.model.fields,field_description:product_cost_security.field_product_product__user_can_update_cost @@ -97,5 +97,11 @@ msgstr "" "\n" "(Operación: %(operation)s)" +#~ msgid "Access to product costs" +#~ msgstr "Acceso a ver el coste de productos" + +#~ msgid "Modify product costs" +#~ msgstr "Modificar los costes de los productos" + #~ msgid "Product Template" #~ msgstr "Plantilla de producto" diff --git a/product_cost_security/i18n/it.po b/product_cost_security/i18n/it.po index 29486bd3b1a..d591501b0eb 100644 --- a/product_cost_security/i18n/it.po +++ b/product_cost_security/i18n/it.po @@ -16,17 +16,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_cost -msgid "Access to product costs" -msgstr "Accesso ai costi prodotto" - #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,field_description:product_cost_security.field_product_template__standard_price msgid "Cost" msgstr "Costo" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_edit_cost +msgid "Edit" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,help:product_cost_security.field_product_product__standard_price #: model:ir.model.fields,help:product_cost_security.field_product_template__standard_price @@ -47,11 +47,6 @@ msgstr "" "è noto (es. rettifiche di inventario).\n" " Utilizzato per calcolare i margini negli ordini di vendita." -#. module: product_cost_security -#: model:res.groups,name:product_cost_security.group_product_edit_cost -msgid "Modify product costs" -msgstr "Modifica costi prodotto" - #. module: product_cost_security #: model:ir.model,name:product_cost_security.model_product_template msgid "Product" @@ -72,6 +67,11 @@ msgstr "Mixin controllo accesso costo prodotto" msgid "Product costs" msgstr "Costi prodotto" +#. module: product_cost_security +#: model:res.groups,name:product_cost_security.group_product_cost +msgid "Read" +msgstr "" + #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_cost_security_mixin__user_can_update_cost #: model:ir.model.fields,field_description:product_cost_security.field_product_product__user_can_update_cost @@ -95,3 +95,9 @@ msgstr "" "sistema.\n" "\n" "(Operazione: %(operation)s)" + +#~ msgid "Access to product costs" +#~ msgstr "Accesso ai costi prodotto" + +#~ msgid "Modify product costs" +#~ msgstr "Modifica costi prodotto" From 8cd313cfd2ac2a343c64b3c8288715f5c4440bfc Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 15 Apr 2024 08:05:47 +0000 Subject: [PATCH 10/23] Translated using Weblate (Italian) Currently translated at 100.0% (10 of 10 strings) Translation: product-attribute-16.0/product-attribute-16.0-product_cost_security Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_cost_security/it/ --- product_cost_security/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/product_cost_security/i18n/it.po b/product_cost_security/i18n/it.po index d591501b0eb..2a3bc1d3e2e 100644 --- a/product_cost_security/i18n/it.po +++ b/product_cost_security/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-03-12 13:33+0000\n" +"PO-Revision-Date: 2024-04-15 10:36+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -25,7 +25,7 @@ msgstr "Costo" #. module: product_cost_security #: model:res.groups,name:product_cost_security.group_product_edit_cost msgid "Edit" -msgstr "" +msgstr "Modifica" #. module: product_cost_security #: model:ir.model.fields,help:product_cost_security.field_product_product__standard_price @@ -70,7 +70,7 @@ msgstr "Costi prodotto" #. module: product_cost_security #: model:res.groups,name:product_cost_security.group_product_cost msgid "Read" -msgstr "" +msgstr "Leggi" #. module: product_cost_security #: model:ir.model.fields,field_description:product_cost_security.field_product_cost_security_mixin__user_can_update_cost From 8525b31a8e19ae1384bfe8b96acbcfee79208024 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 15 Apr 2024 14:03:41 +0000 Subject: [PATCH 11/23] [UPD] Update stock_lot_is_archived.pot --- .../i18n/stock_lot_is_archived.pot | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 stock_lot_is_archived/i18n/stock_lot_is_archived.pot diff --git a/stock_lot_is_archived/i18n/stock_lot_is_archived.pot b/stock_lot_is_archived/i18n/stock_lot_is_archived.pot new file mode 100644 index 00000000000..122a7663ab0 --- /dev/null +++ b/stock_lot_is_archived/i18n/stock_lot_is_archived.pot @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_lot_is_archived +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_lot_is_archived +#: model:ir.actions.server,name:stock_lot_is_archived.ir_cron_archive_lots_ir_actions_server +#: model:ir.cron,cron_name:stock_lot_is_archived.ir_cron_archive_lots +msgid "Archive product lots (Is Archived)" +msgstr "" + +#. module: stock_lot_is_archived +#: model_terms:ir.ui.view,arch_db:stock_lot_is_archived.stock_lot_search_view +msgid "Archived Lots" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,help:stock_lot_is_archived.field_stock_lot__is_archived +msgid "Check this if you want to say this lot is archived (not inactive)" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__create_date +msgid "Created on" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__id +msgid "ID" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot__is_archived +#: model_terms:ir.ui.view,arch_db:stock_lot_is_archived.stock_lot_search_view +msgid "Is Archived" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot__is_archived_editable +msgid "Is Archived Editable" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model,name:stock_lot_is_archived.model_stock_lot +msgid "Lot/Serial" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model,name:stock_lot_is_archived.model_stock_lot_archive +msgid "Stock Lot Archive" +msgstr "" From 4c5b6a9dfb22d67db9a236777fef78ce72f6bb46 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 15 Apr 2024 14:08:03 +0000 Subject: [PATCH 12/23] [BOT] post-merge updates --- README.md | 1 + setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 1 + stock_lot_is_archived/README.rst | 30 ++++++------ .../static/description/index.html | 47 ++++++++++--------- 5 files changed, 43 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index da34457a657..14b70bc5bad 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ addon | version | maintainers | summary [product_uom_use_type](product_uom_use_type/) | 16.0.1.0.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Define UoM for Sale and / or for Purchase purpose [product_variant_attribute_name_manager](product_variant_attribute_name_manager/) | 16.0.1.1.0 | [![JordiMForgeFlow](https://github.com/JordiMForgeFlow.png?size=30px)](https://github.com/JordiMForgeFlow) | Manage how to display the attributes on the product variant name. [sale_product_template_tags](sale_product_template_tags/) | 16.0.1.0.0 | [![ivantodorovich](https://github.com/ivantodorovich.png?size=30px)](https://github.com/ivantodorovich) | Show product tags menu in Sale app +[stock_lot_is_archived](stock_lot_is_archived/) | 16.0.1.0.0 | | This module adds a simple property on Lots that means a lot is archived [stock_production_lot_expired_date](stock_production_lot_expired_date/) | 16.0.1.0.1 | | Stock production lot expired date [uom_category_active](uom_category_active/) | 16.0.1.0.0 | | Add option to archive UoM categories diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index 49d08a1bb4e..cb069c098ee 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -16.0.20240328.0 \ No newline at end of file +16.0.20240415.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index 9d24f87ee96..142b889256b 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -73,6 +73,7 @@ 'odoo-addon-product_uom_use_type>=16.0dev,<16.1dev', 'odoo-addon-product_variant_attribute_name_manager>=16.0dev,<16.1dev', 'odoo-addon-sale_product_template_tags>=16.0dev,<16.1dev', + 'odoo-addon-stock_lot_is_archived>=16.0dev,<16.1dev', 'odoo-addon-stock_production_lot_expired_date>=16.0dev,<16.1dev', 'odoo-addon-uom_category_active>=16.0dev,<16.1dev', ], diff --git a/stock_lot_is_archived/README.rst b/stock_lot_is_archived/README.rst index 108d20fa12b..8621130009e 100644 --- a/stock_lot_is_archived/README.rst +++ b/stock_lot_is_archived/README.rst @@ -1,11 +1,14 @@ -================================ -Stock Production Lot Is Archived -================================ +===================== +Stock Lot Is Archived +===================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:72a90e72146876ecb7171814ec5c45ceac8a6627ff34dd2775ceb553cbf718a9 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,16 +17,16 @@ Stock Production Lot Is Archived :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github - :target: https://github.com/OCA/product-attribute/tree/16.0/stock_production_lot_is_archived + :target: https://github.com/OCA/product-attribute/tree/16.0/stock_lot_is_archived :alt: OCA/product-attribute .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-stock_production_lot_is_archived + :target: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-stock_lot_is_archived :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/16.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module allows to adds a field on lots that means a product is archived. This differs from Odoo core 'active' attribute (see `stock_production_lot_active` module). @@ -43,15 +46,14 @@ Usage * Run the 'Archive products lots (Is Archived)' one. * Only one lot with the most recent expiration date should remain with Is Archived field unticked. - Bug Tracker =========== Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -81,6 +83,6 @@ 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/product-attribute `_ project on GitHub. +This module is part of the `OCA/product-attribute `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_lot_is_archived/static/description/index.html b/stock_lot_is_archived/static/description/index.html index 59e9d4a0071..f121b6a4f67 100644 --- a/stock_lot_is_archived/static/description/index.html +++ b/stock_lot_is_archived/static/description/index.html @@ -1,20 +1,19 @@ - - -Stock Production Lot Is Archived + +Stock Lot Is Archived -

    -

    Stock Production Lot Is Archived

    +
    +

    Stock Lot Is Archived

    -

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

    +

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

    This module allows to adds a field on lots that means a product is archived. This differs from Odoo core ‘active’ attribute (see stock_production_lot_active module). A cron is also provided to automatically archive lots when there is new one, @@ -375,18 +376,18 @@

    Stock Production Lot Is Archived

    Table of contents

    -

    Usage

    +

    Usage

    • Create some lots with different expiration dates
    • Go To Settings > Technical > Automation > Scheduled Actions
    • @@ -396,35 +397,35 @@

      Usage

    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

    +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • ACSONE SA/NV
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association

    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/product-attribute project on GitHub.

    +

    This module is part of the OCA/product-attribute project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    From 69726b16da13bf1b85af6d6b67b7729faf5906f8 Mon Sep 17 00:00:00 2001 From: Olivier Nibart Date: Tue, 16 Apr 2024 12:15:07 +0200 Subject: [PATCH 13/23] [FIX] bug on escape in po file --- product_print_category/i18n/fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_print_category/i18n/fr.po b/product_print_category/i18n/fr.po index 2548095ba8c..e39411e6d0c 100644 --- a/product_print_category/i18n/fr.po +++ b/product_print_category/i18n/fr.po @@ -278,7 +278,7 @@ msgstr "Articles" #. module: product_print_category #: model:ir.actions.report,print_report_name:product_print_category.pricetag msgid "'Products Labels'" -msgstr "'Etiquettes d\'articles'" +msgstr "'Etiquettes d\\'articles'" #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty From e9de25f972bb8531e10e4ef179b7a00e5d62b2e9 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 16 Apr 2024 10:51:53 +0000 Subject: [PATCH 14/23] [UPD] Update product_print_category.pot --- product_print_category/i18n/product_print_category.pot | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/product_print_category/i18n/product_print_category.pot b/product_print_category/i18n/product_print_category.pot index 8effb9e9136..a307c12c1a7 100644 --- a/product_print_category/i18n/product_print_category.pot +++ b/product_print_category/i18n/product_print_category.pot @@ -13,6 +13,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: product_print_category +#: model:ir.actions.report,print_report_name:product_print_category.pricetag +msgid "'Products Labels'" +msgstr "" + #. module: product_print_category #: model_terms:ir.ui.view,arch_db:product_print_category.view_product_print_category_form_2 msgid "Products" @@ -267,11 +272,6 @@ msgstr "" msgid "Products" msgstr "" -#. module: product_print_category -#: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "'Products Labels'" -msgstr "" - #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty msgid "Products To Print" From badad10e9a6fc9f5432adc1acb43042de0d4bf65 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 16 Apr 2024 10:56:11 +0000 Subject: [PATCH 15/23] [BOT] post-merge updates --- README.md | 2 +- product_print_category/README.rst | 2 +- product_print_category/__manifest__.py | 2 +- product_print_category/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 14b70bc5bad..125135abcfb 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ addon | version | maintainers | summary [product_pricelist_simulation](product_pricelist_simulation/) | 16.0.1.0.3 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Simulate the product price for all pricelists [product_pricelist_simulation_margin](product_pricelist_simulation_margin/) | 16.0.1.0.1 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Add margin of product price for all pricelists [product_pricelist_supplierinfo](product_pricelist_supplierinfo/) | 16.0.1.0.1 | [![luisg123v](https://github.com/luisg123v.png?size=30px)](https://github.com/luisg123v) | Allows to create priceslists based on supplier info -[product_print_category](product_print_category/) | 16.0.1.0.3 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Define print categories for products and automate products print, when data has changed +[product_print_category](product_print_category/) | 16.0.1.0.4 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Define print categories for products and automate products print, when data has changed [product_product_template_link](product_product_template_link/) | 16.0.1.0.0 | | Adds a button in product to view the template [product_profile](product_profile/) | 16.0.1.0.0 | [![bealdav](https://github.com/bealdav.png?size=30px)](https://github.com/bealdav) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) [![kevinkhao](https://github.com/kevinkhao.png?size=30px)](https://github.com/kevinkhao) | Allow to configure a product in 1 click [product_route_mto](product_route_mto/) | 16.0.1.0.0 | | This module allows to compute if a product is an 'MTO' one from its configured routes diff --git a/product_print_category/README.rst b/product_print_category/README.rst index f34f08605e4..4d32dca027d 100644 --- a/product_print_category/README.rst +++ b/product_print_category/README.rst @@ -7,7 +7,7 @@ Product - Print Categories !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:1fd187d5a6309c0bbb6666936a38af41cc76f5a59cf94ec6c8e66ab9607b28c3 + !! source digest: sha256:8d48aa7ef074d7b26a9298755ed6ba26c867a42cd95766b91a22de0e07f241ec !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/product_print_category/__manifest__.py b/product_print_category/__manifest__.py index 5252ee0e580..6de73da21e2 100644 --- a/product_print_category/__manifest__.py +++ b/product_print_category/__manifest__.py @@ -9,7 +9,7 @@ "name": "Product - Print Categories", "summary": "Define print categories for products" " and automate products print, when data has changed", - "version": "16.0.1.0.3", + "version": "16.0.1.0.4", "category": "Product", "license": "AGPL-3", "website": "https://github.com/OCA/product-attribute", diff --git a/product_print_category/static/description/index.html b/product_print_category/static/description/index.html index 7eede5896da..826e122b03b 100644 --- a/product_print_category/static/description/index.html +++ b/product_print_category/static/description/index.html @@ -366,7 +366,7 @@

    Product - Print Categories

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:1fd187d5a6309c0bbb6666936a38af41cc76f5a59cf94ec6c8e66ab9607b28c3 +!! source digest: sha256:8d48aa7ef074d7b26a9298755ed6ba26c867a42cd95766b91a22de0e07f241ec !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

    This module is designed to extend product printing features. It allows From 02097fbb8c37f9bdb972f4594d952a1d902824b8 Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 16 Apr 2024 10:58:00 +0000 Subject: [PATCH 16/23] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: product-attribute-16.0/product-attribute-16.0-product_print_category Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_print_category/ --- product_print_category/i18n/es.po | 17 ++++++++--------- product_print_category/i18n/fr.po | 10 +++++----- product_print_category/i18n/it.po | 13 ++++++------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/product_print_category/i18n/es.po b/product_print_category/i18n/es.po index dd32e3097bb..453a3d79a39 100644 --- a/product_print_category/i18n/es.po +++ b/product_print_category/i18n/es.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: product_print_category +#: model:ir.actions.report,print_report_name:product_print_category.pricetag +msgid "'Products Labels'" +msgstr "'Etiquetas de Productos'" + #. module: product_print_category #: model_terms:ir.ui.view,arch_db:product_print_category.view_product_print_category_form_2 msgid "Products" @@ -165,8 +170,8 @@ msgid "" "\n" "- %s" msgstr "" -"Por favor, establezca una categoría de impresión para las siguientes líneas " -"\n" +"Por favor, establezca una categoría de impresión para las siguientes " +"líneas \n" "\n" "- %s" @@ -274,11 +279,6 @@ msgstr "Variante de Producto" msgid "Products" msgstr "Productos" -#. module: product_print_category -#: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "'Products Labels'" -msgstr "'Etiquetas de Productos'" - #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty msgid "Products To Print" @@ -331,7 +331,6 @@ msgstr "Asistente de línea para la impresión de productos" #. module: product_print_category #: model_terms:ir.ui.view,arch_db:product_print_category.view_product_print_wizard_form -msgid "" -"⚠️ If you change Print Category here, it will be changed in the product." +msgid "⚠️ If you change Print Category here, it will be changed in the product." msgstr "" "⚠️ Si cambia la Categoría de Impresión aquí, se cambiará en el producto." diff --git a/product_print_category/i18n/fr.po b/product_print_category/i18n/fr.po index e39411e6d0c..3cc7e145942 100644 --- a/product_print_category/i18n/fr.po +++ b/product_print_category/i18n/fr.po @@ -16,6 +16,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: product_print_category +#: model:ir.actions.report,print_report_name:product_print_category.pricetag +msgid "'Products Labels'" +msgstr "'Etiquettes d\\'articles'" + #. module: product_print_category #: model_terms:ir.ui.view,arch_db:product_print_category.view_product_print_category_form_2 msgid "Products" @@ -275,11 +280,6 @@ msgstr "Variante de produit" msgid "Products" msgstr "Articles" -#. module: product_print_category -#: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "'Products Labels'" -msgstr "'Etiquettes d\\'articles'" - #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty msgid "Products To Print" diff --git a/product_print_category/i18n/it.po b/product_print_category/i18n/it.po index 265c0c3449c..dc888c2c7a5 100644 --- a/product_print_category/i18n/it.po +++ b/product_print_category/i18n/it.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: product_print_category +#: model:ir.actions.report,print_report_name:product_print_category.pricetag +msgid "'Products Labels'" +msgstr "'Etichette prodotti'" + #. module: product_print_category #: model_terms:ir.ui.view,arch_db:product_print_category.view_product_print_category_form_2 msgid "Products" @@ -273,11 +278,6 @@ msgstr "Variante prodotto" msgid "Products" msgstr "Prodotti" -#. module: product_print_category -#: model:ir.actions.report,print_report_name:product_print_category.pricetag -msgid "'Products Labels'" -msgstr "'Etichette prodotti'" - #. module: product_print_category #: model:ir.model.fields,field_description:product_print_category.field_product_print_category__product_to_print_qty msgid "Products To Print" @@ -330,6 +330,5 @@ msgstr "Riga procedura guidata per stampare prodotti" #. module: product_print_category #: model_terms:ir.ui.view,arch_db:product_print_category.view_product_print_wizard_form -msgid "" -"⚠️ If you change Print Category here, it will be changed in the product." +msgid "⚠️ If you change Print Category here, it will be changed in the product." msgstr "⚠️ Se si cambia qui la categoria stampa, verrà cambiata nel prodotto." From 9bbf6ce10b102799332b78cd86683bf616cf3c3d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 16 Apr 2024 13:12:49 +0000 Subject: [PATCH 17/23] [BOT] post-merge updates --- README.md | 2 +- product_pricelist_direct_print/README.rst | 2 +- product_pricelist_direct_print/__manifest__.py | 2 +- product_pricelist_direct_print/static/description/index.html | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 125135abcfb..fb45c31e016 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ addon | version | maintainers | summary [product_packaging_level_purchasable](product_packaging_level_purchasable/) | 16.0.1.1.0 | | Control purchase of products via packaging settings. [product_packaging_level_salable](product_packaging_level_salable/) | 16.0.1.0.0 | | Product Packaging level salable [product_pricelist_alternative](product_pricelist_alternative/) | 16.0.1.0.0 | | Calculate product price based on alternative pricelists -[product_pricelist_direct_print](product_pricelist_direct_print/) | 16.0.1.0.2 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Print price list from menu option, product templates, products variants or price lists +[product_pricelist_direct_print](product_pricelist_direct_print/) | 16.0.1.0.3 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Print price list from menu option, product templates, products variants or price lists [product_pricelist_direct_print_company_group](product_pricelist_direct_print_company_group/) | 16.0.1.0.0 | | Print Pricelist items using the company group model [product_pricelist_direct_print_website_sale](product_pricelist_direct_print_website_sale/) | 16.0.1.0.0 | [![CarlosRoca13](https://github.com/CarlosRoca13.png?size=30px)](https://github.com/CarlosRoca13) | Extend Product Pricelist Direct Print for filter by public categories [product_pricelist_direct_print_xlsx](product_pricelist_direct_print_xlsx/) | 16.0.1.0.0 | | Print price list in XLSX format diff --git a/product_pricelist_direct_print/README.rst b/product_pricelist_direct_print/README.rst index 641f7db3042..365b6483c86 100644 --- a/product_pricelist_direct_print/README.rst +++ b/product_pricelist_direct_print/README.rst @@ -7,7 +7,7 @@ Product Pricelist Direct Print !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:02b2fb653bde2ced42f189f9c21cdc2bc6df51c74a2fa1de9203c52e56922647 + !! source digest: sha256:7c541a981d7a3e57b39cacbdf90566ce40d514e66bcd410d42291a3105c172dd !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/product_pricelist_direct_print/__manifest__.py b/product_pricelist_direct_print/__manifest__.py index 0e056683b11..6711203f2e6 100644 --- a/product_pricelist_direct_print/__manifest__.py +++ b/product_pricelist_direct_print/__manifest__.py @@ -5,7 +5,7 @@ "name": "Product Pricelist Direct Print", "summary": "Print price list from menu option, product templates, " "products variants or price lists", - "version": "16.0.1.0.2", + "version": "16.0.1.0.3", "category": "Product", "website": "https://github.com/OCA/product-attribute", "author": "Tecnativa, GRAP, Odoo Community Association (OCA)", diff --git a/product_pricelist_direct_print/static/description/index.html b/product_pricelist_direct_print/static/description/index.html index dee3379f4f2..5b724465a29 100644 --- a/product_pricelist_direct_print/static/description/index.html +++ b/product_pricelist_direct_print/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

    Product Pricelist Direct Print

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:02b2fb653bde2ced42f189f9c21cdc2bc6df51c74a2fa1de9203c52e56922647 +!! source digest: sha256:7c541a981d7a3e57b39cacbdf90566ce40d514e66bcd410d42291a3105c172dd !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

    Print price list from menu option, product templates, products variants or From 4a897046ae912beccfcbb371be69f1c0296ba0dd Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 19 Apr 2024 09:26:14 +0000 Subject: [PATCH 18/23] Added translation using Weblate (Italian) --- stock_lot_is_archived/i18n/it.po | 87 ++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 stock_lot_is_archived/i18n/it.po diff --git a/stock_lot_is_archived/i18n/it.po b/stock_lot_is_archived/i18n/it.po new file mode 100644 index 00000000000..8aa76fdc7a8 --- /dev/null +++ b/stock_lot_is_archived/i18n/it.po @@ -0,0 +1,87 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_lot_is_archived +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: stock_lot_is_archived +#: model:ir.actions.server,name:stock_lot_is_archived.ir_cron_archive_lots_ir_actions_server +#: model:ir.cron,cron_name:stock_lot_is_archived.ir_cron_archive_lots +msgid "Archive product lots (Is Archived)" +msgstr "" + +#. module: stock_lot_is_archived +#: model_terms:ir.ui.view,arch_db:stock_lot_is_archived.stock_lot_search_view +msgid "Archived Lots" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,help:stock_lot_is_archived.field_stock_lot__is_archived +msgid "Check this if you want to say this lot is archived (not inactive)" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__create_date +msgid "Created on" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__id +msgid "ID" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot__is_archived +#: model_terms:ir.ui.view,arch_db:stock_lot_is_archived.stock_lot_search_view +msgid "Is Archived" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot__is_archived_editable +msgid "Is Archived Editable" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model,name:stock_lot_is_archived.model_stock_lot +msgid "Lot/Serial" +msgstr "" + +#. module: stock_lot_is_archived +#: model:ir.model,name:stock_lot_is_archived.model_stock_lot_archive +msgid "Stock Lot Archive" +msgstr "" From 1e7c1340faac68ab0c83918d964827b7153e7c38 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 19 Apr 2024 12:06:04 +0000 Subject: [PATCH 19/23] Translated using Weblate (Italian) Currently translated at 100.0% (14 of 14 strings) Translation: product-attribute-16.0/product-attribute-16.0-stock_lot_is_archived Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-stock_lot_is_archived/it/ --- stock_lot_is_archived/i18n/it.po | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/stock_lot_is_archived/i18n/it.po b/stock_lot_is_archived/i18n/it.po index 8aa76fdc7a8..e653605fdb3 100644 --- a/stock_lot_is_archived/i18n/it.po +++ b/stock_lot_is_archived/i18n/it.po @@ -6,82 +6,86 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-19 14:34+0000\n" +"Last-Translator: mymage \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: stock_lot_is_archived #: model:ir.actions.server,name:stock_lot_is_archived.ir_cron_archive_lots_ir_actions_server #: model:ir.cron,cron_name:stock_lot_is_archived.ir_cron_archive_lots msgid "Archive product lots (Is Archived)" -msgstr "" +msgstr "Archivia lotti prodotto (è archiviato)" #. module: stock_lot_is_archived #: model_terms:ir.ui.view,arch_db:stock_lot_is_archived.stock_lot_search_view msgid "Archived Lots" -msgstr "" +msgstr "Lotti archiviati" #. module: stock_lot_is_archived #: model:ir.model.fields,help:stock_lot_is_archived.field_stock_lot__is_archived msgid "Check this if you want to say this lot is archived (not inactive)" msgstr "" +"Selezionare questa opzione se si vuole indicare che il lotto è archiviato (" +"non inattivo)" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__create_uid msgid "Created by" -msgstr "" +msgstr "Creato da" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__create_date msgid "Created on" -msgstr "" +msgstr "Creato il" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__id msgid "ID" -msgstr "" +msgstr "ID" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot__is_archived #: model_terms:ir.ui.view,arch_db:stock_lot_is_archived.stock_lot_search_view msgid "Is Archived" -msgstr "" +msgstr "È archiviato" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot__is_archived_editable msgid "Is Archived Editable" -msgstr "" +msgstr "È archiviato modificabile" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Ultimo aggiornamento di" #. module: stock_lot_is_archived #: model:ir.model.fields,field_description:stock_lot_is_archived.field_stock_lot_archive__write_date msgid "Last Updated on" -msgstr "" +msgstr "Ultimo aggiornamento il" #. module: stock_lot_is_archived #: model:ir.model,name:stock_lot_is_archived.model_stock_lot msgid "Lot/Serial" -msgstr "" +msgstr "Lotto/seriale" #. module: stock_lot_is_archived #: model:ir.model,name:stock_lot_is_archived.model_stock_lot_archive msgid "Stock Lot Archive" -msgstr "" +msgstr "Archivio lotto magazzino" From ecd4487a49f2c9da0fe8a2f04edd235e7115b758 Mon Sep 17 00:00:00 2001 From: Samuel Macias Oropeza Date: Tue, 23 Apr 2024 22:15:53 +0000 Subject: [PATCH 20/23] Added translation using Weblate (Spanish) --- product_category_hr_department/i18n/es.po | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 product_category_hr_department/i18n/es.po diff --git a/product_category_hr_department/i18n/es.po b/product_category_hr_department/i18n/es.po new file mode 100644 index 00000000000..23dceeb6342 --- /dev/null +++ b/product_category_hr_department/i18n/es.po @@ -0,0 +1,25 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_category_hr_department +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: product_category_hr_department +#: model:ir.model.fields,field_description:product_category_hr_department.field_product_category__hr_department_id +msgid "Department" +msgstr "" + +#. module: product_category_hr_department +#: model:ir.model,name:product_category_hr_department.model_product_category +msgid "Product Category" +msgstr "" From c7254850331dc1b56ff349b9381ef4a1d0f3d6e4 Mon Sep 17 00:00:00 2001 From: Samuel Macias Oropeza Date: Tue, 23 Apr 2024 22:16:37 +0000 Subject: [PATCH 21/23] Translated using Weblate (Spanish) Currently translated at 100.0% (2 of 2 strings) Translation: product-attribute-16.0/product-attribute-16.0-product_category_hr_department Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_category_hr_department/es/ --- product_category_hr_department/i18n/es.po | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/product_category_hr_department/i18n/es.po b/product_category_hr_department/i18n/es.po index 23dceeb6342..6ada8d10acb 100644 --- a/product_category_hr_department/i18n/es.po +++ b/product_category_hr_department/i18n/es.po @@ -6,20 +6,22 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-24 01:18+0000\n" +"Last-Translator: Samuel Macias Oropeza \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_category_hr_department #: model:ir.model.fields,field_description:product_category_hr_department.field_product_category__hr_department_id msgid "Department" -msgstr "" +msgstr "Departmento" #. module: product_category_hr_department #: model:ir.model,name:product_category_hr_department.model_product_category msgid "Product Category" -msgstr "" +msgstr "Categoría de producto" From 71655309f77c2678738fff98d65192bbc50bf7fc Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 29 Apr 2024 14:47:16 +0000 Subject: [PATCH 22/23] Translated using Weblate (Italian) Currently translated at 100.0% (13 of 13 strings) Translation: product-attribute-16.0/product-attribute-16.0-product_attribute_value_menu Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_attribute_value_menu/it/ --- product_attribute_value_menu/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/product_attribute_value_menu/i18n/it.po b/product_attribute_value_menu/i18n/it.po index 4247771d8a7..46ad3ecdceb 100644 --- a/product_attribute_value_menu/i18n/it.po +++ b/product_attribute_value_menu/i18n/it.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-12-14 12:38+0000\n" -"Last-Translator: Francesco Foresti \n" +"PO-Revision-Date: 2024-04-29 17:37+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" @@ -77,7 +77,7 @@ msgstr "Prodotto" #. module: product_attribute_value_menu #: model_terms:ir.ui.view,arch_db:product_attribute_value_menu.pt_attribute_value_inherit_view_form msgid "Product Attribute" -msgstr "Attributo Prodotto" +msgstr "Attributo prodotto" #. module: product_attribute_value_menu #: model_terms:ir.ui.view,arch_db:product_attribute_value_menu.product_attribute_value_tree_view From 43e1c0e90e7c0ee987d0ea8ec61777252d43ae27 Mon Sep 17 00:00:00 2001 From: oca-git-bot Date: Wed, 1 May 2024 17:05:03 +0000 Subject: [PATCH 23/23] [IMP] update dotfiles --- .copier-answers.yml | 5 ++++- .github/workflows/stale.yml | 4 ++-- .github/workflows/test.yml | 4 +++- .gitignore | 1 + .pre-commit-config.yaml | 7 ++++++- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index efdf839d330..08bf23d3427 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,7 +1,8 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.17.2 +_commit: v1.21.1 _src_path: gh:oca/oca-addons-repo-template ci: GitHub +convert_readme_fragments_to_markdown: false generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -20,4 +21,6 @@ repo_description: 'TODO: add repo description.' repo_name: product-attribute repo_slug: product-attribute repo_website: https://github.com/OCA/product-attribute +use_pyproject_toml: false +use_ruff: false diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 1693a1253bd..fa17fcd4e85 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Stale PRs and issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # General settings. @@ -48,7 +48,7 @@ jobs: # * Issues that are pending more information # * Except Issues marked as "no stale" - name: Needs more information stale issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} ascending: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d11445181c9..9441127ee65 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,7 +75,9 @@ jobs: run: oca_init_test_database - name: Run tests run: oca_run_tests - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} - name: Update .pot files run: oca_export_and_push_pot https://x-access-token:${{ secrets.GIT_PUSH_TOKEN }}@github.com/${{ github.repository }} if: ${{ matrix.makepot == 'true' && github.event_name == 'push' && github.repository_owner == 'OCA' }} diff --git a/.gitignore b/.gitignore index 9c283fd41f6..0090721f5d2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9f613c534e1..1c8bb0a36cd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,10 @@ exclude: | ^docs/_templates/.*\.html$| # Don't bother non-technical authors with formatting issues in docs readme/.*\.(rst|md)$| + # Ignore build and dist directories in addons + /build/|/dist/| + # Ignore test files in addons + /tests/samples/.*| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -35,7 +39,7 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 969238e47c07d0c40573acff81d170f63245d738 + rev: 9a170331575a265c092ee6b24b845ec508e8ef75 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -48,6 +52,7 @@ repos: - --org-name=OCA - --repo-name=product-attribute - --if-source-changed + - --keep-source-digest - repo: https://github.com/OCA/odoo-pre-commit-hooks rev: v0.0.25 hooks: