From e4b605e520be8f9daf962bb51c40fa8cc155338e Mon Sep 17 00:00:00 2001 From: Patryk Pyczko Date: Thu, 28 Nov 2024 14:49:31 +0100 Subject: [PATCH 1/7] [17.0][ADD] repair_type_product_destination: New module repair_type_product_destination --- repair_type_product_destination/README.rst | 114 +++++ repair_type_product_destination/__init__.py | 3 + .../__manifest__.py | 16 + repair_type_product_destination/i18n/ca.po | 49 ++ repair_type_product_destination/i18n/es.po | 49 ++ .../i18n/repair_type_product_destination.pot | 48 ++ .../models/__init__.py | 4 + .../models/repair.py | 27 ++ .../models/stock_picking_type.py | 27 ++ .../pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 2 + .../readme/DESCRIPTION.md | 5 + .../readme/USAGE.md | 7 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 458 ++++++++++++++++++ .../tests/__init__.py | 3 + .../test_repair_type_product_destination.py | 78 +++ .../views/repair_views.xml | 37 ++ .../views/stock_picking_type_views.xml | 21 + 19 files changed, 951 insertions(+) create mode 100644 repair_type_product_destination/README.rst create mode 100644 repair_type_product_destination/__init__.py create mode 100644 repair_type_product_destination/__manifest__.py create mode 100644 repair_type_product_destination/i18n/ca.po create mode 100644 repair_type_product_destination/i18n/es.po create mode 100644 repair_type_product_destination/i18n/repair_type_product_destination.pot create mode 100644 repair_type_product_destination/models/__init__.py create mode 100644 repair_type_product_destination/models/repair.py create mode 100644 repair_type_product_destination/models/stock_picking_type.py create mode 100644 repair_type_product_destination/pyproject.toml create mode 100644 repair_type_product_destination/readme/CONTRIBUTORS.md create mode 100644 repair_type_product_destination/readme/DESCRIPTION.md create mode 100644 repair_type_product_destination/readme/USAGE.md create mode 100644 repair_type_product_destination/static/description/icon.png create mode 100644 repair_type_product_destination/static/description/index.html create mode 100644 repair_type_product_destination/tests/__init__.py create mode 100644 repair_type_product_destination/tests/test_repair_type_product_destination.py create mode 100644 repair_type_product_destination/views/repair_views.xml create mode 100644 repair_type_product_destination/views/stock_picking_type_views.xml diff --git a/repair_type_product_destination/README.rst b/repair_type_product_destination/README.rst new file mode 100644 index 00000000..806ee6d1 --- /dev/null +++ b/repair_type_product_destination/README.rst @@ -0,0 +1,114 @@ +================================= +Repair Type - Product Destination +================================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:841f2e7afbe4c6e48966faef1044973142b77bb7a11d8be86488044a4fd7cad5 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Frepair-lightgray.png?logo=github + :target: https://github.com/OCA/repair/tree/17.0/repair_type_product_destination + :alt: OCA/repair +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/repair-17-0/repair-17-0-repair_type_product_destination + :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/repair&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This is a technical module, and it does not provide any new +functionality on its own. Due to the way transfers of repaired products +work in Odoo, the following fields will not have any effect without +additional code modifications. + +This module introduces a **Product Destination Location field** in the +repair order. The default value for this field is computed from the +**Default Product Destination Location field of the associated Operation +Type**. + +This module essentially serves as a template, providing the groundwork +for further customization. To make use of the functionality it +introduces, extend this module to implement additional features in the +repair transfer workflow. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +The following fields are available in the Repair module: + +1. **Product Destination Location** + +- Repairs > Orders > Select or create an order > Miscellaneous > + Product Destination Location + +2. **Default Product Destination Location** + +- Repairs > Orders > Select or create an order > Miscellaneous > + Operation Type > Default Product Destination Location + +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 +------- + +* APSL-Nagarro + +Contributors +------------ + +- `APSL-Nagarro `__: + + - Patryk Pyczko + +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-ppyczko| image:: https://github.com/ppyczko.png?size=40px + :target: https://github.com/ppyczko + :alt: ppyczko + +Current `maintainer `__: + +|maintainer-ppyczko| + +This module is part of the `OCA/repair `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/repair_type_product_destination/__init__.py b/repair_type_product_destination/__init__.py new file mode 100644 index 00000000..31660d6a --- /dev/null +++ b/repair_type_product_destination/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import models diff --git a/repair_type_product_destination/__manifest__.py b/repair_type_product_destination/__manifest__.py new file mode 100644 index 00000000..fbacc82f --- /dev/null +++ b/repair_type_product_destination/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2024 Patryk Pyczko (APSL-Nagarro) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Repair Type - Product Destination", + "version": "17.0.1.0.0", + "category": "Repair", + "website": "https://github.com/OCA/repair", + "author": "APSL-Nagarro, Odoo Community Association (OCA)", + "maintainers": ["ppyczko"], + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": ["repair"], + "data": ["views/repair_views.xml", "views/stock_picking_type_views.xml"], +} diff --git a/repair_type_product_destination/i18n/ca.po b/repair_type_product_destination/i18n/ca.po new file mode 100644 index 00000000..2b1e93dc --- /dev/null +++ b/repair_type_product_destination/i18n/ca.po @@ -0,0 +1,49 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * repair_type_product_destination +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-28 13:39+0000\n" +"PO-Revision-Date: 2024-11-28 13:39+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: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "Default Product Destination Location" +msgstr "Ubicació de destinació per defecte del producte" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_stock_picking_type +msgid "Picking Type" +msgstr "Tipus de picking" + +#. module: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "Product Destination Location" +msgstr "Ubicació de destinació del producte" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_repair_order +msgid "Repair Order" +msgstr "Ordre de reparació" + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "" +"This is the default product destination location where the repaired product " +"will be stored.." +msgstr "Aquesta és la ubicació per defecte de destinació del producte on " +"s'emmagatzemarà el producte reparat." + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "This is the location where the repaired product will be stored." +msgstr "Aquesta és la ubicació on s'emmagatzemarà el producte reparat." \ No newline at end of file diff --git a/repair_type_product_destination/i18n/es.po b/repair_type_product_destination/i18n/es.po new file mode 100644 index 00000000..46ed532d --- /dev/null +++ b/repair_type_product_destination/i18n/es.po @@ -0,0 +1,49 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * repair_type_product_destination +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-28 13:39+0000\n" +"PO-Revision-Date: 2024-11-28 13:39+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: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "Default Product Destination Location" +msgstr "Ubicación de destino por defecto del producto" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_stock_picking_type +msgid "Picking Type" +msgstr "Tipo de picking" + +#. module: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "Product Destination Location" +msgstr "Ubicación de destino del producto" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_repair_order +msgid "Repair Order" +msgstr "Orden de reparación" + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "" +"This is the default product destination location where the repaired product " +"will be stored.." +msgstr "Esta es la ubicación predeterminada de destino del producto donde se " +"almacenará el producto reparado." + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "This is the location where the repaired product will be stored." +msgstr "Esta es la ubicación donde se almacenará el producto reparado." \ No newline at end of file diff --git a/repair_type_product_destination/i18n/repair_type_product_destination.pot b/repair_type_product_destination/i18n/repair_type_product_destination.pot new file mode 100644 index 00000000..1190fa7d --- /dev/null +++ b/repair_type_product_destination/i18n/repair_type_product_destination.pot @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * repair_type_product_destination +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-28 13:39+0000\n" +"PO-Revision-Date: 2024-11-28 13:39+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: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "Default Product Destination Location" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_stock_picking_type +msgid "Picking Type" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "Product Destination Location" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_repair_order +msgid "Repair Order" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "" +"This is the default product destination location where the repaired product " +"will be stored.." +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "This is the location where the repaired product will be stored." +msgstr "" diff --git a/repair_type_product_destination/models/__init__.py b/repair_type_product_destination/models/__init__.py new file mode 100644 index 00000000..945de8bc --- /dev/null +++ b/repair_type_product_destination/models/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import repair +from . import stock_picking_type diff --git a/repair_type_product_destination/models/repair.py b/repair_type_product_destination/models/repair.py new file mode 100644 index 00000000..ad4599c3 --- /dev/null +++ b/repair_type_product_destination/models/repair.py @@ -0,0 +1,27 @@ +# Copyright 2024 Patryk Pyczko (APSL-Nagarro) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class RepairOrder(models.Model): + _inherit = "repair.order" + + product_location_dest_id = fields.Many2one( + "stock.location", + "Product Destination Location", + compute="_compute_product_location_dest_id", + store=True, + required=True, + precompute=True, + index=True, + check_company=True, + help="This is the location where the repaired product will be stored.", + ) + + @api.depends("picking_type_id") + def _compute_product_location_dest_id(self): + for repair in self: + repair.product_location_dest_id = ( + repair.picking_type_id.default_product_location_dest_id + ) diff --git a/repair_type_product_destination/models/stock_picking_type.py b/repair_type_product_destination/models/stock_picking_type.py new file mode 100644 index 00000000..75b1cb3e --- /dev/null +++ b/repair_type_product_destination/models/stock_picking_type.py @@ -0,0 +1,27 @@ +# Copyright 2024 Patryk Pyczko (APSL-Nagarro) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class PickingType(models.Model): + _inherit = "stock.picking.type" + + default_product_location_dest_id = fields.Many2one( + "stock.location", + "Default Product Destination Location", + compute="_compute_default_product_location_dest_id", + check_company=True, + store=True, + readonly=False, + precompute=True, + help="This is the default product destination location where " + "the repaired product will be stored..", + ) + + @api.depends("code") + def _compute_default_product_location_dest_id(self): + for picking_type in self: + stock_location = picking_type.warehouse_id.lot_stock_id + if picking_type.code == "repair_operation": + picking_type.default_product_location_dest_id = stock_location.id diff --git a/repair_type_product_destination/pyproject.toml b/repair_type_product_destination/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/repair_type_product_destination/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/repair_type_product_destination/readme/CONTRIBUTORS.md b/repair_type_product_destination/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..484bb742 --- /dev/null +++ b/repair_type_product_destination/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [APSL-Nagarro](https://www.apsl.tech): + - Patryk Pyczko \<\> \ No newline at end of file diff --git a/repair_type_product_destination/readme/DESCRIPTION.md b/repair_type_product_destination/readme/DESCRIPTION.md new file mode 100644 index 00000000..d835e0cc --- /dev/null +++ b/repair_type_product_destination/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +This is a technical module, and it does not provide any new functionality on its own. Due to the way transfers of repaired products work in Odoo, the following fields will not have any effect without additional code modifications. + +This module introduces a **Product Destination Location field** in the repair order. The default value for this field is computed from the **Default Product Destination Location field of the associated Operation Type**. + +This module essentially serves as a template, providing the groundwork for further customization. To make use of the functionality it introduces, extend this module to implement additional features in the repair transfer workflow. \ No newline at end of file diff --git a/repair_type_product_destination/readme/USAGE.md b/repair_type_product_destination/readme/USAGE.md new file mode 100644 index 00000000..7e99d77d --- /dev/null +++ b/repair_type_product_destination/readme/USAGE.md @@ -0,0 +1,7 @@ +The following fields are available in the Repair module: + +1. **Product Destination Location** +- Repairs > Orders > Select or create an order > Miscellaneous > Product Destination Location + +2. **Default Product Destination Location** +- Repairs > Orders > Select or create an order > Miscellaneous > Operation Type > Default Product Destination Location \ No newline at end of file diff --git a/repair_type_product_destination/static/description/icon.png b/repair_type_product_destination/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/repair_type_product_destination/static/description/index.html b/repair_type_product_destination/static/description/index.html new file mode 100644 index 00000000..365b6145 --- /dev/null +++ b/repair_type_product_destination/static/description/index.html @@ -0,0 +1,458 @@ + + + + + +Repair Type - Product Destination + + + +
+

Repair Type - Product Destination

+ + +

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

+

This is a technical module, and it does not provide any new +functionality on its own. Due to the way transfers of repaired products +work in Odoo, the following fields will not have any effect without +additional code modifications.

+

This module introduces a Product Destination Location field in the +repair order. The default value for this field is computed from the +Default Product Destination Location field of the associated Operation +Type.

+

This module essentially serves as a template, providing the groundwork +for further customization. To make use of the functionality it +introduces, extend this module to implement additional features in the +repair transfer workflow.

+

Table of contents

+ +
+

Usage

+

The following fields are available in the Repair module:

+
    +
  1. Product Destination Location
  2. +
+
    +
  • Repairs > Orders > Select or create an order > Miscellaneous > +Product Destination Location
  • +
+
    +
  1. Default Product Destination Location
  2. +
+
    +
  • Repairs > Orders > Select or create an order > Miscellaneous > +Operation Type > Default Product Destination Location
  • +
+
+
+

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

+
    +
  • APSL-Nagarro
  • +
+
+
+

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.

+

Current maintainer:

+

ppyczko

+

This module is part of the OCA/repair project on GitHub.

+

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

+
+
+
+ + diff --git a/repair_type_product_destination/tests/__init__.py b/repair_type_product_destination/tests/__init__.py new file mode 100644 index 00000000..48e033be --- /dev/null +++ b/repair_type_product_destination/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import test_repair_type_product_destination diff --git a/repair_type_product_destination/tests/test_repair_type_product_destination.py b/repair_type_product_destination/tests/test_repair_type_product_destination.py new file mode 100644 index 00000000..a0f189fa --- /dev/null +++ b/repair_type_product_destination/tests/test_repair_type_product_destination.py @@ -0,0 +1,78 @@ +# Copyright 2024 Patryk Pyczko (APSL-Nagarro) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestRepairTypeProductDestination(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.stock_location = cls.env["stock.location"].create( + { + "name": "Stock Location", + "usage": "internal", + } + ) + + cls.product_destination_location = cls.env["stock.location"].create( + { + "name": "Product Destination Location", + "usage": "internal", + } + ) + + cls.warehouse = cls.env["stock.warehouse"].create( + { + "name": "Test Warehouse", + "code": "TW", + "lot_stock_id": cls.stock_location.id, + } + ) + + cls.picking_type = cls.env["stock.picking.type"].create( + { + "name": "Repair Operation Type", + "code": "repair_operation", + "warehouse_id": cls.warehouse.id, + "default_location_src_id": cls.stock_location.id, + "default_product_location_dest_id": cls.product_destination_location.id, + "sequence_code": "RO", + } + ) + + cls.product = cls.env["product.product"].create( + { + "name": "Test Product", + "type": "product", + } + ) + + cls.repair_order = cls.env["repair.order"].create( + { + "name": "Test Repair Order", + "picking_type_id": cls.picking_type.id, + "product_id": cls.product.id, + } + ) + + def test_product_location_dest_id_computation(self): + """Test that product_location_dest_id is correctly computed.""" + self.repair_order._compute_product_location_dest_id() + self.assertEqual( + self.repair_order.product_location_dest_id, + self.picking_type.default_product_location_dest_id, + "The product_location_dest_id should be set to the default location.", + ) + + def test_default_product_location_dest_id_computation(self): + """Test the computation of default_product_location_dest_id in picking type.""" + self.picking_type._compute_default_product_location_dest_id() + + self.assertEqual( + self.picking_type.default_product_location_dest_id, + self.picking_type.warehouse_id.lot_stock_id, + "The default_product_location_dest_id should be set to the " + "stock location when the code is 'repair_operation'.", + ) diff --git a/repair_type_product_destination/views/repair_views.xml b/repair_type_product_destination/views/repair_views.xml new file mode 100644 index 00000000..4f590ae5 --- /dev/null +++ b/repair_type_product_destination/views/repair_views.xml @@ -0,0 +1,37 @@ + + + + repair.type.repair.order.tree.inherit + repair.order + + + + + + + + + + repair.type.repair.order.form.inherit + repair.order + + + + + + + + diff --git a/repair_type_product_destination/views/stock_picking_type_views.xml b/repair_type_product_destination/views/stock_picking_type_views.xml new file mode 100644 index 00000000..6ad16187 --- /dev/null +++ b/repair_type_product_destination/views/stock_picking_type_views.xml @@ -0,0 +1,21 @@ + + + + stock.picking.type.inherit.repair.type + stock.picking.type + + + + + + + + From fde416d6840f429672f2b37f3cea17e8ced82640 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 5 Dec 2024 11:28:17 +0000 Subject: [PATCH 2/7] [UPD] Update repair_type_product_destination.pot --- .../i18n/repair_type_product_destination.pot | 2 -- 1 file changed, 2 deletions(-) diff --git a/repair_type_product_destination/i18n/repair_type_product_destination.pot b/repair_type_product_destination/i18n/repair_type_product_destination.pot index 1190fa7d..62871fcc 100644 --- a/repair_type_product_destination/i18n/repair_type_product_destination.pot +++ b/repair_type_product_destination/i18n/repair_type_product_destination.pot @@ -6,8 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-28 13:39+0000\n" -"PO-Revision-Date: 2024-11-28 13:39+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" From 525d4c24dd9ab3477c6b78e22b50a946cd641667 Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 5 Dec 2024 11:53:14 +0000 Subject: [PATCH 3/7] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: repair-17.0/repair-17.0-repair_type_product_destination Translate-URL: https://translation.odoo-community.org/projects/repair-17-0/repair-17-0-repair_type_product_destination/ --- repair_type_product_destination/i18n/ca.po | 6 ++++-- repair_type_product_destination/i18n/es.po | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/repair_type_product_destination/i18n/ca.po b/repair_type_product_destination/i18n/ca.po index 2b1e93dc..39a15b2b 100644 --- a/repair_type_product_destination/i18n/ca.po +++ b/repair_type_product_destination/i18n/ca.po @@ -10,6 +10,7 @@ msgstr "" "PO-Revision-Date: 2024-11-28 13:39+0000\n" "Last-Translator: \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -40,10 +41,11 @@ msgstr "Ordre de reparació" msgid "" "This is the default product destination location where the repaired product " "will be stored.." -msgstr "Aquesta és la ubicació per defecte de destinació del producte on " +msgstr "" +"Aquesta és la ubicació per defecte de destinació del producte on " "s'emmagatzemarà el producte reparat." #. module: repair_type_product_destination #: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id msgid "This is the location where the repaired product will be stored." -msgstr "Aquesta és la ubicació on s'emmagatzemarà el producte reparat." \ No newline at end of file +msgstr "Aquesta és la ubicació on s'emmagatzemarà el producte reparat." diff --git a/repair_type_product_destination/i18n/es.po b/repair_type_product_destination/i18n/es.po index 46ed532d..432c6d7b 100644 --- a/repair_type_product_destination/i18n/es.po +++ b/repair_type_product_destination/i18n/es.po @@ -10,6 +10,7 @@ msgstr "" "PO-Revision-Date: 2024-11-28 13:39+0000\n" "Last-Translator: \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -40,10 +41,11 @@ msgstr "Orden de reparación" msgid "" "This is the default product destination location where the repaired product " "will be stored.." -msgstr "Esta es la ubicación predeterminada de destino del producto donde se " +msgstr "" +"Esta es la ubicación predeterminada de destino del producto donde se " "almacenará el producto reparado." #. module: repair_type_product_destination #: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id msgid "This is the location where the repaired product will be stored." -msgstr "Esta es la ubicación donde se almacenará el producto reparado." \ No newline at end of file +msgstr "Esta es la ubicación donde se almacenará el producto reparado." From 1f3fcd4724f705f78ac095fe83dc8a7c2732c7a2 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 6 Dec 2024 16:54:42 +0000 Subject: [PATCH 4/7] Added translation using Weblate (Italian) --- repair_type_product_destination/i18n/it.po | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 repair_type_product_destination/i18n/it.po diff --git a/repair_type_product_destination/i18n/it.po b/repair_type_product_destination/i18n/it.po new file mode 100644 index 00000000..3d012f4d --- /dev/null +++ b/repair_type_product_destination/i18n/it.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * repair_type_product_destination +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.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: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "Default Product Destination Location" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_stock_picking_type +msgid "Picking Type" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model.fields,field_description:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "Product Destination Location" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model,name:repair_type_product_destination.model_repair_order +msgid "Repair Order" +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id +msgid "" +"This is the default product destination location where the repaired product " +"will be stored.." +msgstr "" + +#. module: repair_type_product_destination +#: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id +msgid "This is the location where the repaired product will be stored." +msgstr "" From da5b20208bc4139449373598d62aec7c010766a1 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 6 Dec 2024 16:55:38 +0000 Subject: [PATCH 5/7] Translated using Weblate (Italian) Currently translated at 100.0% (6 of 6 strings) Translation: repair-17.0/repair-17.0-repair_type_product_destination Translate-URL: https://translation.odoo-community.org/projects/repair-17-0/repair-17-0-repair_type_product_destination/it/ --- repair_type_product_destination/i18n/it.po | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/repair_type_product_destination/i18n/it.po b/repair_type_product_destination/i18n/it.po index 3d012f4d..99f777c3 100644 --- a/repair_type_product_destination/i18n/it.po +++ b/repair_type_product_destination/i18n/it.po @@ -6,33 +6,35 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-12-06 19:06+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 5.6.2\n" #. module: repair_type_product_destination #: model:ir.model.fields,field_description:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id msgid "Default Product Destination Location" -msgstr "" +msgstr "Ubicazione predefinita destinazione prodotto" #. module: repair_type_product_destination #: model:ir.model,name:repair_type_product_destination.model_stock_picking_type msgid "Picking Type" -msgstr "" +msgstr "Tipo prelievo" #. module: repair_type_product_destination #: model:ir.model.fields,field_description:repair_type_product_destination.field_repair_order__product_location_dest_id msgid "Product Destination Location" -msgstr "" +msgstr "Ubicazione destinazione prodotto" #. module: repair_type_product_destination #: model:ir.model,name:repair_type_product_destination.model_repair_order msgid "Repair Order" -msgstr "" +msgstr "Ordine di riparazione" #. module: repair_type_product_destination #: model:ir.model.fields,help:repair_type_product_destination.field_stock_picking_type__default_product_location_dest_id @@ -40,8 +42,10 @@ msgid "" "This is the default product destination location where the repaired product " "will be stored.." msgstr "" +"Questa è l'ubicazione di destinazione predefinita del prodotto in cui verrà " +"depositato il prodotto riparato." #. module: repair_type_product_destination #: model:ir.model.fields,help:repair_type_product_destination.field_repair_order__product_location_dest_id msgid "This is the location where the repaired product will be stored." -msgstr "" +msgstr "Questo è l'ubicazione in cui verrà depositato il prodotto riparato." From 0eff18b64aa8d0c5683c2c160cd651202eeba1ab Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Mon, 6 Jan 2025 16:28:37 +0530 Subject: [PATCH 6/7] [IMP] repair_type_product_destination: pre-commit auto fixes --- .../views/repair_views.xml | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/repair_type_product_destination/views/repair_views.xml b/repair_type_product_destination/views/repair_views.xml index 4f590ae5..fd19acc4 100644 --- a/repair_type_product_destination/views/repair_views.xml +++ b/repair_type_product_destination/views/repair_views.xml @@ -1,37 +1,37 @@ - - repair.type.repair.order.tree.inherit - repair.order - - - - - - - + repair.type.repair.order.tree.inherit + repair.order + + + + + + + - - repair.type.repair.order.form.inherit - repair.order - - - repair.type.repair.order.form.inherit + repair.order + + + - - - - + + + From 7ce59f9bd94aaef922f77dfa8fb02c32b2133212 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Mon, 6 Jan 2025 16:29:41 +0530 Subject: [PATCH 7/7] [MIG] repair_type_product_destination: Migration to 18.0 --- repair_type_product_destination/README.rst | 24 ++++++++++--------- .../__manifest__.py | 2 +- .../readme/CONTRIBUTORS.md | 3 ++- .../static/description/index.html | 11 +++++---- .../test_repair_type_product_destination.py | 2 +- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/repair_type_product_destination/README.rst b/repair_type_product_destination/README.rst index 806ee6d1..37ad1e5e 100644 --- a/repair_type_product_destination/README.rst +++ b/repair_type_product_destination/README.rst @@ -17,13 +17,13 @@ Repair Type - Product Destination :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frepair-lightgray.png?logo=github - :target: https://github.com/OCA/repair/tree/17.0/repair_type_product_destination + :target: https://github.com/OCA/repair/tree/18.0/repair_type_product_destination :alt: OCA/repair .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/repair-17-0/repair-17-0-repair_type_product_destination + :target: https://translation.odoo-community.org/projects/repair-18-0/repair-18-0-repair_type_product_destination :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/repair&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -55,13 +55,13 @@ The following fields are available in the Repair module: 1. **Product Destination Location** -- Repairs > Orders > Select or create an order > Miscellaneous > - Product Destination Location +- Repairs > Orders > Select or create an order > Miscellaneous > Product + Destination Location 2. **Default Product Destination Location** -- Repairs > Orders > Select or create an order > Miscellaneous > - Operation Type > Default Product Destination Location +- Repairs > Orders > Select or create an order > Miscellaneous > + Operation Type > Default Product Destination Location Bug Tracker =========== @@ -69,7 +69,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. @@ -84,9 +84,11 @@ Authors Contributors ------------ -- `APSL-Nagarro `__: +- `APSL-Nagarro `__: - - Patryk Pyczko + - Patryk Pyczko + +- ``Heliconia Solutions Pvt. Ltd. ``\ \_ Maintainers ----------- @@ -109,6 +111,6 @@ Current `maintainer `__: |maintainer-ppyczko| -This module is part of the `OCA/repair `_ project on GitHub. +This module is part of the `OCA/repair `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/repair_type_product_destination/__manifest__.py b/repair_type_product_destination/__manifest__.py index fbacc82f..22295de9 100644 --- a/repair_type_product_destination/__manifest__.py +++ b/repair_type_product_destination/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Repair Type - Product Destination", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "category": "Repair", "website": "https://github.com/OCA/repair", "author": "APSL-Nagarro, Odoo Community Association (OCA)", diff --git a/repair_type_product_destination/readme/CONTRIBUTORS.md b/repair_type_product_destination/readme/CONTRIBUTORS.md index 484bb742..92f1176a 100644 --- a/repair_type_product_destination/readme/CONTRIBUTORS.md +++ b/repair_type_product_destination/readme/CONTRIBUTORS.md @@ -1,2 +1,3 @@ - [APSL-Nagarro](https://www.apsl.tech): - - Patryk Pyczko \<\> \ No newline at end of file + - Patryk Pyczko \<\> +- `Heliconia Solutions Pvt. Ltd. `_ diff --git a/repair_type_product_destination/static/description/index.html b/repair_type_product_destination/static/description/index.html index 365b6145..bcfabe3b 100644 --- a/repair_type_product_destination/static/description/index.html +++ b/repair_type_product_destination/static/description/index.html @@ -369,7 +369,7 @@

Repair Type - Product Destination

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:841f2e7afbe4c6e48966faef1044973142b77bb7a11d8be86488044a4fd7cad5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This is a technical module, and it does not provide any new functionality on its own. Due to the way transfers of repaired products work in Odoo, the following fields will not have any effect without @@ -402,8 +402,8 @@

Usage

  • Product Destination Location
    • -
    • Repairs > Orders > Select or create an order > Miscellaneous > -Product Destination Location
    • +
    • Repairs > Orders > Select or create an order > Miscellaneous > Product +Destination Location
    1. Default Product Destination Location
    2. @@ -418,7 +418,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,6 +436,7 @@

      Contributors

    3. Patryk Pyczko <ppyczko@apsl.net>
    4. +
    5. Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>_
    6. @@ -449,7 +450,7 @@

      Maintainers

      promote its widespread use.

      Current maintainer:

      ppyczko

      -

      This module is part of the OCA/repair project on GitHub.

      +

      This module is part of the OCA/repair project on GitHub.

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

      diff --git a/repair_type_product_destination/tests/test_repair_type_product_destination.py b/repair_type_product_destination/tests/test_repair_type_product_destination.py index a0f189fa..9a81456b 100644 --- a/repair_type_product_destination/tests/test_repair_type_product_destination.py +++ b/repair_type_product_destination/tests/test_repair_type_product_destination.py @@ -45,7 +45,7 @@ def setUpClass(cls): cls.product = cls.env["product.product"].create( { "name": "Test Product", - "type": "product", + "is_storable": True, } )