Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[17.0][ADD] product_total_weight: New module product_weight #1799

Open
wants to merge 1 commit into
base: 17.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions product_total_weight/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
====================
Product Total Weight
====================

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

.. |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/17.0/product_total_weight
: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-17-0/product-attribute-17-0-product_total_weight
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=17.0
:alt: Try me on Runboat

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

This module adds a field in different views associated to product to see
how many kilograms (or pounds) are depending of the weight field thats
appears on inventory tab of product form.

**Table of contents**

.. contents::
:local:

Usage
=====

To see this new field is available in that views:

- Go to Inventory > Products. You will see in kanban view and tree view
the new field
- Go to Inventory > Reporting > Stock.
- Go to Inventory > Reporting > Locations. You need to activate the
Storage locations to see that
- Go to Inventory > Reporting > Moves History.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-attribute/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/product-attribute/issues/new?body=module:%20product_total_weight%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Antoni Marroig
* APSL-Nagarro

Contributors
------------

[APSL-Nagarro](https://apsl.tech):

- Antoni Marroig <[email protected]>

Maintainers
-----------

This module is maintained by the OCA.

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

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

.. |maintainer-peluko00| image:: https://github.com/peluko00.png?size=40px
:target: https://github.com/peluko00
:alt: peluko00

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-peluko00|

This module is part of the `OCA/product-attribute <https://github.com/OCA/product-attribute/tree/17.0/product_total_weight>`_ project on GitHub.

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

from . import models
23 changes: 23 additions & 0 deletions product_total_weight/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2024 Antoni Marroig(APSL-Nagarro)<[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Product Total Weight",
"summary": "View the product weight in differents views",
"version": "17.0.1.0.0",
"category": "Product",
"website": "https://github.com/OCA/product-attribute",
"author": "Antoni Marroig, APSL-Nagarro, Odoo Community Association (OCA)",
"maintainers": ["peluko00"],
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": [
"stock",
"product_logistics_uom",
],
"data": [
"views/stock_quant_views.xml",
"views/product_views.xml",
"views/stock_move_line_views.xml",
],
}
55 changes: 55 additions & 0 deletions product_total_weight/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_total_weight
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-07 17:56+0000\n"
"PO-Revision-Date: 2025-01-07 17:56+0000\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: product_total_weight
#: model_terms:ir.ui.view,arch_db:product_total_weight.product_template_kanban_view_inherit
msgid ""
"<br/>\n"
" Total Weight:"
msgstr ""
"<br/>\n"
" Pes total:"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_product_template
msgid "Product"
msgstr "Producte"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Moviment del producte (línia de moviment d'estoc)"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_product_product
msgid "Product Variant"
msgstr "Variant de producte"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_stock_quant
msgid "Quants"
msgstr ""

#. module: product_total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_product_product__total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_product_template__total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_stock_move_line__total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_stock_quant__inventory_weight
#: model_terms:ir.ui.view,arch_db:product_total_weight.product_product_stock_tree_inherit
#: model_terms:ir.ui.view,arch_db:product_total_weight.view_stock_quant_tree_editable_inherit
msgid "Total Weight"
msgstr "Pes Total"
55 changes: 55 additions & 0 deletions product_total_weight/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_total_weight
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-07 17:57+0000\n"
"PO-Revision-Date: 2025-01-07 17:57+0000\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: product_total_weight
#: model_terms:ir.ui.view,arch_db:product_total_weight.product_template_kanban_view_inherit
msgid ""
"<br/>\n"
" Total Weight:"
msgstr ""
"<br/>\n"
" Peso total:"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_product_template
msgid "Product"
msgstr "Producto"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Movimientos de producto (línea de movimiento de stock)"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_product_product
msgid "Product Variant"
msgstr "Variante de producto"

#. module: product_total_weight
#: model:ir.model,name:product_total_weight.model_stock_quant
msgid "Quants"
msgstr "Cuantos"

#. module: product_total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_product_product__total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_product_template__total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_stock_move_line__total_weight
#: model:ir.model.fields,field_description:product_total_weight.field_stock_quant__inventory_weight
#: model_terms:ir.ui.view,arch_db:product_total_weight.product_product_stock_tree_inherit
#: model_terms:ir.ui.view,arch_db:product_total_weight.view_stock_quant_tree_editable_inherit
msgid "Total Weight"
msgstr "Peso total"
5 changes: 5 additions & 0 deletions product_total_weight/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import stock_quant
from . import product
from . import stock_move_line
32 changes: 32 additions & 0 deletions product_total_weight/models/product.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright 2024 Antoni Marroig(APSL-Nagarro)<[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, fields, models


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

total_weight = fields.Float(compute="_compute_total_weight")

@api.depends("qty_available", "product_weight")
def _compute_total_weight(self):
for product in self:
product.total_weight = (
product.qty_available * product.product_weight
) / product.weight_uom_id.factor


class Product(models.Model):
_inherit = "product.product"

total_weight = fields.Float(
compute="_compute_total_weight",
)

@api.depends("qty_available", "product_weight")
def _compute_total_weight(self):
for product in self:
product.total_weight = (
product.qty_available * product.product_weight
) / product.weight_uom_id.factor
17 changes: 17 additions & 0 deletions product_total_weight/models/stock_move_line.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024 Antoni Marroig(APSL-Nagarro)<[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, fields, models


class StockMoveLine(models.Model):
_inherit = "stock.move.line"

total_weight = fields.Float(compute="_compute_total_weight")

@api.depends("quantity", "product_id.product_weight")
def _compute_total_weight(self):
for quant in self:
quant.total_weight = (
quant.quantity * quant.product_id.product_weight
) / quant.product_id.weight_uom_id.factor
17 changes: 17 additions & 0 deletions product_total_weight/models/stock_quant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024 Antoni Marroig(APSL-Nagarro)<[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, fields, models


class StockQuant(models.Model):
_inherit = "stock.quant"

inventory_weight = fields.Float("Total Weight", compute="_compute_inventory_weight")

@api.depends("quantity", "product_id.product_weight")
def _compute_inventory_weight(self):
for quant in self:
quant.inventory_weight = (
quant.quantity * quant.product_id.product_weight
) / quant.product_id.weight_uom_id.factor
3 changes: 3 additions & 0 deletions product_total_weight/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
2 changes: 2 additions & 0 deletions product_total_weight/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
\[APSL-Nagarro\](<https://apsl.tech>):
- Antoni Marroig \<<[email protected]>\>
1 change: 1 addition & 0 deletions product_total_weight/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module adds a field in different views associated to product to see how many kilograms (or pounds) are depending of the weight field thats appears on inventory tab of product form.
6 changes: 6 additions & 0 deletions product_total_weight/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
To see this new field is available in that views:

- Go to Inventory \> Products. You will see in kanban view and tree view the new field
- Go to Inventory \> Reporting \> Stock.
- Go to Inventory \> Reporting \> Locations. You need to activate the Storage locations to see that
- Go to Inventory \> Reporting \> Moves History.
Binary file added product_total_weight/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading