From 241cb2c580f1f0276758fd01d3771efeeb081cc0 Mon Sep 17 00:00:00 2001 From: Eduardo De Miguel Date: Tue, 28 May 2024 11:56:24 +0200 Subject: [PATCH 1/9] [ADD] purchase_packaging_report --- purchase_packaging_report/README.rst | 120 +++++ purchase_packaging_report/__init__.py | 1 + purchase_packaging_report/__manifest__.py | 24 + purchase_packaging_report/i18n/es.po | 52 ++ .../i18n/purchase_packaging_report.pot | 48 ++ purchase_packaging_report/readme/CONFIGURE.md | 8 + .../readme/CONTRIBUTORS.md | 1 + .../readme/DESCRIPTION.md | 4 + purchase_packaging_report/readme/USAGE.md | 12 + purchase_packaging_report/report/__init__.py | 1 + .../report/purchase_order_templates.xml | 18 + .../report/purchase_quotation_templates.xml | 18 + .../report/purchase_report.py | 38 ++ .../report/purchase_report_views.xml | 41 ++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 459 ++++++++++++++++++ 16 files changed, 845 insertions(+) create mode 100644 purchase_packaging_report/README.rst create mode 100644 purchase_packaging_report/__init__.py create mode 100644 purchase_packaging_report/__manifest__.py create mode 100644 purchase_packaging_report/i18n/es.po create mode 100644 purchase_packaging_report/i18n/purchase_packaging_report.pot create mode 100644 purchase_packaging_report/readme/CONFIGURE.md create mode 100644 purchase_packaging_report/readme/CONTRIBUTORS.md create mode 100644 purchase_packaging_report/readme/DESCRIPTION.md create mode 100644 purchase_packaging_report/readme/USAGE.md create mode 100644 purchase_packaging_report/report/__init__.py create mode 100644 purchase_packaging_report/report/purchase_order_templates.xml create mode 100644 purchase_packaging_report/report/purchase_quotation_templates.xml create mode 100644 purchase_packaging_report/report/purchase_report.py create mode 100644 purchase_packaging_report/report/purchase_report_views.xml create mode 100644 purchase_packaging_report/static/description/icon.png create mode 100644 purchase_packaging_report/static/description/index.html diff --git a/purchase_packaging_report/README.rst b/purchase_packaging_report/README.rst new file mode 100644 index 00000000..a21b65ae --- /dev/null +++ b/purchase_packaging_report/README.rst @@ -0,0 +1,120 @@ +========================= +Purchase Packaging Report +========================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:66620cef8bccd1faa3f8ad0fb2ba1671af3fb645d8a2d38593ffb259ec570b8f + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--reporting-lightgray.png?logo=github + :target: https://github.com/OCA/purchase-reporting/tree/16.0/purchase_packaging_report + :alt: OCA/purchase-reporting +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/purchase-reporting-16-0/purchase-reporting-16-0-purchase_packaging_report + :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/purchase-reporting&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module displays packaging data (quantity and type) in: + +- Purchase order printed reports. +- Purchase BI reports. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +#. Go to *Purchase > Configuration > Settings*. #. Enable *Product +Packagings*. #. Save. + +Now, make sure the products you use for testing this module have some +packaging configured. + +Usage +===== + +To print purchase order packaging data: + +#. Go to *Purchase > Orders > Quotations* and pick or create one. #. Add +some product(s) with packaging information (type and quantity). #. Print +it. + +To query purchase packaging BI data: + +#. Go to *Purchase > Reporting > Purchase*. #. Use the new options at +will: + +- *Measures > Packaging Qty* +- *Group By > Packaging*. + +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 +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Moduon + +Contributors +------------ + +- Eduardo de Miguel (``Moduon ``\ \_\_) + +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-Shide| image:: https://github.com/Shide.png?size=40px + :target: https://github.com/Shide + :alt: Shide + +Current `maintainer `__: + +|maintainer-Shide| + +This module is part of the `OCA/purchase-reporting `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/purchase_packaging_report/__init__.py b/purchase_packaging_report/__init__.py new file mode 100644 index 00000000..4c4f242f --- /dev/null +++ b/purchase_packaging_report/__init__.py @@ -0,0 +1 @@ +from . import report diff --git a/purchase_packaging_report/__manifest__.py b/purchase_packaging_report/__manifest__.py new file mode 100644 index 00000000..a93de6fd --- /dev/null +++ b/purchase_packaging_report/__manifest__.py @@ -0,0 +1,24 @@ +# Copyright 2024 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) + +{ + "name": "Purchase Packaging Report", + "summary": "Packaging data in purchase reports", + "version": "16.0.1.0.0", + "development_status": "Alpha", + "category": "Inventory/Purchase", + "website": "https://github.com/OCA/purchase-reporting", + "author": "Moduon, Odoo Community Association (OCA)", + "maintainers": ["Shide"], + "license": "LGPL-3", + "application": False, + "installable": True, + "depends": [ + "purchase", + ], + "data": [ + "report/purchase_report_views.xml", + "report/purchase_order_templates.xml", + "report/purchase_quotation_templates.xml", + ], +} diff --git a/purchase_packaging_report/i18n/es.po b/purchase_packaging_report/i18n/es.po new file mode 100644 index 00000000..1f9eedb3 --- /dev/null +++ b/purchase_packaging_report/i18n/es.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_packaging_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-28 09:54+0000\n" +"PO-Revision-Date: 2024-05-28 11:54+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.4.4\n" + +#. module: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchaseorder_document +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchasequotation_document +msgid "(" +msgstr "(" + +#. module: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchaseorder_document +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchasequotation_document +msgid ")" +msgstr "" +"Correo electrónico\n" +" *" + +#. module: purchase_packaging_report +#: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_id +msgid "Packaging" +msgstr "Envase" + +#. module: purchase_packaging_report +#: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_qty +msgid "Packaging Qty" +msgstr "Cantidad de Envases" + +#. module: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.view_purchase_order_search +msgid "Product Packaging" +msgstr "Envase del Producto" + +#. module: purchase_packaging_report +#: model:ir.model,name:purchase_packaging_report.model_purchase_report +msgid "Purchase Report" +msgstr "Informe de Compras" diff --git a/purchase_packaging_report/i18n/purchase_packaging_report.pot b/purchase_packaging_report/i18n/purchase_packaging_report.pot new file mode 100644 index 00000000..006e19a9 --- /dev/null +++ b/purchase_packaging_report/i18n/purchase_packaging_report.pot @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_packaging_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-28 09:53+0000\n" +"PO-Revision-Date: 2024-05-28 09:53+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: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchaseorder_document +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchasequotation_document +msgid "(" +msgstr "" + +#. module: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchaseorder_document +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchasequotation_document +msgid ")" +msgstr "" + +#. module: purchase_packaging_report +#: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_id +msgid "Packaging" +msgstr "" + +#. module: purchase_packaging_report +#: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_qty +msgid "Packaging Qty" +msgstr "" + +#. module: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.view_purchase_order_search +msgid "Product Packaging" +msgstr "" + +#. module: purchase_packaging_report +#: model:ir.model,name:purchase_packaging_report.model_purchase_report +msgid "Purchase Report" +msgstr "" diff --git a/purchase_packaging_report/readme/CONFIGURE.md b/purchase_packaging_report/readme/CONFIGURE.md new file mode 100644 index 00000000..c1c78f15 --- /dev/null +++ b/purchase_packaging_report/readme/CONFIGURE.md @@ -0,0 +1,8 @@ +To configure this module, you need to: + +#. Go to *Purchase > Configuration > Settings*. +#. Enable *Product Packagings*. +#. Save. + +Now, make sure the products you use for testing this module have some packaging +configured. diff --git a/purchase_packaging_report/readme/CONTRIBUTORS.md b/purchase_packaging_report/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..73c0719a --- /dev/null +++ b/purchase_packaging_report/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +* Eduardo de Miguel (`Moduon `__) diff --git a/purchase_packaging_report/readme/DESCRIPTION.md b/purchase_packaging_report/readme/DESCRIPTION.md new file mode 100644 index 00000000..80245d85 --- /dev/null +++ b/purchase_packaging_report/readme/DESCRIPTION.md @@ -0,0 +1,4 @@ +This module displays packaging data (quantity and type) in: + +- Purchase order printed reports. +- Purchase BI reports. diff --git a/purchase_packaging_report/readme/USAGE.md b/purchase_packaging_report/readme/USAGE.md new file mode 100644 index 00000000..1b7ffad9 --- /dev/null +++ b/purchase_packaging_report/readme/USAGE.md @@ -0,0 +1,12 @@ +To print purchase order packaging data: + +#. Go to *Purchase > Orders > Quotations* and pick or create one. +#. Add some product(s) with packaging information (type and quantity). +#. Print it. + +To query purchase packaging BI data: + +#. Go to *Purchase > Reporting > Purchase*. +#. Use the new options at will: + - *Measures > Packaging Qty* + - *Group By > Packaging*. diff --git a/purchase_packaging_report/report/__init__.py b/purchase_packaging_report/report/__init__.py new file mode 100644 index 00000000..84b6eef8 --- /dev/null +++ b/purchase_packaging_report/report/__init__.py @@ -0,0 +1 @@ +from . import purchase_report diff --git a/purchase_packaging_report/report/purchase_order_templates.xml b/purchase_packaging_report/report/purchase_order_templates.xml new file mode 100644 index 00000000..0ed3fd45 --- /dev/null +++ b/purchase_packaging_report/report/purchase_order_templates.xml @@ -0,0 +1,18 @@ + + + + diff --git a/purchase_packaging_report/report/purchase_quotation_templates.xml b/purchase_packaging_report/report/purchase_quotation_templates.xml new file mode 100644 index 00000000..a6d2e16f --- /dev/null +++ b/purchase_packaging_report/report/purchase_quotation_templates.xml @@ -0,0 +1,18 @@ + + + + diff --git a/purchase_packaging_report/report/purchase_report.py b/purchase_packaging_report/report/purchase_report.py new file mode 100644 index 00000000..bbba2f39 --- /dev/null +++ b/purchase_packaging_report/report/purchase_report.py @@ -0,0 +1,38 @@ +# Copyright 2023 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) + + +from odoo import fields, models + + +class PurchaseReport(models.Model): + _inherit = "purchase.report" + + product_packaging_id = fields.Many2one( + "product.packaging", + string="Packaging", + readonly=True, + ) + product_packaging_qty = fields.Float( + string="Packaging Qty", + readonly=True, + ) + + def _select(self): + result = super()._select() + return f""" + {result}, + l.product_packaging_id AS product_packaging_id, + SUM(l.product_packaging_qty) AS product_packaging_qty + """ + + def _from(self): + result = super()._from() + return f""" + {result} + LEFT JOIN product_packaging ON l.product_packaging_id = product_packaging.id + """ + + def _group_by(self): + result = super()._group_by() + return f"{result}, l.product_packaging_id" diff --git a/purchase_packaging_report/report/purchase_report_views.xml b/purchase_packaging_report/report/purchase_report_views.xml new file mode 100644 index 00000000..3f163ab3 --- /dev/null +++ b/purchase_packaging_report/report/purchase_report_views.xml @@ -0,0 +1,41 @@ + + + + purchase.report.view.tree + purchase.report + + + + + + + + + + + report.purchase.order.search + purchase.report + + + + + + + + diff --git a/purchase_packaging_report/static/description/icon.png b/purchase_packaging_report/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/purchase_packaging_report/static/description/index.html b/purchase_packaging_report/static/description/index.html new file mode 100644 index 00000000..fd9231e1 --- /dev/null +++ b/purchase_packaging_report/static/description/index.html @@ -0,0 +1,459 @@ + + + + + +Purchase Packaging Report + + + +
+

Purchase Packaging Report

+ + +

Alpha License: LGPL-3 OCA/purchase-reporting Translate me on Weblate Try me on Runboat

+

This module displays packaging data (quantity and type) in:

+
    +
  • Purchase order printed reports.
  • +
  • Purchase BI reports.
  • +
+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+

#. Go to Purchase > Configuration > Settings. #. Enable Product +Packagings. #. Save.

+

Now, make sure the products you use for testing this module have some +packaging configured.

+
+
+

Usage

+

To print purchase order packaging data:

+

#. Go to Purchase > Orders > Quotations and pick or create one. #. Add +some product(s) with packaging information (type and quantity). #. Print +it.

+

To query purchase packaging BI data:

+

#. Go to Purchase > Reporting > Purchase. #. Use the new options at +will:

+
    +
  • Measures > Packaging Qty
  • +
  • Group By > Packaging.
  • +
+
+
+

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 +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Moduon
  • +
+
+
+

Contributors

+
    +
  • Eduardo de Miguel (Moduon <https://www.moduon.team/>__)
  • +
+
+
+

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.

+

Current maintainer:

+

Shide

+

This module is part of the OCA/purchase-reporting project on GitHub.

+

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

+
+
+
+ + From 454b2428e5ce141dabc74d38bf6d7b2c583c97e9 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 31 May 2024 09:36:26 +0000 Subject: [PATCH 2/9] [UPD] Update purchase_packaging_report.pot --- .../i18n/purchase_packaging_report.pot | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/purchase_packaging_report/i18n/purchase_packaging_report.pot b/purchase_packaging_report/i18n/purchase_packaging_report.pot index 006e19a9..235f813d 100644 --- a/purchase_packaging_report/i18n/purchase_packaging_report.pot +++ b/purchase_packaging_report/i18n/purchase_packaging_report.pot @@ -6,8 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-28 09:53+0000\n" -"PO-Revision-Date: 2024-05-28 09:53+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -15,18 +13,6 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: purchase_packaging_report -#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchaseorder_document -#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchasequotation_document -msgid "(" -msgstr "" - -#. module: purchase_packaging_report -#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchaseorder_document -#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.report_purchasequotation_document -msgid ")" -msgstr "" - #. module: purchase_packaging_report #: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_id msgid "Packaging" From 73494748884ba0471a15091908f603625c20420f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 31 May 2024 09:41:58 +0000 Subject: [PATCH 3/9] [BOT] post-merge updates --- purchase_packaging_report/README.rst | 2 +- .../static/description/index.html | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/purchase_packaging_report/README.rst b/purchase_packaging_report/README.rst index a21b65ae..d77a2959 100644 --- a/purchase_packaging_report/README.rst +++ b/purchase_packaging_report/README.rst @@ -7,7 +7,7 @@ Purchase Packaging Report !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:66620cef8bccd1faa3f8ad0fb2ba1671af3fb645d8a2d38593ffb259ec570b8f + !! source digest: sha256:997c76bb51afe7344af9c18d6630562f96648206312ed2a1ed5d60919c06e063 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png diff --git a/purchase_packaging_report/static/description/index.html b/purchase_packaging_report/static/description/index.html index fd9231e1..6e7373d7 100644 --- a/purchase_packaging_report/static/description/index.html +++ b/purchase_packaging_report/static/description/index.html @@ -8,11 +8,10 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ +:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. -Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +274,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: gray; } /* line numbers */ +pre.code .ln { color: grey; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +300,7 @@ span.pre { white-space: pre } -span.problematic, pre.problematic { +span.problematic { color: red } span.section-subtitle { @@ -367,7 +366,7 @@

Purchase Packaging Report

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:66620cef8bccd1faa3f8ad0fb2ba1671af3fb645d8a2d38593ffb259ec570b8f +!! source digest: sha256:997c76bb51afe7344af9c18d6630562f96648206312ed2a1ed5d60919c06e063 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: LGPL-3 OCA/purchase-reporting Translate me on Weblate Try me on Runboat

This module displays packaging data (quantity and type) in:

@@ -442,9 +441,7 @@

Contributors

Maintainers

This module is maintained by the OCA.

- -Odoo Community Association - +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.

From b56687bb6f870bce6bfbdfab9915f8a96aada29a Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 4 Jun 2024 12:47:32 +0000 Subject: [PATCH 4/9] Added translation using Weblate (Italian) --- purchase_packaging_report/i18n/it.po | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 purchase_packaging_report/i18n/it.po diff --git a/purchase_packaging_report/i18n/it.po b/purchase_packaging_report/i18n/it.po new file mode 100644 index 00000000..1a3bff5a --- /dev/null +++ b/purchase_packaging_report/i18n/it.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_packaging_report +# +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: purchase_packaging_report +#: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_id +msgid "Packaging" +msgstr "" + +#. module: purchase_packaging_report +#: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_qty +msgid "Packaging Qty" +msgstr "" + +#. module: purchase_packaging_report +#: model_terms:ir.ui.view,arch_db:purchase_packaging_report.view_purchase_order_search +msgid "Product Packaging" +msgstr "" + +#. module: purchase_packaging_report +#: model:ir.model,name:purchase_packaging_report.model_purchase_report +msgid "Purchase Report" +msgstr "" From c8ad98ade96f3c7795c21e2db5b338383481620b Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 4 Jun 2024 12:47:41 +0000 Subject: [PATCH 5/9] Translated using Weblate (Italian) Currently translated at 100.0% (4 of 4 strings) Translation: purchase-reporting-16.0/purchase-reporting-16.0-purchase_packaging_report Translate-URL: https://translation.odoo-community.org/projects/purchase-reporting-16-0/purchase-reporting-16-0-purchase_packaging_report/it/ --- purchase_packaging_report/i18n/it.po | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/purchase_packaging_report/i18n/it.po b/purchase_packaging_report/i18n/it.po index 1a3bff5a..6485f073 100644 --- a/purchase_packaging_report/i18n/it.po +++ b/purchase_packaging_report/i18n/it.po @@ -6,30 +6,32 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-06-04 15:39+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: purchase_packaging_report #: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_id msgid "Packaging" -msgstr "" +msgstr "Imballaggio" #. module: purchase_packaging_report #: model:ir.model.fields,field_description:purchase_packaging_report.field_purchase_report__product_packaging_qty msgid "Packaging Qty" -msgstr "" +msgstr "Q.tà imballagio" #. module: purchase_packaging_report #: model_terms:ir.ui.view,arch_db:purchase_packaging_report.view_purchase_order_search msgid "Product Packaging" -msgstr "" +msgstr "Imballaggio prodotto" #. module: purchase_packaging_report #: model:ir.model,name:purchase_packaging_report.model_purchase_report msgid "Purchase Report" -msgstr "" +msgstr "Resoconto di acquisto" From 256f78dc9d3c262a71aee815b718de4606eddef2 Mon Sep 17 00:00:00 2001 From: Eduardo De Miguel Date: Tue, 11 Jun 2024 10:25:02 +0200 Subject: [PATCH 6/9] [FIX] purchase_packaging_report: Do not cut packaging text on reports --- purchase_packaging_report/report/purchase_order_templates.xml | 1 + .../report/purchase_quotation_templates.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/purchase_packaging_report/report/purchase_order_templates.xml b/purchase_packaging_report/report/purchase_order_templates.xml index 0ed3fd45..f01ae0cd 100644 --- a/purchase_packaging_report/report/purchase_order_templates.xml +++ b/purchase_packaging_report/report/purchase_order_templates.xml @@ -9,6 +9,7 @@ t-if="line.product_packaging_id" groups="product.group_stock_packaging" class="text-secondary" + style="white-space: nowrap;" > : diff --git a/purchase_packaging_report/report/purchase_quotation_templates.xml b/purchase_packaging_report/report/purchase_quotation_templates.xml index a6d2e16f..52d0fff4 100644 --- a/purchase_packaging_report/report/purchase_quotation_templates.xml +++ b/purchase_packaging_report/report/purchase_quotation_templates.xml @@ -9,6 +9,7 @@ t-if="order_line.product_packaging_id" groups="product.group_stock_packaging" class="text-secondary" + style="white-space: nowrap;" > : From 3c2f3975e6e4a95a33c6630bbbb364725b9d0a3e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 12 Jun 2024 09:57:44 +0000 Subject: [PATCH 7/9] [BOT] post-merge updates --- purchase_packaging_report/README.rst | 2 +- purchase_packaging_report/__manifest__.py | 2 +- purchase_packaging_report/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/purchase_packaging_report/README.rst b/purchase_packaging_report/README.rst index d77a2959..4f9fe7f0 100644 --- a/purchase_packaging_report/README.rst +++ b/purchase_packaging_report/README.rst @@ -7,7 +7,7 @@ Purchase Packaging Report !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:997c76bb51afe7344af9c18d6630562f96648206312ed2a1ed5d60919c06e063 + !! source digest: sha256:8b7207332513658db9206dc6c00893ad62f07ff9132a5cf6947ba271d75ef6cf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png diff --git a/purchase_packaging_report/__manifest__.py b/purchase_packaging_report/__manifest__.py index a93de6fd..7e95b3e4 100644 --- a/purchase_packaging_report/__manifest__.py +++ b/purchase_packaging_report/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Purchase Packaging Report", "summary": "Packaging data in purchase reports", - "version": "16.0.1.0.0", + "version": "16.0.1.0.1", "development_status": "Alpha", "category": "Inventory/Purchase", "website": "https://github.com/OCA/purchase-reporting", diff --git a/purchase_packaging_report/static/description/index.html b/purchase_packaging_report/static/description/index.html index 6e7373d7..189ea38d 100644 --- a/purchase_packaging_report/static/description/index.html +++ b/purchase_packaging_report/static/description/index.html @@ -366,7 +366,7 @@

Purchase Packaging Report

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:997c76bb51afe7344af9c18d6630562f96648206312ed2a1ed5d60919c06e063 +!! source digest: sha256:8b7207332513658db9206dc6c00893ad62f07ff9132a5cf6947ba271d75ef6cf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: LGPL-3 OCA/purchase-reporting Translate me on Weblate Try me on Runboat

This module displays packaging data (quantity and type) in:

From 743afeea4cc1c5bcc968f5e30084437e9a45b5cb Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 20 Feb 2025 17:51:57 +0530 Subject: [PATCH 8/9] [IMP] purchase_packaging_report: pre-commit auto fixes --- purchase_packaging_report/pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 purchase_packaging_report/pyproject.toml diff --git a/purchase_packaging_report/pyproject.toml b/purchase_packaging_report/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/purchase_packaging_report/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" From 3525e74c748a955950c4798ea7fece9111f3e02c Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 20 Feb 2025 17:54:15 +0530 Subject: [PATCH 9/9] [MIG] purchase_packaging_report: Migration to 18.0 --- purchase_packaging_report/README.rst | 24 +++++--- purchase_packaging_report/__manifest__.py | 2 +- .../readme/CONTRIBUTORS.md | 2 + .../report/purchase_report.py | 30 ++++++--- .../report/purchase_report_views.xml | 2 +- .../static/description/index.html | 21 ++++--- purchase_packaging_report/tests/__init__.py | 1 + .../tests/test_purchase_packaging_report.py | 61 +++++++++++++++++++ 8 files changed, 114 insertions(+), 29 deletions(-) create mode 100644 purchase_packaging_report/tests/__init__.py create mode 100644 purchase_packaging_report/tests/test_purchase_packaging_report.py diff --git a/purchase_packaging_report/README.rst b/purchase_packaging_report/README.rst index 4f9fe7f0..2191ade0 100644 --- a/purchase_packaging_report/README.rst +++ b/purchase_packaging_report/README.rst @@ -17,21 +17,21 @@ Purchase Packaging Report :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--reporting-lightgray.png?logo=github - :target: https://github.com/OCA/purchase-reporting/tree/16.0/purchase_packaging_report + :target: https://github.com/OCA/purchase-reporting/tree/18.0/purchase_packaging_report :alt: OCA/purchase-reporting .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/purchase-reporting-16-0/purchase-reporting-16-0-purchase_packaging_report + :target: https://translation.odoo-community.org/projects/purchase-reporting-18-0/purchase-reporting-18-0-purchase_packaging_report :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/purchase-reporting&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-reporting&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| This module displays packaging data (quantity and type) in: -- Purchase order printed reports. -- Purchase BI reports. +- Purchase order printed reports. +- Purchase BI reports. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -68,8 +68,8 @@ To query purchase packaging BI data: #. Go to *Purchase > Reporting > Purchase*. #. Use the new options at will: -- *Measures > Packaging Qty* -- *Group By > Packaging*. +- *Measures > Packaging Qty* +- *Group By > Packaging*. Bug Tracker =========== @@ -77,7 +77,7 @@ 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 -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -92,7 +92,11 @@ Authors Contributors ------------ -- Eduardo de Miguel (``Moduon ``\ \_\_) +- Eduardo de Miguel (``Moduon ``\ \_\_) + +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia Maintainers ----------- @@ -115,6 +119,6 @@ Current `maintainer `__: |maintainer-Shide| -This module is part of the `OCA/purchase-reporting `_ project on GitHub. +This module is part of the `OCA/purchase-reporting `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/purchase_packaging_report/__manifest__.py b/purchase_packaging_report/__manifest__.py index 7e95b3e4..5bc0f2d1 100644 --- a/purchase_packaging_report/__manifest__.py +++ b/purchase_packaging_report/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Purchase Packaging Report", "summary": "Packaging data in purchase reports", - "version": "16.0.1.0.1", + "version": "18.0.1.0.0", "development_status": "Alpha", "category": "Inventory/Purchase", "website": "https://github.com/OCA/purchase-reporting", diff --git a/purchase_packaging_report/readme/CONTRIBUTORS.md b/purchase_packaging_report/readme/CONTRIBUTORS.md index 73c0719a..d22e00af 100644 --- a/purchase_packaging_report/readme/CONTRIBUTORS.md +++ b/purchase_packaging_report/readme/CONTRIBUTORS.md @@ -1 +1,3 @@ * Eduardo de Miguel (`Moduon `__) +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia diff --git a/purchase_packaging_report/report/purchase_report.py b/purchase_packaging_report/report/purchase_report.py index bbba2f39..5c8b23ac 100644 --- a/purchase_packaging_report/report/purchase_report.py +++ b/purchase_packaging_report/report/purchase_report.py @@ -3,6 +3,7 @@ from odoo import fields, models +from odoo.tools import SQL class PurchaseReport(models.Model): @@ -19,20 +20,29 @@ class PurchaseReport(models.Model): ) def _select(self): - result = super()._select() - return f""" - {result}, + return SQL( + """ + %s, l.product_packaging_id AS product_packaging_id, SUM(l.product_packaging_qty) AS product_packaging_qty - """ + """, + super()._select(), + ) def _from(self): - result = super()._from() - return f""" - {result} + return SQL( + """ + %s LEFT JOIN product_packaging ON l.product_packaging_id = product_packaging.id - """ + """, + super()._from(), + ) def _group_by(self): - result = super()._group_by() - return f"{result}, l.product_packaging_id" + return SQL( + """ + %s, + l.product_packaging_id + """, + super()._group_by(), + ) diff --git a/purchase_packaging_report/report/purchase_report_views.xml b/purchase_packaging_report/report/purchase_report_views.xml index 3f163ab3..45989470 100644 --- a/purchase_packaging_report/report/purchase_report_views.xml +++ b/purchase_packaging_report/report/purchase_report_views.xml @@ -5,7 +5,7 @@ purchase.report - + Purchase Packaging Report !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:8b7207332513658db9206dc6c00893ad62f07ff9132a5cf6947ba271d75ef6cf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Alpha License: LGPL-3 OCA/purchase-reporting Translate me on Weblate Try me on Runboat

+

Alpha License: LGPL-3 OCA/purchase-reporting Translate me on Weblate Try me on Runboat

This module displays packaging data (quantity and type) in:

  • Purchase order printed reports.
  • @@ -421,7 +422,7 @@

    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 -feedback.

    +feedback.

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

@@ -436,18 +437,24 @@

Authors

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +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.

Current maintainer:

Shide

-

This module is part of the OCA/purchase-reporting project on GitHub.

+

This module is part of the OCA/purchase-reporting project on GitHub.

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

diff --git a/purchase_packaging_report/tests/__init__.py b/purchase_packaging_report/tests/__init__.py new file mode 100644 index 00000000..c96b9519 --- /dev/null +++ b/purchase_packaging_report/tests/__init__.py @@ -0,0 +1 @@ +from . import test_purchase_packaging_report diff --git a/purchase_packaging_report/tests/test_purchase_packaging_report.py b/purchase_packaging_report/tests/test_purchase_packaging_report.py new file mode 100644 index 00000000..0500f5a6 --- /dev/null +++ b/purchase_packaging_report/tests/test_purchase_packaging_report.py @@ -0,0 +1,61 @@ +# Copyright 2023 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) + +from odoo import Command + +from odoo.addons.base.tests.common import BaseCommon + + +class TestPurchaseReport(BaseCommon): + @classmethod + def setUpClass(self): + super().setUpClass() + self.partner = self.env["res.partner"].create({"name": "Test Vendor"}) + self.product = self.env["product.product"].create( + { + "name": "Test Product", + "type": "consu", + } + ) + self.packaging = self.env["product.packaging"].create( + { + "name": "Box", + "product_id": self.product.id, + "qty": 5, # Packaging contains 5 units + } + ) + self.purchase_order = self.env["purchase.order"].create( + { + "partner_id": self.partner.id, + "order_line": [ + Command.create( + { + "product_id": self.product.id, + "product_qty": 10, + "product_packaging_id": self.packaging.id, + "product_packaging_qty": 10, + } + ) + ], + } + ) + + def test_purchase_report_with_packaging(self): + """Test that purchase.report includes packaging data""" + self.purchase_order.button_confirm() + + purchase_report = self.env["purchase.report"].search( + [("product_id", "=", self.product.id)] + ) + + self.assertTrue(purchase_report, "Purchase report entry was not created") + self.assertEqual( + purchase_report[0].product_packaging_id, + self.packaging, + "Product packaging ID is incorrect in the report", + ) + self.assertEqual( + purchase_report[0].product_packaging_qty, + 10, + "Product packaging quantity is incorrect in the report", + )