From b6395ed708ab689d0817cef8b994b09d0728fdb8 Mon Sep 17 00:00:00 2001 From: Alba Riera Date: Thu, 17 Mar 2022 18:35:07 +0100 Subject: [PATCH 01/32] [ADD] edi_stock_oca --- edi_stock_oca/README.rst | 71 ++++ edi_stock_oca/__init__.py | 1 + edi_stock_oca/__manifest__.py | 15 + edi_stock_oca/models/__init__.py | 1 + edi_stock_oca/models/stock_picking.py | 24 ++ edi_stock_oca/readme/CONTRIBUTORS.rst | 1 + edi_stock_oca/readme/DESCRIPTION.rst | 14 + edi_stock_oca/static/description/icon.png | Bin 0 -> 9455 bytes edi_stock_oca/static/description/index.html | 403 ++++++++++++++++++++ edi_stock_oca/tests/__init__.py | 1 + edi_stock_oca/tests/test_edi.py | 52 +++ edi_stock_oca/views/res_partner.xml | 15 + edi_stock_oca/views/stock_picking.xml | 39 ++ 13 files changed, 637 insertions(+) create mode 100644 edi_stock_oca/README.rst create mode 100644 edi_stock_oca/__init__.py create mode 100644 edi_stock_oca/__manifest__.py create mode 100644 edi_stock_oca/models/__init__.py create mode 100644 edi_stock_oca/models/stock_picking.py create mode 100644 edi_stock_oca/readme/CONTRIBUTORS.rst create mode 100644 edi_stock_oca/readme/DESCRIPTION.rst create mode 100644 edi_stock_oca/static/description/icon.png create mode 100644 edi_stock_oca/static/description/index.html create mode 100644 edi_stock_oca/tests/__init__.py create mode 100644 edi_stock_oca/tests/test_edi.py create mode 100644 edi_stock_oca/views/res_partner.xml create mode 100644 edi_stock_oca/views/stock_picking.xml diff --git a/edi_stock_oca/README.rst b/edi_stock_oca/README.rst new file mode 100644 index 000000000..0a8204b20 --- /dev/null +++ b/edi_stock_oca/README.rst @@ -0,0 +1,71 @@ +============= +Edi Stock Oca +============= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-origin%2Fedi-lightgray.png?logo=github + :target: https://github.com/origin/edi/tree/13.0/edi_stock_oca + :alt: origin/edi + +|badge1| |badge2| |badge3| + +This module intends to create a base to be extended by local edi rules +for stock. + +In order to add a new integration for an stock picking, you need to create a listener: + +.. code-block:: python + + class MyEventListener(Component): + _name = "stock.picking.event.listener.demo" + _inherit = "base.event.listener" + _apply_on = ["stock.picking"] + + def on_validate(self, picking): + """Add your code here about creation of record""" + + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Odoo Community Association + +Contributors +~~~~~~~~~~~~ + +* Alba Riera + +Maintainers +~~~~~~~~~~~ + +This module is part of the `origin/edi `_ project on GitHub. + +You are welcome to contribute. diff --git a/edi_stock_oca/__init__.py b/edi_stock_oca/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/edi_stock_oca/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/edi_stock_oca/__manifest__.py b/edi_stock_oca/__manifest__.py new file mode 100644 index 000000000..4b3b4ff4c --- /dev/null +++ b/edi_stock_oca/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2022 Odoo Community Association +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Edi Stock Oca", + "summary": """ + Define EDI Configuration for Stock""", + "version": "13.0.1.0.0", + "license": "AGPL-3", + "author": "Odoo Community Association,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/edi", + "depends": ["stock", "edi", "component_event"], + "data": ["views/stock_picking.xml", "views/res_partner.xml"], + "demo": [], +} diff --git a/edi_stock_oca/models/__init__.py b/edi_stock_oca/models/__init__.py new file mode 100644 index 000000000..ae4c27227 --- /dev/null +++ b/edi_stock_oca/models/__init__.py @@ -0,0 +1 @@ +from . import stock_picking diff --git a/edi_stock_oca/models/stock_picking.py b/edi_stock_oca/models/stock_picking.py new file mode 100644 index 000000000..16000aa7d --- /dev/null +++ b/edi_stock_oca/models/stock_picking.py @@ -0,0 +1,24 @@ +# Copyright 2022 OCA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class StockPicking(models.Model): + _name = "stock.picking" + + _inherit = ["stock.picking", "edi.exchange.consumer.mixin"] + + edi_auto_disabled = fields.Boolean( + states={ + "draft": [("readonly", False)], + "waiting": [("readonly", False)], + "confirmed": [("readonly", False)], + "assigned": [("readonly", False)], + }, + ) + + def button_validate(self): + res = super().button_validate() + self._event("on_validate").notify(self) + return res diff --git a/edi_stock_oca/readme/CONTRIBUTORS.rst b/edi_stock_oca/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..c5fbe36d1 --- /dev/null +++ b/edi_stock_oca/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Alba Riera diff --git a/edi_stock_oca/readme/DESCRIPTION.rst b/edi_stock_oca/readme/DESCRIPTION.rst new file mode 100644 index 000000000..25489ad7d --- /dev/null +++ b/edi_stock_oca/readme/DESCRIPTION.rst @@ -0,0 +1,14 @@ +This module intends to create a base to be extended by local edi rules +for stock. + +In order to add a new integration for an stock picking, you need to create a listener: + +.. code-block:: python + + class MyEventListener(Component): + _name = "stock.picking.event.listener.demo" + _inherit = "base.event.listener" + _apply_on = ["stock.picking"] + + def on_validate(self, picking): + """Add your code here about creation of record""" diff --git a/edi_stock_oca/static/description/icon.png b/edi_stock_oca/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/edi_stock_oca/static/description/index.html b/edi_stock_oca/static/description/index.html new file mode 100644 index 000000000..7204e2f40 --- /dev/null +++ b/edi_stock_oca/static/description/index.html @@ -0,0 +1,403 @@ + + + + + + +Edi Stock Oca + + + +
+

Edi Stock Oca

+ + +

Beta License: AGPL-3 origin/edi

+

This module intends to create a base to be extended by local edi rules +for stock.

+

In order to add a new integration for an stock picking, you need to create a listener:

+
+class MyEventListener(Component):
+    _name = "stock.picking.event.listener.demo"
+    _inherit = "base.event.listener"
+    _apply_on = ["stock.picking"]
+
+    def on_validate(self, picking):
+        """Add your code here about creation of record"""
+
+

Table of contents

+ +
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Odoo Community Association
  • +
+
+ +
+

Maintainers

+

This module is part of the origin/edi project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/edi_stock_oca/tests/__init__.py b/edi_stock_oca/tests/__init__.py new file mode 100644 index 000000000..25aeb70b8 --- /dev/null +++ b/edi_stock_oca/tests/__init__.py @@ -0,0 +1 @@ +from . import test_edi diff --git a/edi_stock_oca/tests/test_edi.py b/edi_stock_oca/tests/test_edi.py new file mode 100644 index 000000000..8679c7246 --- /dev/null +++ b/edi_stock_oca/tests/test_edi.py @@ -0,0 +1,52 @@ +# Copyright 2022 Creu Blanca +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo.addons.component.core import Component +from odoo.addons.component.tests.common import SavepointComponentRegistryCase +from odoo.addons.stock.tests.common import TestStockCommon + + +class EDIBackendTestCase(TestStockCommon, SavepointComponentRegistryCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + + class StockPickingEventListenerDemo(Component): + _name = "stock.picking.event.listener.demo" + _inherit = "base.event.listener" + + def on_validate(self, picking): + picking.name = "picking_done" + + StockPickingEventListenerDemo._build_component(cls.comp_registry) + cls.comp_registry._cache.clear() + cls.picking_in = cls.PickingObj.with_context( + components_registry=cls.comp_registry + ).create( + { + "picking_type_id": cls.picking_type_in, + "location_id": cls.supplier_location, + "location_dest_id": cls.stock_location, + } + ) + move_a = cls.MoveObj.create( + { + "name": cls.productA.name, + "product_id": cls.productA.id, + "product_uom_qty": 1, + "product_uom": cls.productA.uom_id.id, + "picking_id": cls.picking_in.id, + "location_id": cls.supplier_location, + "location_dest_id": cls.stock_location, + } + ) + cls.picking_in.refresh() + cls.picking_in.action_confirm() + cls.picking_in.action_assign() + move_a.move_line_ids.qty_done = 4 + + def test_validate_picking(self): + self.picking_in.button_validate() + self.assertEqual(self.picking_in.name, "picking_done") diff --git a/edi_stock_oca/views/res_partner.xml b/edi_stock_oca/views/res_partner.xml new file mode 100644 index 000000000..81ace2803 --- /dev/null +++ b/edi_stock_oca/views/res_partner.xml @@ -0,0 +1,15 @@ + + + + + res.partner.form (in edi_account) + res.partner + + + + + + + + diff --git a/edi_stock_oca/views/stock_picking.xml b/edi_stock_oca/views/stock_picking.xml new file mode 100644 index 000000000..cfdd6bf37 --- /dev/null +++ b/edi_stock_oca/views/stock_picking.xml @@ -0,0 +1,39 @@ + + + + + + stock.picking.form (in edi_stock_oca) + stock.picking + + + + + + + + + + + + + + + + + + From e04f2819725d7e4d2e55d0aed5a6d9860a0bb49d Mon Sep 17 00:00:00 2001 From: Alba Riera Date: Fri, 8 Apr 2022 08:23:36 +0200 Subject: [PATCH 02/32] [IMP] edi_account: change name field disable_edi_auto to edi_auto_disabled [UPD] Update edi_stock_oca.pot [UPD] README.rst --- edi_stock_oca/README.rst | 35 +++++++++---- edi_stock_oca/i18n/edi_stock_oca.pot | 54 +++++++++++++++++++++ edi_stock_oca/models/stock_picking.py | 4 +- edi_stock_oca/static/description/index.html | 45 +++++++++++++---- edi_stock_oca/tests/test_edi.py | 2 +- 5 files changed, 118 insertions(+), 22 deletions(-) create mode 100644 edi_stock_oca/i18n/edi_stock_oca.pot diff --git a/edi_stock_oca/README.rst b/edi_stock_oca/README.rst index 0a8204b20..a3b7e21be 100644 --- a/edi_stock_oca/README.rst +++ b/edi_stock_oca/README.rst @@ -13,11 +13,17 @@ Edi Stock Oca .. |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-origin%2Fedi-lightgray.png?logo=github - :target: https://github.com/origin/edi/tree/13.0/edi_stock_oca - :alt: origin/edi - -|badge1| |badge2| |badge3| +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github + :target: https://github.com/OCA/edi/tree/13.0/edi_stock_oca + :alt: OCA/edi +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/edi-13-0/edi-13-0-edi_stock_oca + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/226/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| This module intends to create a base to be extended by local edi rules for stock. @@ -34,7 +40,6 @@ In order to add a new integration for an stock picking, you need to create a lis def on_validate(self, picking): """Add your code here about creation of record""" - **Table of contents** .. contents:: @@ -43,10 +48,10 @@ In order to add a new integration for an stock picking, you need to create a lis Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -66,6 +71,16 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `origin/edi `_ project on GitHub. +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/edi `_ project on GitHub. -You are welcome to contribute. +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_stock_oca/i18n/edi_stock_oca.pot b/edi_stock_oca/i18n/edi_stock_oca.pot new file mode 100644 index 000000000..9439649b5 --- /dev/null +++ b/edi_stock_oca/i18n/edi_stock_oca.pot @@ -0,0 +1,54 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * edi_stock_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: edi_stock_oca +#: model_terms:ir.ui.view,arch_db:edi_stock_oca.stock_picking_form_view +msgid "EDI" +msgstr "" + +#. module: edi_stock_oca +#: model_terms:ir.ui.view,arch_db:edi_stock_oca.stock_picking_form_view +msgid "Disable" +msgstr "" + +#. module: edi_stock_oca +#: model_terms:ir.ui.view,arch_db:edi_stock_oca.stock_picking_form_view +msgid "EDI" +msgstr "" + +#. module: edi_stock_oca +#: model_terms:ir.ui.view,arch_db:edi_stock_oca.view_partner_form +msgid "EDI Configuration" +msgstr "" + +#. module: edi_stock_oca +#: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__edi_auto_disabled +msgid "Edi Auto Disabled" +msgstr "" + +#. module: edi_stock_oca +#: model_terms:ir.ui.view,arch_db:edi_stock_oca.stock_picking_form_view +msgid "Electronic Data Interchange" +msgstr "" + +#. module: edi_stock_oca +#: model:ir.model,name:edi_stock_oca.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: edi_stock_oca +#: model:ir.model.fields,help:edi_stock_oca.field_stock_picking__edi_auto_disabled +msgid "When marked, EDI could be avoided" +msgstr "" diff --git a/edi_stock_oca/models/stock_picking.py b/edi_stock_oca/models/stock_picking.py index 16000aa7d..c4af27487 100644 --- a/edi_stock_oca/models/stock_picking.py +++ b/edi_stock_oca/models/stock_picking.py @@ -18,7 +18,7 @@ class StockPicking(models.Model): }, ) - def button_validate(self): - res = super().button_validate() + def action_done(self): + res = super().action_done() self._event("on_validate").notify(self) return res diff --git a/edi_stock_oca/static/description/index.html b/edi_stock_oca/static/description/index.html index 7204e2f40..4f502d12f 100644 --- a/edi_stock_oca/static/description/index.html +++ b/edi_stock_oca/static/description/index.html @@ -3,13 +3,13 @@ - + Edi Stock Oca -
-

Edi Stock Oca

+
+ + +Odoo Community Association + +
+

EDI Stock OCA

-

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

+

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

This module intends to create a base to be extended by local edi rules for stock.

In order to add a new integration for an stock picking, you need to @@ -396,7 +401,7 @@

Edi Stock Oca

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -404,22 +409,23 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

    -
  • Odoo Community Association
  • +
  • Creu Blanca
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -432,5 +438,6 @@

Maintainers

+
From 8d7e5c40eb48cc716a221595d37c6c3c39ca10b1 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 11 Sep 2025 11:57:47 +0000 Subject: [PATCH 27/32] [UPD] Update edi_stock_oca.pot --- edi_stock_oca/i18n/edi_stock_oca.pot | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/edi_stock_oca/i18n/edi_stock_oca.pot b/edi_stock_oca/i18n/edi_stock_oca.pot index a85eed24e..59b67947c 100644 --- a/edi_stock_oca/i18n/edi_stock_oca.pot +++ b/edi_stock_oca/i18n/edi_stock_oca.pot @@ -79,6 +79,11 @@ msgstr "" msgid "Exchange Record Count" msgstr "" +#. module: edi_stock_oca +#: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__exchange_related_record_ids +msgid "Exchange Related Record" +msgstr "" + #. module: edi_stock_oca #: model:ir.model.fields,help:edi_stock_oca.field_stock_picking__origin_edi_endpoint_id msgid "Record generated via this endpoint" From 4d32648d9b2c3d2e860c05551bb0f9d5adebff1b Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 11 Sep 2025 12:01:14 +0000 Subject: [PATCH 28/32] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: edi-framework-18.0/edi-framework-18.0-edi_stock_oca Translate-URL: https://translation.odoo-community.org/projects/edi-framework-18-0/edi-framework-18-0-edi_stock_oca/ --- edi_stock_oca/i18n/it.po | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/edi_stock_oca/i18n/it.po b/edi_stock_oca/i18n/it.po index 8cca0dae5..8a41612fb 100644 --- a/edi_stock_oca/i18n/it.po +++ b/edi_stock_oca/i18n/it.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6.2\n" +#. module: edi_stock_oca +#: model:ir.model,name:edi_stock_oca.model_res_partner +msgid "Contact" +msgstr "" + #. module: edi_stock_oca #: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__edi_disable_auto msgid "Disable auto" @@ -26,11 +31,6 @@ msgstr "Disabilita automatico" msgid "EDI" msgstr "EDI" -#. module: edi_stock_oca -#: model_terms:ir.ui.view,arch_db:edi_stock_oca.view_partner_form -msgid "EDI Configuration" -msgstr "Configurazione EDI" - #. module: edi_stock_oca #: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__origin_edi_endpoint_id msgid "EDI origin endpoint" @@ -51,6 +51,12 @@ msgstr "Record origine EDI" msgid "EDI record that originated this document." msgstr "Record EDI che ha generato questo documento." +#. module: edi_stock_oca +#: model:ir.model.fields,field_description:edi_stock_oca.field_res_partner__edi_stock_picking_conf_ids +#: model:ir.model.fields,field_description:edi_stock_oca.field_res_users__edi_stock_picking_conf_ids +msgid "EDI stock configuration" +msgstr "" + #. module: edi_stock_oca #: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__edi_config msgid "Edi Config" @@ -76,6 +82,11 @@ msgstr "Record di scambio" msgid "Exchange Record Count" msgstr "Conteggio record di scambio" +#. module: edi_stock_oca +#: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__exchange_related_record_ids +msgid "Exchange Related Record" +msgstr "" + #. module: edi_stock_oca #: model:ir.model.fields,help:edi_stock_oca.field_stock_picking__origin_edi_endpoint_id msgid "Record generated via this endpoint" @@ -86,7 +97,15 @@ msgstr "Record generato attraverso questo endpoint" msgid "Transfer" msgstr "Trasferimento" +#. module: edi_stock_oca +#: model_terms:ir.ui.view,arch_db:edi_stock_oca.view_partner_form +msgid "Transfers" +msgstr "" + #. module: edi_stock_oca #: model:ir.model.fields,help:edi_stock_oca.field_stock_picking__edi_disable_auto msgid "When marked, EDI automatic processing will be avoided" msgstr "Quando selezionata, l'elaborazione EDI automatica verrĂ  evitata" + +#~ msgid "EDI Configuration" +#~ msgstr "Configurazione EDI" From f6f1809be0c60611295f8bd1ec9aa02e32f4280c Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 15 Sep 2025 06:37:34 +0000 Subject: [PATCH 29/32] Translated using Weblate (Italian) Currently translated at 100.0% (18 of 18 strings) Translation: edi-framework-18.0/edi-framework-18.0-edi_stock_oca Translate-URL: https://translation.odoo-community.org/projects/edi-framework-18-0/edi-framework-18-0-edi_stock_oca/it/ --- edi_stock_oca/i18n/it.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/edi_stock_oca/i18n/it.po b/edi_stock_oca/i18n/it.po index 8a41612fb..a435e29c0 100644 --- a/edi_stock_oca/i18n/it.po +++ b/edi_stock_oca/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-07-29 08:58+0000\n" +"PO-Revision-Date: 2025-09-15 08:42+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,12 +14,12 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: edi_stock_oca #: model:ir.model,name:edi_stock_oca.model_res_partner msgid "Contact" -msgstr "" +msgstr "Contatto" #. module: edi_stock_oca #: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__edi_disable_auto @@ -55,7 +55,7 @@ msgstr "Record EDI che ha generato questo documento." #: model:ir.model.fields,field_description:edi_stock_oca.field_res_partner__edi_stock_picking_conf_ids #: model:ir.model.fields,field_description:edi_stock_oca.field_res_users__edi_stock_picking_conf_ids msgid "EDI stock configuration" -msgstr "" +msgstr "Configurazione magazzino EDI" #. module: edi_stock_oca #: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__edi_config @@ -85,7 +85,7 @@ msgstr "Conteggio record di scambio" #. module: edi_stock_oca #: model:ir.model.fields,field_description:edi_stock_oca.field_stock_picking__exchange_related_record_ids msgid "Exchange Related Record" -msgstr "" +msgstr "Record relativo allo scambio" #. module: edi_stock_oca #: model:ir.model.fields,help:edi_stock_oca.field_stock_picking__origin_edi_endpoint_id @@ -100,7 +100,7 @@ msgstr "Trasferimento" #. module: edi_stock_oca #: model_terms:ir.ui.view,arch_db:edi_stock_oca.view_partner_form msgid "Transfers" -msgstr "" +msgstr "Trasferimenti" #. module: edi_stock_oca #: model:ir.model.fields,help:edi_stock_oca.field_stock_picking__edi_disable_auto From ea24ef0349f004cc3f82fa6064911bb99f7ec016 Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Fri, 29 Aug 2025 19:28:38 +0200 Subject: [PATCH 30/32] [IMP] edi_stock_oca: Adapt to new edi_core_oca logic --- edi_stock_oca/tests/test_edi.py | 16 ++++++++++------ edi_stock_oca/views/res_partner.xml | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/edi_stock_oca/tests/test_edi.py b/edi_stock_oca/tests/test_edi.py index 72b4a3795..f2fa488e6 100644 --- a/edi_stock_oca/tests/test_edi.py +++ b/edi_stock_oca/tests/test_edi.py @@ -58,9 +58,11 @@ def _create_picking(self): def _mock_generate(self, exc_rec): return f"TRANSFER STATE {exc_rec.record.state}" - @mock.patch("odoo.addons.edi_oca.models.edi_backend.EDIBackend._validate_data") - @mock.patch("odoo.addons.edi_oca.models.edi_backend.EDIBackend._exchange_generate") - @mock.patch("odoo.addons.edi_oca.models.edi_backend.EDIBackend._exchange_send") + @mock.patch("odoo.addons.edi_core_oca.models.edi_backend.EDIBackend._validate_data") + @mock.patch( + "odoo.addons.edi_core_oca.models.edi_backend.EDIBackend._exchange_generate" + ) + @mock.patch("odoo.addons.edi_core_oca.models.edi_backend.EDIBackend._exchange_send") def test_picking_cancel_flow(self, mock_send, mock_generate, mock_validate): mock_generate.side_effect = self._mock_generate picking = self._create_picking() @@ -76,9 +78,11 @@ def test_picking_cancel_flow(self, mock_send, mock_generate, mock_validate): self.assertEqual(record2.type_id, self.exc_type_out) self.assertEqual(record2._get_file_content(), "TRANSFER STATE cancel") - @mock.patch("odoo.addons.edi_oca.models.edi_backend.EDIBackend._validate_data") - @mock.patch("odoo.addons.edi_oca.models.edi_backend.EDIBackend._exchange_generate") - @mock.patch("odoo.addons.edi_oca.models.edi_backend.EDIBackend._exchange_send") + @mock.patch("odoo.addons.edi_core_oca.models.edi_backend.EDIBackend._validate_data") + @mock.patch( + "odoo.addons.edi_core_oca.models.edi_backend.EDIBackend._exchange_generate" + ) + @mock.patch("odoo.addons.edi_core_oca.models.edi_backend.EDIBackend._exchange_send") def test_picking_done_flow(self, mock_send, mock_generate, mock_validate): mock_generate.side_effect = self._mock_generate picking = self._create_picking() diff --git a/edi_stock_oca/views/res_partner.xml b/edi_stock_oca/views/res_partner.xml index 5aa7af998..d80a693c9 100644 --- a/edi_stock_oca/views/res_partner.xml +++ b/edi_stock_oca/views/res_partner.xml @@ -5,7 +5,7 @@ res.partner.view.form res.partner - + From 9d7a58917d012ae6458c830cd176b2e46951d442 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 29 Sep 2025 15:30:38 +0000 Subject: [PATCH 31/32] [BOT] post-merge updates --- edi_stock_oca/README.rst | 2 +- edi_stock_oca/__manifest__.py | 2 +- edi_stock_oca/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/edi_stock_oca/README.rst b/edi_stock_oca/README.rst index 453698627..442a349b3 100644 --- a/edi_stock_oca/README.rst +++ b/edi_stock_oca/README.rst @@ -11,7 +11,7 @@ EDI Stock OCA !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5a4b66e2d48533ba9ef5fc9bc533aae1cde80fed04f5a637636092348e540dbd + !! source digest: sha256:2bfa1cb755a6f8e89e8c22b36e0b803a587a8607be92c3de5eb8b11e9371faec !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/edi_stock_oca/__manifest__.py b/edi_stock_oca/__manifest__.py index 7a7c3f183..f73d81750 100644 --- a/edi_stock_oca/__manifest__.py +++ b/edi_stock_oca/__manifest__.py @@ -5,7 +5,7 @@ "name": "EDI Stock OCA", "summary": """ Define EDI Configuration for Stock""", - "version": "18.0.1.0.0", + "version": "18.0.1.0.1", "license": "AGPL-3", "author": "Creu Blanca, Odoo Community Association (OCA)", "website": "https://github.com/OCA/edi-framework", diff --git a/edi_stock_oca/static/description/index.html b/edi_stock_oca/static/description/index.html index bc3d57901..a34f6b7c7 100644 --- a/edi_stock_oca/static/description/index.html +++ b/edi_stock_oca/static/description/index.html @@ -372,7 +372,7 @@

EDI Stock OCA

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

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

This module intends to create a base to be extended by local edi rules From 79af219ae83a93956e0e98bbb87f39371132f7cf Mon Sep 17 00:00:00 2001 From: Sergij Pfaifer Date: Fri, 27 Mar 2026 11:41:59 +0200 Subject: [PATCH 32/32] [MIG] edi_stock_oca: Migration to 19.0 --- edi_stock_oca/README.rst | 10 +++--- edi_stock_oca/__manifest__.py | 4 +-- edi_stock_oca/static/description/index.html | 6 ++-- edi_stock_oca/tests/test_edi.py | 35 ++++++++++++++++++--- 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/edi_stock_oca/README.rst b/edi_stock_oca/README.rst index 442a349b3..d4c6da4eb 100644 --- a/edi_stock_oca/README.rst +++ b/edi_stock_oca/README.rst @@ -21,13 +21,13 @@ EDI Stock OCA :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi--framework-lightgray.png?logo=github - :target: https://github.com/OCA/edi-framework/tree/18.0/edi_stock_oca + :target: https://github.com/OCA/edi-framework/tree/19.0/edi_stock_oca :alt: OCA/edi-framework .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/edi-framework-18-0/edi-framework-18-0-edi_stock_oca + :target: https://translation.odoo-community.org/projects/edi-framework-19-0/edi-framework-19-0-edi_stock_oca :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/edi-framework&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/edi-framework&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -59,7 +59,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. @@ -91,6 +91,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/edi-framework `_ project on GitHub. +This module is part of the `OCA/edi-framework `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_stock_oca/__manifest__.py b/edi_stock_oca/__manifest__.py index f73d81750..985d0ac16 100644 --- a/edi_stock_oca/__manifest__.py +++ b/edi_stock_oca/__manifest__.py @@ -5,11 +5,11 @@ "name": "EDI Stock OCA", "summary": """ Define EDI Configuration for Stock""", - "version": "18.0.1.0.1", + "version": "19.0.1.0.0", "license": "AGPL-3", "author": "Creu Blanca, Odoo Community Association (OCA)", "website": "https://github.com/OCA/edi-framework", - "depends": ["stock", "edi_oca", "component_event"], + "depends": ["stock", "edi_core_oca", "edi_component_oca"], "data": [ "data/edi_configuration.xml", "views/stock_picking.xml", diff --git a/edi_stock_oca/static/description/index.html b/edi_stock_oca/static/description/index.html index a34f6b7c7..e1fe22923 100644 --- a/edi_stock_oca/static/description/index.html +++ b/edi_stock_oca/static/description/index.html @@ -374,7 +374,7 @@

EDI Stock OCA

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:2bfa1cb755a6f8e89e8c22b36e0b803a587a8607be92c3de5eb8b11e9371faec !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This module intends to create a base to be extended by local edi rules for stock.

In order to add a new integration for an stock picking, you need to @@ -405,7 +405,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.

@@ -433,7 +433,7 @@

Maintainers

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

-

This module is part of the OCA/edi-framework project on GitHub.

+

This module is part of the OCA/edi-framework project on GitHub.

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

diff --git a/edi_stock_oca/tests/test_edi.py b/edi_stock_oca/tests/test_edi.py index f2fa488e6..0462fd6ca 100644 --- a/edi_stock_oca/tests/test_edi.py +++ b/edi_stock_oca/tests/test_edi.py @@ -2,16 +2,42 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). from unittest import mock -from odoo.addons.edi_oca.tests.common import EDIBackendCommonComponentTestCase +from odoo.addons.edi_component_oca.tests.common import EDIBackendCommonComponentTestCase class TestProcessComponent(EDIBackendCommonComponentTestCase): @classmethod def setUpClass(cls): super().setUpClass() - cls.backend = cls.env.ref("edi_stock_oca.demo_edi_backend") - cls.exc_type_out = cls.env.ref("edi_stock_oca.demo_edi_exc_type_order_out") - cls.edi_conf = cls.env.ref("edi_stock_oca.demo_edi_configuration_done") + cls.exc_type_out = cls._create_exchange_type( + name="TRANSFER DEMO", + code="demo_Transfer_out", + direction="output", + exchange_file_ext="xml", + exchange_filename_pattern="{record_name}-{type.code}-{dt}", + ) + cls.edi_conf = cls.env["edi.configuration"].create( + { + "name": "Demo Transfer - Done", + "description": "Show case state change to done", + "backend_id": cls.backend.id, + "type_id": cls.exc_type_out.id, + "trigger_id": cls.env.ref( + "edi_stock_oca.edi_conf_trigger_stock_picking_state_change" + ).id, + "model_id": cls.env["ir.model"]._get_id("stock.picking"), + "snippet_do": """ +# ('draft', 'Draft'), +# ('waiting', 'Waiting Another Operation'), +# ('confirmed', 'Waiting'), +# ('assigned', 'Ready'), +# ('done', 'Done'), +# ('cancel', 'Cancelled'), +if record.state in ('done', 'cancel', 'confirmed', 'assigned'): + record._edi_send_via_edi(conf.type_id) + """, + } + ) cls.partner.edi_stock_picking_conf_ids = cls.edi_conf cls.warehouse = cls.env["stock.warehouse"].search([], limit=1) cls.stock_location = cls.warehouse.lot_stock_id @@ -43,7 +69,6 @@ def _create_picking(self): ) move_a = self.env["stock.move"].create( { - "name": self.product.name, "product_id": self.product.id, "product_uom_qty": 1, "product_uom": self.product.uom_id.id,