From 415581407c15239ca6a5b23b09df978bc3ee09a4 Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Wed, 22 Nov 2023 20:13:31 +0100 Subject: [PATCH 01/14] [ADD] fleet_vehicle_purchase --- fleet_vehicle_purchase/README.rst | 76 ++++ fleet_vehicle_purchase/__init__.py | 1 + fleet_vehicle_purchase/__manifest__.py | 21 + fleet_vehicle_purchase/models/__init__.py | 2 + .../models/fleet_vehicle.py | 31 ++ .../models/purchase_order.py | 21 + .../readme/CONTRIBUTORS.rst | 1 + fleet_vehicle_purchase/readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 421 ++++++++++++++++++ fleet_vehicle_purchase/tests/__init__.py | 1 + fleet_vehicle_purchase/tests/test_purchase.py | 62 +++ .../views/fleet_vehicle.xml | 31 ++ .../views/purchase_order.xml | 29 ++ 14 files changed, 698 insertions(+) create mode 100644 fleet_vehicle_purchase/README.rst create mode 100644 fleet_vehicle_purchase/__init__.py create mode 100644 fleet_vehicle_purchase/__manifest__.py create mode 100644 fleet_vehicle_purchase/models/__init__.py create mode 100644 fleet_vehicle_purchase/models/fleet_vehicle.py create mode 100644 fleet_vehicle_purchase/models/purchase_order.py create mode 100644 fleet_vehicle_purchase/readme/CONTRIBUTORS.rst create mode 100644 fleet_vehicle_purchase/readme/DESCRIPTION.rst create mode 100644 fleet_vehicle_purchase/static/description/icon.png create mode 100644 fleet_vehicle_purchase/static/description/index.html create mode 100644 fleet_vehicle_purchase/tests/__init__.py create mode 100644 fleet_vehicle_purchase/tests/test_purchase.py create mode 100644 fleet_vehicle_purchase/views/fleet_vehicle.xml create mode 100644 fleet_vehicle_purchase/views/purchase_order.xml diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst new file mode 100644 index 00000000..092d11ef --- /dev/null +++ b/fleet_vehicle_purchase/README.rst @@ -0,0 +1,76 @@ +====================== +Fleet Vehicle Purchase +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:05acad389aa61f332e9110e3211c532f4da708078ec72a1f63d4747fc3ffae13 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Ffleet-lightgray.png?logo=github + :target: https://github.com/OCA/fleet/tree/14.0/fleet_vehicle_purchase + :alt: OCA/fleet +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase + :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/fleet&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Allow to define fleet vehicles on Purchase Orders in order to inherit them properly + +**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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Dixmit + +Contributors +~~~~~~~~~~~~ + +* Enric Tobella - Dixmit + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/fleet `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fleet_vehicle_purchase/__init__.py b/fleet_vehicle_purchase/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/fleet_vehicle_purchase/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py new file mode 100644 index 00000000..b3fd3d3d --- /dev/null +++ b/fleet_vehicle_purchase/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Fleet Vehicle Purchase", + "summary": """ + Allow to integrate Purcase with Fleet Vehicles""", + "version": "14.0.1.0.0", + "license": "AGPL-3", + "author": "Dixmit,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/fleet", + "depends": [ + "account_fleet", + "purchase", + ], + "data": [ + "views/fleet_vehicle.xml", + "views/purchase_order.xml", + ], + "demo": [], +} diff --git a/fleet_vehicle_purchase/models/__init__.py b/fleet_vehicle_purchase/models/__init__.py new file mode 100644 index 00000000..f84e673b --- /dev/null +++ b/fleet_vehicle_purchase/models/__init__.py @@ -0,0 +1,2 @@ +from . import purchase_order +from . import fleet_vehicle diff --git a/fleet_vehicle_purchase/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py new file mode 100644 index 00000000..1950083b --- /dev/null +++ b/fleet_vehicle_purchase/models/fleet_vehicle.py @@ -0,0 +1,31 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class FleetVehicle(models.Model): + + _inherit = "fleet.vehicle" + + purchase_order_ids = fields.One2many( + "purchase.order", inverse_name="fleet_vehicle_id" + ) + purchase_order_count = fields.Integer(compute="_compute_purchase_order_count") + + @api.depends("purchase_order_ids") + def _compute_purchase_order_count(self): + for record in self: + record.purchase_order_count = len(record.purchase_order_ids) + + def action_view_purchase_orders(self): + self.ensure_one() + result = self.env["ir.actions.act_window"]._for_xml_id( + "purchase.purchase_form_action" + ) + result.update( + { + "domain": [("fleet_vehicle_id", "=", self.id)], + } + ) + return result diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py new file mode 100644 index 00000000..1e6ffdb5 --- /dev/null +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -0,0 +1,21 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class PurchaseOrder(models.Model): + + _inherit = "purchase.order" + + fleet_vehicle_id = fields.Many2one("fleet.vehicle", string="Vehicle") + + +class PurchaseOrderLine(models.Model): + + _inherit = "purchase.order.line" + + def _prepare_account_move_line(self): + result = super()._prepare_account_move_line() + result["vehicle_id"] = self.order_id.fleet_vehicle_id.id + return result diff --git a/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst b/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..10f2a7f8 --- /dev/null +++ b/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Enric Tobella - Dixmit diff --git a/fleet_vehicle_purchase/readme/DESCRIPTION.rst b/fleet_vehicle_purchase/readme/DESCRIPTION.rst new file mode 100644 index 00000000..e5a445ec --- /dev/null +++ b/fleet_vehicle_purchase/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Allow to define fleet vehicles on Purchase Orders in order to inherit them properly diff --git a/fleet_vehicle_purchase/static/description/icon.png b/fleet_vehicle_purchase/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 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/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html new file mode 100644 index 00000000..ca2a0630 --- /dev/null +++ b/fleet_vehicle_purchase/static/description/index.html @@ -0,0 +1,421 @@ + + + + + + +Fleet Vehicle Purchase + + + +
+

Fleet Vehicle Purchase

+ + +

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

+

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

+

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 to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Dixmit
  • +
+
+
+

Contributors

+
    +
  • Enric Tobella - Dixmit
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

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

+

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

+
+
+
+ + diff --git a/fleet_vehicle_purchase/tests/__init__.py b/fleet_vehicle_purchase/tests/__init__.py new file mode 100644 index 00000000..5f85fc3d --- /dev/null +++ b/fleet_vehicle_purchase/tests/__init__.py @@ -0,0 +1 @@ +from . import test_purchase diff --git a/fleet_vehicle_purchase/tests/test_purchase.py b/fleet_vehicle_purchase/tests/test_purchase.py new file mode 100644 index 00000000..4d7a654b --- /dev/null +++ b/fleet_vehicle_purchase/tests/test_purchase.py @@ -0,0 +1,62 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields +from odoo.tests.common import Form, SavepointCase + + +class TestPurchase(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.brand = cls.env["fleet.vehicle.model.brand"].create( + { + "name": "Audi", + } + ) + cls.model = cls.env["fleet.vehicle.model"].create( + { + "brand_id": cls.brand.id, + "name": "A3", + } + ) + cls.car_1 = cls.env["fleet.vehicle"].create( + { + "model_id": cls.model.id, + "driver_id": cls.env.user.partner_id.id, + "plan_to_change_car": False, + } + ) + cls.product = cls.env["product.product"].create( + { + "name": "product", + "type": "service", + } + ) + + def test_purchase(self): + self.assertEqual(0, self.car_1.purchase_order_count) + order_action = self.car_1.action_view_purchase_orders() + self.assertFalse( + self.env[order_action["res_model"]].search(order_action["domain"]) + ) + with Form(self.env["purchase.order"]) as form: + form.partner_id = self.env.user.partner_id + form.fleet_vehicle_id = self.car_1 + with form.order_line.new() as form_line: + form_line.product_id = self.product + form_line.price_unit = 100 + self.assertEqual(1, self.car_1.purchase_order_count) + purchase = form.save() + self.assertEqual( + purchase, self.env[order_action["res_model"]].search(order_action["domain"]) + ) + purchase.button_confirm() + purchase.order_line.qty_received = 1 + invoice_action = purchase.action_create_invoice() + invoice = self.env[invoice_action["res_model"]].browse(invoice_action["res_id"]) + invoice.invoice_date = fields.Date.today() + self.assertTrue(invoice.invoice_line_ids.vehicle_id) + self.assertFalse(self.car_1.log_services) + invoice.action_post() + self.assertTrue(self.car_1.log_services) diff --git a/fleet_vehicle_purchase/views/fleet_vehicle.xml b/fleet_vehicle_purchase/views/fleet_vehicle.xml new file mode 100644 index 00000000..5d4a6d6e --- /dev/null +++ b/fleet_vehicle_purchase/views/fleet_vehicle.xml @@ -0,0 +1,31 @@ + + + + + + fleet.vehicle.form (in fleet_vehicle_purchase) + fleet.vehicle + + +
+ +
+
+
+ + +
diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml new file mode 100644 index 00000000..29d30b07 --- /dev/null +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -0,0 +1,29 @@ + + + + + + purchase.order.form (in fleet_vehicle_purchase) + purchase.order + + + + + + + + + + purchase.order.search (in fleet_vehicle_purchase) + purchase.order + + + + + + + + + + From cc1d8ddc1ebac0256cf04d685afda21c5e074771 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 27 Feb 2024 14:08:26 +0000 Subject: [PATCH 02/14] [UPD] Update fleet_vehicle_purchase.pot --- .../i18n/fleet_vehicle_purchase.pot | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot diff --git a/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot new file mode 100644 index 00000000..a2c7a3db --- /dev/null +++ b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From 5bfd700f8ed7f6401a261a533f14f55419ea9863 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 27 Feb 2024 14:10:58 +0000 Subject: [PATCH 03/14] [BOT] post-merge updates --- fleet_vehicle_purchase/README.rst | 2 +- fleet_vehicle_purchase/static/description/index.html | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index 092d11ef..31ab5a31 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -7,7 +7,7 @@ Fleet Vehicle Purchase !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:05acad389aa61f332e9110e3211c532f4da708078ec72a1f63d4747fc3ffae13 + !! source digest: sha256:5dd174e74baf04f3397e05e892f40ea552a6fafb3a0659b95511e290bb83ee91 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index ca2a0630..6a3683e4 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Fleet Vehicle Purchase

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:05acad389aa61f332e9110e3211c532f4da708078ec72a1f63d4747fc3ffae13 +!! source digest: sha256:5dd174e74baf04f3397e05e892f40ea552a6fafb3a0659b95511e290bb83ee91 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

From 88bb72ddd0c0f5ac6691a54a6dbd75643853d16c Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Tue, 19 Mar 2024 06:57:56 +0000 Subject: [PATCH 04/14] Added translation using Weblate (Spanish) --- fleet_vehicle_purchase/i18n/es.po | 68 +++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/es.po diff --git a/fleet_vehicle_purchase/i18n/es.po b/fleet_vehicle_purchase/i18n/es.po new file mode 100644 index 00000000..f3ee5ca7 --- /dev/null +++ b/fleet_vehicle_purchase/i18n/es.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From 6ae50d9f0c6cc6ec1bb16efdc1de1910323f26c3 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Tue, 19 Mar 2024 06:58:27 +0000 Subject: [PATCH 05/14] Translated using Weblate (Spanish) Currently translated at 100.0% (9 of 9 strings) Translation: fleet-14.0/fleet-14.0-fleet_vehicle_purchase Translate-URL: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase/es/ --- fleet_vehicle_purchase/i18n/es.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/es.po b/fleet_vehicle_purchase/i18n/es.po index f3ee5ca7..f561d290 100644 --- a/fleet_vehicle_purchase/i18n/es.po +++ b/fleet_vehicle_purchase/i18n/es.po @@ -6,63 +6,65 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-03-19 08:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "Purcase Orders" -msgstr "" +msgstr "Órdenes de compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids msgid "Purchase Order" -msgstr "" +msgstr "Orden de Compra" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Recuento de Orden de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Línea de Orden de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id msgid "Vehicle" -msgstr "" +msgstr "Vehículo" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "show the purchase orders for this vehicle" -msgstr "" +msgstr "mostrar las órdenes de compra para este vehículo" From 9025d4a010539042d53eabfcb5197489878a3da8 Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Mon, 8 Apr 2024 14:38:20 -0300 Subject: [PATCH 06/14] [FIX] fleet_vehicle_purchase: fix prepare_account_move_line method --- fleet_vehicle_purchase/models/purchase_order.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py index 1e6ffdb5..187c0111 100644 --- a/fleet_vehicle_purchase/models/purchase_order.py +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -15,7 +15,7 @@ class PurchaseOrderLine(models.Model): _inherit = "purchase.order.line" - def _prepare_account_move_line(self): - result = super()._prepare_account_move_line() + def _prepare_account_move_line(self, move=False): + result = super()._prepare_account_move_line(move) result["vehicle_id"] = self.order_id.fleet_vehicle_id.id return result From e74af419ce5556729a857216d0cc2a0115c7ce05 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 11 Apr 2024 15:34:18 +0000 Subject: [PATCH 07/14] [BOT] post-merge updates --- fleet_vehicle_purchase/README.rst | 2 +- fleet_vehicle_purchase/__manifest__.py | 2 +- fleet_vehicle_purchase/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index 31ab5a31..3a777bd7 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -7,7 +7,7 @@ Fleet Vehicle Purchase !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5dd174e74baf04f3397e05e892f40ea552a6fafb3a0659b95511e290bb83ee91 + !! source digest: sha256:f3b09d9697c664a080571a50cac4a829fabdaa53eebf56fbbc27e6068faec41e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py index b3fd3d3d..9eb3b09d 100644 --- a/fleet_vehicle_purchase/__manifest__.py +++ b/fleet_vehicle_purchase/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fleet Vehicle Purchase", "summary": """ Allow to integrate Purcase with Fleet Vehicles""", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "author": "Dixmit,Odoo Community Association (OCA)", "website": "https://github.com/OCA/fleet", diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index 6a3683e4..7c531474 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -366,7 +366,7 @@

Fleet Vehicle Purchase

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

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

From bc061010ee41f975f8342c23cd9cd70b533918ae Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 29 Apr 2024 12:10:51 +0000 Subject: [PATCH 08/14] Added translation using Weblate (Italian) --- fleet_vehicle_purchase/i18n/it.po | 68 +++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/it.po diff --git a/fleet_vehicle_purchase/i18n/it.po b/fleet_vehicle_purchase/i18n/it.po new file mode 100644 index 00000000..ee1a32e9 --- /dev/null +++ b/fleet_vehicle_purchase/i18n/it.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From a95db464c9baa44ef336a222df4a36b5c2220191 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 29 Apr 2024 12:28:55 +0000 Subject: [PATCH 09/14] Translated using Weblate (Italian) Currently translated at 100.0% (9 of 9 strings) Translation: fleet-14.0/fleet-14.0-fleet_vehicle_purchase Translate-URL: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase/it/ --- fleet_vehicle_purchase/i18n/it.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/it.po b/fleet_vehicle_purchase/i18n/it.po index ee1a32e9..6c835762 100644 --- a/fleet_vehicle_purchase/i18n/it.po +++ b/fleet_vehicle_purchase/i18n/it.po @@ -6,63 +6,65 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-29 14: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: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "Purcase Orders" -msgstr "" +msgstr "Ordini di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids msgid "Purchase Order" -msgstr "" +msgstr "Ordine di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Conteggio ordine di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Riga ordine di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id msgid "Vehicle" -msgstr "" +msgstr "Veicolo" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "show the purchase orders for this vehicle" -msgstr "" +msgstr "visualizza l'ordine di acquisto per questo veicolo" From e520e64e36ac80adf9e263a73eea206adee8b77e Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Fri, 13 Sep 2024 21:03:34 +0000 Subject: [PATCH 10/14] Added translation using Weblate (Portuguese (Brazil)) --- fleet_vehicle_purchase/i18n/pt_BR.po | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/pt_BR.po diff --git a/fleet_vehicle_purchase/i18n/pt_BR.po b/fleet_vehicle_purchase/i18n/pt_BR.po new file mode 100644 index 00000000..c3f40868 --- /dev/null +++ b/fleet_vehicle_purchase/i18n/pt_BR.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: pt_BR\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: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From 40f1c4e6cca2c0e19ec284d491f50ecf5c74c0c4 Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Fri, 13 Sep 2024 21:04:43 +0000 Subject: [PATCH 11/14] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (9 of 9 strings) Translation: fleet-14.0/fleet-14.0-fleet_vehicle_purchase Translate-URL: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase/pt_BR/ --- fleet_vehicle_purchase/i18n/pt_BR.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/pt_BR.po b/fleet_vehicle_purchase/i18n/pt_BR.po index c3f40868..bb662d87 100644 --- a/fleet_vehicle_purchase/i18n/pt_BR.po +++ b/fleet_vehicle_purchase/i18n/pt_BR.po @@ -6,63 +6,65 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-09-13 23:06+0000\n" +"Last-Translator: Marcel Savegnago \n" "Language-Team: none\n" "Language: pt_BR\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: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Nome Exibido" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificação em" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "Purcase Orders" -msgstr "" +msgstr "Pedidos de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids msgid "Purchase Order" -msgstr "" +msgstr "Pedido de Compra" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Contagem de Pedidos de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Linha de Encomenda" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id msgid "Vehicle" -msgstr "" +msgstr "Veículo" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "show the purchase orders for this vehicle" -msgstr "" +msgstr "mostrar os pedidos de compra para esse veículo" From e943539b8be9f58d25af5d676633947de018a43a Mon Sep 17 00:00:00 2001 From: Lindsay Date: Tue, 15 Oct 2024 13:09:57 +0200 Subject: [PATCH 12/14] [IMP] fleet_vehicle_purchase: black, isort, prettier --- fleet_vehicle_purchase/README.rst | 10 +++++----- fleet_vehicle_purchase/__manifest__.py | 2 +- .../static/description/index.html | 17 ++++++++++------- .../odoo/addons/fleet_vehicle_purchase | 1 + setup/fleet_vehicle_purchase/setup.py | 6 ++++++ 5 files changed, 23 insertions(+), 13 deletions(-) create mode 120000 setup/fleet_vehicle_purchase/odoo/addons/fleet_vehicle_purchase create mode 100644 setup/fleet_vehicle_purchase/setup.py diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index 3a777bd7..cf2eaeaa 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -17,13 +17,13 @@ Fleet Vehicle Purchase :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffleet-lightgray.png?logo=github - :target: https://github.com/OCA/fleet/tree/14.0/fleet_vehicle_purchase + :target: https://github.com/OCA/fleet/tree/16.0/fleet_vehicle_purchase :alt: OCA/fleet .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase + :target: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_purchase :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/fleet&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/fleet&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -41,7 +41,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. @@ -71,6 +71,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/fleet `_ project on GitHub. +This module is part of the `OCA/fleet `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py index 9eb3b09d..85d3a0a1 100644 --- a/fleet_vehicle_purchase/__manifest__.py +++ b/fleet_vehicle_purchase/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fleet Vehicle Purchase", "summary": """ Allow to integrate Purcase with Fleet Vehicles""", - "version": "14.0.1.0.1", + "version": "16.0.1.0.0", "license": "AGPL-3", "author": "Dixmit,Odoo Community Association (OCA)", "website": "https://github.com/OCA/fleet", diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index 7c531474..edea48c2 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z 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. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* 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 } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,7 +369,7 @@

Fleet Vehicle Purchase

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:f3b09d9697c664a080571a50cac4a829fabdaa53eebf56fbbc27e6068faec41e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

Table of contents

@@ -387,7 +388,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.

@@ -407,11 +408,13 @@

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.

-

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

+

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

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

diff --git a/setup/fleet_vehicle_purchase/odoo/addons/fleet_vehicle_purchase b/setup/fleet_vehicle_purchase/odoo/addons/fleet_vehicle_purchase new file mode 120000 index 00000000..dc788095 --- /dev/null +++ b/setup/fleet_vehicle_purchase/odoo/addons/fleet_vehicle_purchase @@ -0,0 +1 @@ +../../../../fleet_vehicle_purchase \ No newline at end of file diff --git a/setup/fleet_vehicle_purchase/setup.py b/setup/fleet_vehicle_purchase/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/fleet_vehicle_purchase/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From e9bae48ae497656578ed529dac5f296e4d3e9e55 Mon Sep 17 00:00:00 2001 From: Lindsay Date: Tue, 15 Oct 2024 13:16:11 +0200 Subject: [PATCH 13/14] [16.0][MIG] fleet_vehicle_purchase : Migration to 16.0 --- fleet_vehicle_purchase/tests/test_purchase.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fleet_vehicle_purchase/tests/test_purchase.py b/fleet_vehicle_purchase/tests/test_purchase.py index 4d7a654b..9a3ecfe7 100644 --- a/fleet_vehicle_purchase/tests/test_purchase.py +++ b/fleet_vehicle_purchase/tests/test_purchase.py @@ -2,10 +2,10 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import fields -from odoo.tests.common import Form, SavepointCase +from odoo.tests.common import Form, TransactionCase -class TestPurchase(SavepointCase): +class TestPurchase(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() From bb02ffd551774a145eb3bbc00b92f342c4bebbed Mon Sep 17 00:00:00 2001 From: Lindsay Date: Wed, 16 Oct 2024 08:30:51 +0200 Subject: [PATCH 14/14] [IMP] Add the possibility to have more than 1 vehicle by PO Initially, there was only one vehicle for one PO. Now, if the vehicle is set on the PO, all the PO lines are related to this vehicle But if the vehicle is not set on the PO, the user can decide to have different vehicles on every line. Use case is a grouped purchase of several items for several vehicles. --- fleet_vehicle_purchase/models/__init__.py | 1 + .../models/fleet_vehicle.py | 12 +++++-- .../models/purchase_order.py | 10 ------ .../models/purchase_order_line.py | 36 +++++++++++++++++++ .../views/purchase_order.xml | 11 ++++++ 5 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 fleet_vehicle_purchase/models/purchase_order_line.py diff --git a/fleet_vehicle_purchase/models/__init__.py b/fleet_vehicle_purchase/models/__init__.py index f84e673b..2e882ded 100644 --- a/fleet_vehicle_purchase/models/__init__.py +++ b/fleet_vehicle_purchase/models/__init__.py @@ -1,2 +1,3 @@ from . import purchase_order +from . import purchase_order_line from . import fleet_vehicle diff --git a/fleet_vehicle_purchase/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py index 1950083b..75e42626 100644 --- a/fleet_vehicle_purchase/models/fleet_vehicle.py +++ b/fleet_vehicle_purchase/models/fleet_vehicle.py @@ -15,8 +15,16 @@ class FleetVehicle(models.Model): @api.depends("purchase_order_ids") def _compute_purchase_order_count(self): - for record in self: - record.purchase_order_count = len(record.purchase_order_ids) + orders = self.env["purchase.order"].read_group( + [("fleet_vehicle_id", "in", self.ids)], + ["fleet_vehicle_id"], + ["fleet_vehicle_id"], + ) + mapped_data = { + po["fleet_vehicle_id"][0]: po["fleet_vehicle_id_count"] for po in orders + } + for rec in self: + rec.purchase_order_count = mapped_data.get(rec.id, 0) def action_view_purchase_orders(self): self.ensure_one() diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py index 187c0111..e9d7f306 100644 --- a/fleet_vehicle_purchase/models/purchase_order.py +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -9,13 +9,3 @@ class PurchaseOrder(models.Model): _inherit = "purchase.order" fleet_vehicle_id = fields.Many2one("fleet.vehicle", string="Vehicle") - - -class PurchaseOrderLine(models.Model): - - _inherit = "purchase.order.line" - - def _prepare_account_move_line(self, move=False): - result = super()._prepare_account_move_line(move) - result["vehicle_id"] = self.order_id.fleet_vehicle_id.id - return result diff --git a/fleet_vehicle_purchase/models/purchase_order_line.py b/fleet_vehicle_purchase/models/purchase_order_line.py new file mode 100644 index 00000000..7fd8bf73 --- /dev/null +++ b/fleet_vehicle_purchase/models/purchase_order_line.py @@ -0,0 +1,36 @@ +# Copyright 2024 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class PurchaseOrderLine(models.Model): + _inherit = "purchase.order.line" + + fleet_vehicle_id = fields.Many2one( + comodel_name="fleet.vehicle", + compute="_compute_fleet_vehicle_id", + store=True, + readonly=False, + ) + fleet_vehicle_from_po = fields.Boolean( + compute="_compute_fleet_vehicle_from_po", store=True + ) + + @api.depends("fleet_vehicle_from_po") + def _compute_fleet_vehicle_id(self): + for rec in self: + if rec.fleet_vehicle_from_po: + rec.fleet_vehicle_id = rec.order_id.fleet_vehicle_id + + @api.depends("order_id", "order_id.fleet_vehicle_id") + def _compute_fleet_vehicle_from_po(self): + for rec in self: + rec.fleet_vehicle_from_po = bool(rec.order_id.fleet_vehicle_id) + + def _prepare_account_move_line(self, move=False): + self.ensure_one() + result = super()._prepare_account_move_line(move) + if self.fleet_vehicle_id: + result["vehicle_id"] = self.fleet_vehicle_id.id + return result diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml index 29d30b07..212775b5 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -11,6 +11,17 @@ + + + +