From 670e3c44e26b47c5d20fa78e5ec38674ffd2ad81 Mon Sep 17 00:00:00 2001 From: Leonardo Pistone Date: Mon, 3 Aug 2015 12:06:55 +0200 Subject: [PATCH 01/61] rename product_dimensions -> product_dimension osv -> orm test computation of volume in same UOM add test with conversion from cm refactor, new API, generic UOM computation fix wording in readme do not use camelcase for Models put dimensions in their own group Otherwise they are shown as weights. fill in placeholders in README README is actually rst, not md use a new-api onchange, update tests, refactor Also, spell "height" correctly. --- product_dimension/README.rst | 46 ++++++++++++++++ product_dimension/__init__.py | 8 +++ product_dimension/__openerp__.py | 25 +++++++++ product_dimension/product.py | 52 +++++++++++++++++++ product_dimension/product_view.xml | 22 ++++++++ product_dimension/tests/__init__.py | 1 + .../tests/test_compute_volume.py | 48 +++++++++++++++++ 7 files changed, 202 insertions(+) create mode 100644 product_dimension/README.rst create mode 100755 product_dimension/__init__.py create mode 100755 product_dimension/__openerp__.py create mode 100755 product_dimension/product.py create mode 100755 product_dimension/product_view.xml create mode 100644 product_dimension/tests/__init__.py create mode 100644 product_dimension/tests/test_compute_volume.py diff --git a/product_dimension/README.rst b/product_dimension/README.rst new file mode 100644 index 00000000000..bddcf345932 --- /dev/null +++ b/product_dimension/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +Product Dimension +================= +Add dimensions (length, width and height) to products. Find the volume +automatically when you change one of these dimensions. + +This module was previously hosted on github.com/ingadhoc/odoo-addons and +before that on https://launchpad.net/~ingenieria-adhoc. + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + +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 +`here `_. + + +Credits +======= + +Contributors +------------ +* Juan Jose Scarafia +* Leonardo Pistone + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/product_dimension/__init__.py b/product_dimension/__init__.py new file mode 100755 index 00000000000..a61a1c37491 --- /dev/null +++ b/product_dimension/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in module root +# directory +############################################################################## + + +from . import product diff --git a/product_dimension/__openerp__.py b/product_dimension/__openerp__.py new file mode 100755 index 00000000000..17170983977 --- /dev/null +++ b/product_dimension/__openerp__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Copyright 2015 Camptocamp SA +# Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +{ + 'name': 'Product Dimension', + 'version': '2.0', + 'category': 'Product', + 'author': 'ADHOC SA,Camptocamp,Odoo Community Association (OCA)', + 'license': 'AGPL-3', + 'depends': ['product'], + 'data': ['product_view.xml'], +} diff --git a/product_dimension/product.py b/product_dimension/product.py new file mode 100755 index 00000000000..c89e57de070 --- /dev/null +++ b/product_dimension/product.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar) +# Copyright 2015 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + + +from openerp import models, fields +from openerp import api + + +class Product(models.Model): + _inherit = 'product.product' + + @api.onchange('length', 'height', 'width', 'dimensional_uom_id') + def onchange_calculate_volume(self): + if (not self.length or not self.height or not self.width + or not self.dimensional_uom_id): + return False + + length_m = self.convert_to_meters(self.length, self.dimensional_uom_id) + height_m = self.convert_to_meters(self.height, self.dimensional_uom_id) + width_m = self.convert_to_meters(self.width, self.dimensional_uom_id) + self.volume = length_m * height_m * width_m + + def convert_to_meters(self, measure, dimensional_uom): + uom_meters = self.env['product.uom'].search([('name', '=', 'm')]) + + return self.env['product.uom']._compute_qty_obj( + from_unit=dimensional_uom, + qty=measure, + to_unit=uom_meters) + + length = fields.Float() + height = fields.Float(oldname='high') + width = fields.Float() + dimensional_uom_id = fields.Many2one( + 'product.uom', + 'Dimensional UoM', + domain="[('category_id.name', '=', 'Length / Distance')]", + help='UoM for length, height, width') diff --git a/product_dimension/product_view.xml b/product_dimension/product_view.xml new file mode 100755 index 00000000000..65fc6e5e04f --- /dev/null +++ b/product_dimension/product_view.xml @@ -0,0 +1,22 @@ + + + + + + product_normal_form_view + product.product + + + + + + + + + + + + + + + diff --git a/product_dimension/tests/__init__.py b/product_dimension/tests/__init__.py new file mode 100644 index 00000000000..d06df039ccc --- /dev/null +++ b/product_dimension/tests/__init__.py @@ -0,0 +1 @@ +from . import test_compute_volume diff --git a/product_dimension/tests/test_compute_volume.py b/product_dimension/tests/test_compute_volume.py new file mode 100644 index 00000000000..5bddc254930 --- /dev/null +++ b/product_dimension/tests/test_compute_volume.py @@ -0,0 +1,48 @@ +# Author: Leonardo Pistone +# Copyright 2015 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from openerp.tests.common import TransactionCase + + +class TestComputeVolume(TransactionCase): + + def test_it_computes_volume_in_cm(self): + self.product.length = 10. + self.product.height = 200. + self.product.width = 100. + self.product.dimensional_uom_id = self.uom_cm + self.product.onchange_calculate_volume() + self.assertAlmostEqual( + 0.2, + self.product.volume + ) + + def test_it_computes_volume_in_meters(self): + self.product.length = 6. + self.product.height = 2. + self.product.width = 10. + self.product.dimensional_uom_id = self.uom_m + self.product.onchange_calculate_volume() + self.assertAlmostEqual( + 120, + self.product.volume + ) + + def setUp(self): + super(TestComputeVolume, self).setUp() + + self.product = self.env['product.product'].new() + self.uom_m = self.env['product.uom'].search([('name', '=', 'm')]) + self.uom_cm = self.env['product.uom'].search([('name', '=', 'cm')]) From 573ea915e8d150b1b18cf252e442b43159f243b3 Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Tue, 18 Aug 2015 11:05:43 +0200 Subject: [PATCH 02/61] Add missing default oca icons --- product_dimension/static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 product_dimension/static/description/icon.png diff --git a/product_dimension/static/description/icon.png b/product_dimension/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 From 24a2c473ac80f979f0a5f206f5dfc0a5c1d8b7df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Fri, 9 Oct 2015 10:01:56 +0200 Subject: [PATCH 03/61] [UPD] prefix versions with 8.0 --- product_dimension/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_dimension/__openerp__.py b/product_dimension/__openerp__.py index 17170983977..efd39d409b2 100755 --- a/product_dimension/__openerp__.py +++ b/product_dimension/__openerp__.py @@ -16,7 +16,7 @@ # along with this program. If not, see . { 'name': 'Product Dimension', - 'version': '2.0', + 'version': '8.0.2.0.0', 'category': 'Product', 'author': 'ADHOC SA,Camptocamp,Odoo Community Association (OCA)', 'license': 'AGPL-3', From 128afc01d4c18fa454f4401fc363697b01dd492b Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 14 Oct 2015 03:31:08 +0200 Subject: [PATCH 04/61] [MIG] Make modules uninstallable --- product_dimension/__openerp__.py | 1 + 1 file changed, 1 insertion(+) mode change 100755 => 100644 product_dimension/__openerp__.py diff --git a/product_dimension/__openerp__.py b/product_dimension/__openerp__.py old mode 100755 new mode 100644 index efd39d409b2..d123bcac1d6 --- a/product_dimension/__openerp__.py +++ b/product_dimension/__openerp__.py @@ -22,4 +22,5 @@ 'license': 'AGPL-3', 'depends': ['product'], 'data': ['product_view.xml'], + 'installable': False, } From 80725dd8230fb06719d6690ed70d4253ef42d399 Mon Sep 17 00:00:00 2001 From: Hugo Santos Date: Tue, 5 Jan 2016 17:56:06 +0100 Subject: [PATCH 05/61] [FIX] product_dimension: Now domain on dimensional_uom_id is working also with other languages than english --- product_dimension/product.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/product_dimension/product.py b/product_dimension/product.py index c89e57de070..e666d019079 100755 --- a/product_dimension/product.py +++ b/product_dimension/product.py @@ -42,11 +42,17 @@ def convert_to_meters(self, measure, dimensional_uom): qty=measure, to_unit=uom_meters) + @api.model + def _get_dimension_uom_domain(self): + return [ + ('category_id', '=', self.env.ref('product.uom_categ_length').id) + ] + length = fields.Float() height = fields.Float(oldname='high') width = fields.Float() dimensional_uom_id = fields.Many2one( 'product.uom', 'Dimensional UoM', - domain="[('category_id.name', '=', 'Length / Distance')]", + domain=_get_dimension_uom_domain, help='UoM for length, height, width') From 0988ff0df19c273c1f0ab92653f27f0936897a66 Mon Sep 17 00:00:00 2001 From: David Beal Date: Wed, 13 Jan 2016 17:08:36 +0100 Subject: [PATCH 06/61] =?UTF-8?q?[FIX]=C2=A0flake=208=20error=20on=20modul?= =?UTF-8?q?es=20product=5Fdimension,=20product=5Fgtin,=20product=5Fsupplie?= =?UTF-8?q?rinfo=5Ftree=5Fprice=5Finfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- product_dimension/product.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/product_dimension/product.py b/product_dimension/product.py index e666d019079..c467467e02c 100755 --- a/product_dimension/product.py +++ b/product_dimension/product.py @@ -25,8 +25,8 @@ class Product(models.Model): @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - if (not self.length or not self.height or not self.width - or not self.dimensional_uom_id): + if (not self.length or not self.height or not self.width or + not self.dimensional_uom_id): return False length_m = self.convert_to_meters(self.length, self.dimensional_uom_id) From 90a02c45ef62de32b532f80f6146e21470993824 Mon Sep 17 00:00:00 2001 From: Juan Jose Scarafia Date: Tue, 26 Jan 2016 11:34:59 -0300 Subject: [PATCH 07/61] ADD test case with product template REF remove executable permission ADD missing tag images Conflicts: product_dimension/__openerp__.py --- product_dimension/__init__.py | 0 product_dimension/__openerp__.py | 3 +- product_dimension/product.py | 0 .../tests/test_compute_volume.py | 36 +++++++++++++++++-- 4 files changed, 36 insertions(+), 3 deletions(-) mode change 100755 => 100644 product_dimension/__init__.py mode change 100755 => 100644 product_dimension/product.py diff --git a/product_dimension/__init__.py b/product_dimension/__init__.py old mode 100755 new mode 100644 diff --git a/product_dimension/__openerp__.py b/product_dimension/__openerp__.py index d123bcac1d6..bc349fb19c9 100644 --- a/product_dimension/__openerp__.py +++ b/product_dimension/__openerp__.py @@ -22,5 +22,6 @@ 'license': 'AGPL-3', 'depends': ['product'], 'data': ['product_view.xml'], - 'installable': False, + 'installable': True, + 'images': [], } diff --git a/product_dimension/product.py b/product_dimension/product.py old mode 100755 new mode 100644 diff --git a/product_dimension/tests/test_compute_volume.py b/product_dimension/tests/test_compute_volume.py index 5bddc254930..2d72f721032 100644 --- a/product_dimension/tests/test_compute_volume.py +++ b/product_dimension/tests/test_compute_volume.py @@ -16,7 +16,7 @@ from openerp.tests.common import TransactionCase -class TestComputeVolume(TransactionCase): +class TestComputeVolumeOnProduct(TransactionCase): def test_it_computes_volume_in_cm(self): self.product.length = 10. @@ -41,8 +41,40 @@ def test_it_computes_volume_in_meters(self): ) def setUp(self): - super(TestComputeVolume, self).setUp() + super(TestComputeVolumeOnProduct, self).setUp() self.product = self.env['product.product'].new() self.uom_m = self.env['product.uom'].search([('name', '=', 'm')]) self.uom_cm = self.env['product.uom'].search([('name', '=', 'cm')]) + + +class TestComputeVolumeOnTemplate(TransactionCase): + + def test_it_computes_volume_in_cm(self): + self.template.length = 10. + self.template.height = 200. + self.template.width = 100. + self.template.dimensional_uom_id = self.uom_cm + self.template.onchange_calculate_volume() + self.assertAlmostEqual( + 0.2, + self.template.volume + ) + + def test_it_computes_volume_in_meters(self): + self.template.length = 6. + self.template.height = 2. + self.template.width = 10. + self.template.dimensional_uom_id = self.uom_m + self.template.onchange_calculate_volume() + self.assertAlmostEqual( + 120, + self.template.volume + ) + + def setUp(self): + super(TestComputeVolumeOnTemplate, self).setUp() + + self.template = self.env['product.template'].new() + self.uom_m = self.env['product.uom'].search([('name', '=', 'm')]) + self.uom_cm = self.env['product.uom'].search([('name', '=', 'cm')]) From 00862d82a12e2fa34445765cf51698b1bf23ed58 Mon Sep 17 00:00:00 2001 From: Nicolas Mac Rouillon Date: Fri, 11 Sep 2015 10:48:42 -0300 Subject: [PATCH 08/61] [ADD] Dimensions fields in product.template FIX remove oldname in field height ADD onchange calculate volume on product template --- product_dimension/product.py | 32 ++++++++++++++++++++++++++++++ product_dimension/product_view.xml | 17 ++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/product_dimension/product.py b/product_dimension/product.py index c467467e02c..af38e3861d4 100644 --- a/product_dimension/product.py +++ b/product_dimension/product.py @@ -56,3 +56,35 @@ def _get_dimension_uom_domain(self): 'Dimensional UoM', domain=_get_dimension_uom_domain, help='UoM for length, height, width') + + +class Product_template(models.Model): + + _inherit = 'product.template' + + @api.onchange('length', 'height', 'width', 'dimensional_uom_id') + def onchange_calculate_volume(self): + if (not self.length or not self.height or not self.width + or not self.dimensional_uom_id): + return False + + length_m = self.convert_to_meters(self.length, self.dimensional_uom_id) + height_m = self.convert_to_meters(self.height, self.dimensional_uom_id) + width_m = self.convert_to_meters(self.width, self.dimensional_uom_id) + self.volume = length_m * height_m * width_m + + def convert_to_meters(self, measure, dimensional_uom): + uom_meters = self.env['product.uom'].search([('name', '=', 'm')]) + + return self.env['product.uom']._compute_qty_obj( + from_unit=dimensional_uom, + qty=measure, + to_unit=uom_meters) + + length = fields.Float(related='product_variant_ids.length') + height = fields.Float(related='product_variant_ids.height') + width = fields.Float(related='product_variant_ids.width') + dimensional_uom_id = fields.Many2one( + 'product.uom', + 'Dimensional UoM', related='product_variant_ids.dimensional_uom_id', + help='UoM for length, height, width') diff --git a/product_dimension/product_view.xml b/product_dimension/product_view.xml index 65fc6e5e04f..e77476c4753 100755 --- a/product_dimension/product_view.xml +++ b/product_dimension/product_view.xml @@ -18,5 +18,22 @@ + + product_template_form_view + product.template + + + + + + + + + + + + + + From ba3ab5f2ed604c53bf3d9bcba18a5a483f616790 Mon Sep 17 00:00:00 2001 From: Denis Leemann Date: Thu, 26 May 2016 14:24:42 +0200 Subject: [PATCH 09/61] Module structure, views & license headers [MIG] Make modules uninstallable [MIG] Rename manifest files --- product_dimension/README.rst | 1 + product_dimension/__init__.py | 9 +++---- product_dimension/__manifest__.py | 15 +++++++++++ product_dimension/__openerp__.py | 27 ------------------- product_dimension/models/__init__.py | 5 ++++ product_dimension/{ => models}/product.py | 26 +++++------------- product_dimension/tests/__init__.py | 3 +++ .../{ => views}/product_view.xml | 19 ++++++------- 8 files changed, 42 insertions(+), 63 deletions(-) create mode 100644 product_dimension/__manifest__.py delete mode 100644 product_dimension/__openerp__.py create mode 100644 product_dimension/models/__init__.py rename product_dimension/{ => models}/product.py (73%) rename product_dimension/{ => views}/product_view.xml (81%) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index bddcf345932..1b09ea125a3 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -29,6 +29,7 @@ Contributors ------------ * Juan Jose Scarafia * Leonardo Pistone +* Denis Leemann Maintainer ---------- diff --git a/product_dimension/__init__.py b/product_dimension/__init__.py index a61a1c37491..04b5297074e 100644 --- a/product_dimension/__init__.py +++ b/product_dimension/__init__.py @@ -1,8 +1,5 @@ # -*- coding: utf-8 -*- -############################################################################## -# For copyright and license notices, see __openerp__.py file in module root -# directory -############################################################################## +# © 2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from . import product +from . import models diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py new file mode 100644 index 00000000000..dfc25952cc1 --- /dev/null +++ b/product_dimension/__manifest__.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# © 2015-2016 Camptocamp SA +# © 2015 ADHOC SA (http://www.adhoc.com.ar) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + 'name': 'Product Dimension', + 'version': '9.0.1.0.0', + 'category': 'Product', + 'author': 'ADHOC SA, Camptocamp, Odoo Community Association (OCA)', + 'license': 'AGPL-3', + 'depends': ['product'], + 'data': ['views/product_view.xml'], + 'installable': False, + 'images': [], +} diff --git a/product_dimension/__openerp__.py b/product_dimension/__openerp__.py deleted file mode 100644 index bc349fb19c9..00000000000 --- a/product_dimension/__openerp__.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2015 Camptocamp SA -# Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar) -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -{ - 'name': 'Product Dimension', - 'version': '8.0.2.0.0', - 'category': 'Product', - 'author': 'ADHOC SA,Camptocamp,Odoo Community Association (OCA)', - 'license': 'AGPL-3', - 'depends': ['product'], - 'data': ['product_view.xml'], - 'installable': True, - 'images': [], -} diff --git a/product_dimension/models/__init__.py b/product_dimension/models/__init__.py new file mode 100644 index 00000000000..2c167800e1c --- /dev/null +++ b/product_dimension/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2016 Denis Leemann +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import product diff --git a/product_dimension/product.py b/product_dimension/models/product.py similarity index 73% rename from product_dimension/product.py rename to product_dimension/models/product.py index af38e3861d4..829a901a1c6 100644 --- a/product_dimension/product.py +++ b/product_dimension/models/product.py @@ -1,19 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar) -# Copyright 2015 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# © 2015 ADHOC SA (http://www.adhoc.com.ar) +# © 2015-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from openerp import models, fields @@ -49,7 +37,7 @@ def _get_dimension_uom_domain(self): ] length = fields.Float() - height = fields.Float(oldname='high') + height = fields.Float() width = fields.Float() dimensional_uom_id = fields.Many2one( 'product.uom', @@ -58,14 +46,14 @@ def _get_dimension_uom_domain(self): help='UoM for length, height, width') -class Product_template(models.Model): +class ProductTemplate(models.Model): _inherit = 'product.template' @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - if (not self.length or not self.height or not self.width - or not self.dimensional_uom_id): + if (not self.length or not self.height or not self.width or + not self.dimensional_uom_id): return False length_m = self.convert_to_meters(self.length, self.dimensional_uom_id) diff --git a/product_dimension/tests/__init__.py b/product_dimension/tests/__init__.py index d06df039ccc..3f6e1365dd6 100644 --- a/product_dimension/tests/__init__.py +++ b/product_dimension/tests/__init__.py @@ -1 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import test_compute_volume diff --git a/product_dimension/product_view.xml b/product_dimension/views/product_view.xml similarity index 81% rename from product_dimension/product_view.xml rename to product_dimension/views/product_view.xml index e77476c4753..790dea5c682 100755 --- a/product_dimension/product_view.xml +++ b/product_dimension/views/product_view.xml @@ -1,20 +1,19 @@ - - + product_normal_form_view product.product - - + + - + @@ -23,17 +22,15 @@ product.template - - + + - + - - - + From 933ade2b952b0550143da8446de7358ecf8bf89b Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Mon, 12 Mar 2018 12:37:41 +0100 Subject: [PATCH 10/61] [MIG] product_dimension: Migration to 11.0 --- product_dimension/__manifest__.py | 10 ++++++---- product_dimension/models/product.py | 7 ++----- product_dimension/views/product_view.xml | 8 ++++---- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index dfc25952cc1..0ef5327fc00 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -1,15 +1,17 @@ # -*- coding: utf-8 -*- +# © 2018 brain-tec AG (http://www.braintec-group.com) # © 2015-2016 Camptocamp SA # © 2015 ADHOC SA (http://www.adhoc.com.ar) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Product Dimension', - 'version': '9.0.1.0.0', + 'version': '11.0.1.0.0', 'category': 'Product', - 'author': 'ADHOC SA, Camptocamp, Odoo Community Association (OCA)', + 'author': 'brain-tec AG, ADHOC SA, Camptocamp, ' + 'Odoo Community Association (OCA)', 'license': 'AGPL-3', - 'depends': ['product'], + 'depends': ['product', 'stock'], 'data': ['views/product_view.xml'], - 'installable': False, + 'installable': True, 'images': [], } diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 829a901a1c6..e294d924471 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -25,8 +25,7 @@ def onchange_calculate_volume(self): def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env['product.uom'].search([('name', '=', 'm')]) - return self.env['product.uom']._compute_qty_obj( - from_unit=dimensional_uom, + return dimensional_uom._compute_quantity( qty=measure, to_unit=uom_meters) @@ -47,7 +46,6 @@ def _get_dimension_uom_domain(self): class ProductTemplate(models.Model): - _inherit = 'product.template' @api.onchange('length', 'height', 'width', 'dimensional_uom_id') @@ -64,8 +62,7 @@ def onchange_calculate_volume(self): def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env['product.uom'].search([('name', '=', 'm')]) - return self.env['product.uom']._compute_qty_obj( - from_unit=dimensional_uom, + return dimensional_uom._compute_quantity( qty=measure, to_unit=uom_meters) diff --git a/product_dimension/views/product_view.xml b/product_dimension/views/product_view.xml index 790dea5c682..acacb792792 100755 --- a/product_dimension/views/product_view.xml +++ b/product_dimension/views/product_view.xml @@ -6,8 +6,8 @@ product.product - - + + @@ -22,8 +22,8 @@ product.template - - + + From 11cdcc27ca58e14476130138b909d160978b17f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Mon, 12 Mar 2018 13:14:47 -0300 Subject: [PATCH 11/61] [9.0][product_dimension][FIX] Fix volume being incorrectly calculated due to rounding issues (#284)2 --- product_dimension/models/product.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index e294d924471..299331d4e0b 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -27,7 +27,9 @@ def convert_to_meters(self, measure, dimensional_uom): return dimensional_uom._compute_quantity( qty=measure, - to_unit=uom_meters) + to_unit=uom_meters, + round=False, + ) @api.model def _get_dimension_uom_domain(self): @@ -64,7 +66,9 @@ def convert_to_meters(self, measure, dimensional_uom): return dimensional_uom._compute_quantity( qty=measure, - to_unit=uom_meters) + to_unit=uom_meters, + round=False, + ) length = fields.Float(related='product_variant_ids.length') height = fields.Float(related='product_variant_ids.height') From 07b63a5c263c7837dc6f254e4494ad61895fd2ca Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Thu, 15 Mar 2018 11:14:57 +0100 Subject: [PATCH 12/61] [MIG]: Adding suggested changes --- product_dimension/README.rst | 5 +- product_dimension/__init__.py | 4 +- product_dimension/__manifest__.py | 9 ++- product_dimension/i18n/de.po | 63 +++++++++++++++++++ product_dimension/models/__init__.py | 4 +- product_dimension/models/product.py | 17 +++-- product_dimension/tests/__init__.py | 4 +- .../tests/test_compute_volume.py | 19 +----- product_dimension/views/product_view.xml | 8 +-- 9 files changed, 88 insertions(+), 45 deletions(-) create mode 100644 product_dimension/i18n/de.po diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 1b09ea125a3..f1e08df7d98 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -6,7 +6,7 @@ Product Dimension Add dimensions (length, width and height) to products. Find the volume automatically when you change one of these dimensions. -This module was previously hosted on github.com/ingadhoc/odoo-addons and +This module was previously hosted on https://github.com/ingadhoc/odoo-addons and before that on https://launchpad.net/~ingenieria-adhoc. For further information, please visit: @@ -30,6 +30,7 @@ Contributors * Juan Jose Scarafia * Leonardo Pistone * Denis Leemann +* Kumar Aberer Maintainer ---------- @@ -44,4 +45,4 @@ 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. -To contribute to this module, please visit http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. diff --git a/product_dimension/__init__.py b/product_dimension/__init__.py index 04b5297074e..31660d6a965 100644 --- a/product_dimension/__init__.py +++ b/product_dimension/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -# © 2016 Camptocamp SA -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import models diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index 0ef5327fc00..6add66c3df3 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -1,7 +1,6 @@ -# -*- coding: utf-8 -*- -# © 2018 brain-tec AG (http://www.braintec-group.com) -# © 2015-2016 Camptocamp SA -# © 2015 ADHOC SA (http://www.adhoc.com.ar) +# Copyright 2018 brain-tec AG (http://www.braintec-group.com) +# Copyright 2015-2016 Camptocamp SA +# Copyright 2015 ADHOC SA (http://www.adhoc.com.ar) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Product Dimension', @@ -10,7 +9,7 @@ 'author': 'brain-tec AG, ADHOC SA, Camptocamp, ' 'Odoo Community Association (OCA)', 'license': 'AGPL-3', - 'depends': ['product', 'stock'], + 'depends': ['product'], 'data': ['views/product_view.xml'], 'installable': True, 'images': [], diff --git a/product_dimension/i18n/de.po b/product_dimension/i18n/de.po new file mode 100644 index 00000000000..40f13529477 --- /dev/null +++ b/product_dimension/i18n/de.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-15 10:11+0000\n" +"PO-Revision-Date: 2018-03-15 10:11+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +msgid "Dimensional UoM" +msgstr "Einheit d. Abmessungen" + +#. module: product_dimension +#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Dimensions" +msgstr "Abmessungen" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +msgid "Height" +msgstr "Höhe" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +msgid "Length" +msgstr "Länge" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "Produkt" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "Produktvorlage" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "Einheit für Länge, Höhe, Breite" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +msgid "Width" +msgstr "Breite" + diff --git a/product_dimension/models/__init__.py b/product_dimension/models/__init__.py index 2c167800e1c..ff8911a71f9 100644 --- a/product_dimension/models/__init__.py +++ b/product_dimension/models/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -# © 2016 Denis Leemann -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import product diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 299331d4e0b..de64e39050e 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -1,11 +1,10 @@ -# -*- coding: utf-8 -*- -# © 2015 ADHOC SA (http://www.adhoc.com.ar) -# © 2015-2016 Camptocamp SA +# Copyright 2015 ADHOC SA (http://www.adhoc.com.ar) +# Copyright 2015-2016 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import models, fields -from openerp import api +from odoo import models, fields +from odoo import api class Product(models.Model): @@ -23,13 +22,13 @@ def onchange_calculate_volume(self): self.volume = length_m * height_m * width_m def convert_to_meters(self, measure, dimensional_uom): - uom_meters = self.env['product.uom'].search([('name', '=', 'm')]) + uom_meters = self.env.ref('product.product_uom_meter') return dimensional_uom._compute_quantity( qty=measure, to_unit=uom_meters, round=False, - ) + ) @api.model def _get_dimension_uom_domain(self): @@ -62,13 +61,13 @@ def onchange_calculate_volume(self): self.volume = length_m * height_m * width_m def convert_to_meters(self, measure, dimensional_uom): - uom_meters = self.env['product.uom'].search([('name', '=', 'm')]) + uom_meters = self.env.ref('product.product_uom_meter') return dimensional_uom._compute_quantity( qty=measure, to_unit=uom_meters, round=False, - ) + ) length = fields.Float(related='product_variant_ids.length') height = fields.Float(related='product_variant_ids.height') diff --git a/product_dimension/tests/__init__.py b/product_dimension/tests/__init__.py index 3f6e1365dd6..eb22b2fcef5 100644 --- a/product_dimension/tests/__init__.py +++ b/product_dimension/tests/__init__.py @@ -1,4 +1,2 @@ -# -*- coding: utf-8 -*- -# © 2016 Camptocamp SA -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import test_compute_volume diff --git a/product_dimension/tests/test_compute_volume.py b/product_dimension/tests/test_compute_volume.py index 2d72f721032..7da18b997d3 100644 --- a/product_dimension/tests/test_compute_volume.py +++ b/product_dimension/tests/test_compute_volume.py @@ -1,19 +1,6 @@ -# Author: Leonardo Pistone -# Copyright 2015 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -from openerp.tests.common import TransactionCase +# Copyright 2015 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.tests.common import TransactionCase class TestComputeVolumeOnProduct(TransactionCase): diff --git a/product_dimension/views/product_view.xml b/product_dimension/views/product_view.xml index acacb792792..3f17e7ff100 100755 --- a/product_dimension/views/product_view.xml +++ b/product_dimension/views/product_view.xml @@ -4,9 +4,9 @@ product_normal_form_view product.product - + - + @@ -20,9 +20,9 @@ product_template_form_view product.template - + - + From 11e64da8ca991dcac667822476971c18f57e45f9 Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Fri, 20 Apr 2018 13:57:58 -0500 Subject: [PATCH 13/61] [MIG] product_dimension: Adding missing po files and improvemnets --- product_dimension/__manifest__.py | 6 ++- product_dimension/i18n/ca.po | 68 +++++++++++++++++++++++++++++ product_dimension/i18n/es.po | 68 +++++++++++++++++++++++++++++ product_dimension/i18n/fr.po | 60 +++++++++++++++++++++++++ product_dimension/i18n/fr_FR.po | 68 +++++++++++++++++++++++++++++ product_dimension/models/product.py | 39 +++++++++-------- 6 files changed, 289 insertions(+), 20 deletions(-) create mode 100644 product_dimension/i18n/ca.po create mode 100644 product_dimension/i18n/es.po create mode 100644 product_dimension/i18n/fr.po create mode 100644 product_dimension/i18n/fr_FR.po diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index 6add66c3df3..cc4db482cac 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -6,11 +6,13 @@ 'name': 'Product Dimension', 'version': '11.0.1.0.0', 'category': 'Product', - 'author': 'brain-tec AG, ADHOC SA, Camptocamp, ' + 'author': 'brain-tec AG, ADHOC SA, Camptocamp SA, ' 'Odoo Community Association (OCA)', 'license': 'AGPL-3', 'depends': ['product'], 'data': ['views/product_view.xml'], 'installable': True, - 'images': [], + 'images': [ + 'static/description/icon.png', + ], } diff --git a/product_dimension/i18n/ca.po b/product_dimension/i18n/ca.po new file mode 100644 index 00000000000..5ab38ac48c9 --- /dev/null +++ b/product_dimension/i18n/ca.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: product-attribute (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-11-22 01:40+0000\n" +"PO-Revision-Date: 2016-10-20 06:20+0000\n" +"Last-Translator: <>\n" +"Language-Team: Catalan (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_product_brand_id +msgid "Brand" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +msgid "Dimensional UoM" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +msgid "Height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +msgid "Length" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "Producte" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_product_brand_id +msgid "Select a brand for this product" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +msgid "Width" +msgstr "" \ No newline at end of file diff --git a/product_dimension/i18n/es.po b/product_dimension/i18n/es.po new file mode 100644 index 00000000000..842246ce53f --- /dev/null +++ b/product_dimension/i18n/es.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: product-attribute (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-02 03:39+0000\n" +"PO-Revision-Date: 2016-10-20 06:20+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_product_brand_id +msgid "Brand" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +msgid "Dimensional UoM" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +msgid "Height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +msgid "Length" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "Producto" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_product_brand_id +msgid "Select a brand for this product" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +msgid "Width" +msgstr "" \ No newline at end of file diff --git a/product_dimension/i18n/fr.po b/product_dimension/i18n/fr.po new file mode 100644 index 00000000000..3758bdf0f1c --- /dev/null +++ b/product_dimension/i18n/fr.po @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +# Translators: +# leemannd , 2016 +# leemannd , 2016 +msgid "" +msgstr "" +"Project-Id-Version: product-attribute (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-03 15:37+0000\n" +"PO-Revision-Date: 2017-11-03 15:37+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +msgid "Dimensional UoM" +msgstr "UdM Dimensionnel" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +msgid "Height" +msgstr "Hauteur" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +msgid "Length" +msgstr "Longueur" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "Produit" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "Modèle de produit" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "UdM pour longueur, hauteur, largeur" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +msgid "Width" +msgstr "Largeur" \ No newline at end of file diff --git a/product_dimension/i18n/fr_FR.po b/product_dimension/i18n/fr_FR.po new file mode 100644 index 00000000000..b8e9de2f2f5 --- /dev/null +++ b/product_dimension/i18n/fr_FR.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: product-attribute (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-11-22 01:40+0000\n" +"PO-Revision-Date: 2016-10-20 06:20+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (France) (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/fr_FR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_FR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_product_brand_id +msgid "Brand" +msgstr "Marque" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +msgid "Dimensional UoM" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +msgid "Height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +msgid "Length" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_product_brand_id +msgid "Select a brand for this product" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +msgid "Width" +msgstr "" \ No newline at end of file diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index de64e39050e..613fe1aa296 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -3,8 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models, fields -from odoo import api +from odoo import models, fields, api class Product(models.Model): @@ -12,14 +11,16 @@ class Product(models.Model): @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - if (not self.length or not self.height or not self.width or - not self.dimensional_uom_id): - return False - - length_m = self.convert_to_meters(self.length, self.dimensional_uom_id) - height_m = self.convert_to_meters(self.height, self.dimensional_uom_id) - width_m = self.convert_to_meters(self.width, self.dimensional_uom_id) - self.volume = length_m * height_m * width_m + if self.length and self.height and self.width and \ + self.dimensional_uom_id: + length_m = self.convert_to_meters( + self.length, self.dimensional_uom_id) + height_m = self.convert_to_meters( + self.height, self.dimensional_uom_id) + width_m = self.convert_to_meters( + self.width, self.dimensional_uom_id) + self.volume = length_m * height_m * width_m + return False def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env.ref('product.product_uom_meter') @@ -51,14 +52,16 @@ class ProductTemplate(models.Model): @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - if (not self.length or not self.height or not self.width or - not self.dimensional_uom_id): - return False - - length_m = self.convert_to_meters(self.length, self.dimensional_uom_id) - height_m = self.convert_to_meters(self.height, self.dimensional_uom_id) - width_m = self.convert_to_meters(self.width, self.dimensional_uom_id) - self.volume = length_m * height_m * width_m + if self.length and self.height and self.width and \ + self.dimensional_uom_id: + length_m = self.convert_to_meters( + self.length, self.dimensional_uom_id) + height_m = self.convert_to_meters( + self.height, self.dimensional_uom_id) + width_m = self.convert_to_meters( + self.width, self.dimensional_uom_id) + self.volume = length_m * height_m * width_m + return False def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env.ref('product.product_uom_meter') From 6696ace310833f9f5a87e49009a6269e12079e8e Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Tue, 1 May 2018 09:32:19 -0500 Subject: [PATCH 14/61] [MIG] product_dimension: Adding lambda to domain function, Update readme --- product_dimension/README.rst | 56 +++++++++++++++++++++-------- product_dimension/models/product.py | 2 +- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index f1e08df7d98..78ce5bc89ae 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -1,37 +1,65 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :alt: License: AGPL-3 +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 +============== Product Dimension -================= -Add dimensions (length, width and height) to products. Find the volume +============== + +This module extends the functionality of product to support +dimensions (length, width and height). Find the volume automatically when you change one of these dimensions. -This module was previously hosted on https://github.com/ingadhoc/odoo-addons and -before that on https://launchpad.net/~ingenieria-adhoc. +This module was previously hosted on https://github.com/ingadhoc/odoo-addons +and before that on https://launchpad.net/~ingenieria-adhoc. + +Installation +============ + +#. No external library is used. + +Configuration +============= + +#. No configuration is required. + +Usage +===== -For further information, please visit: +To use this module, you need to: -* https://www.odoo.com/forum/help-1 +#. Go to product view and enter dimensions. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/135/11.0 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 -`here `_. - +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 smash it by providing detailed and welcomed feedback. Credits ======= +Images +------ + +* Odoo Community Association: `Icon `_. + Contributors ------------ + * Juan Jose Scarafia * Leonardo Pistone * Denis Leemann * Kumar Aberer +Do not contact contributors directly about support or help with technical issues. + Maintainer ---------- @@ -45,4 +73,4 @@ 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. -To contribute to this module, please visit https://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. \ No newline at end of file diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 613fe1aa296..ec80ef29060 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -43,7 +43,7 @@ def _get_dimension_uom_domain(self): dimensional_uom_id = fields.Many2one( 'product.uom', 'Dimensional UoM', - domain=_get_dimension_uom_domain, + domain=lambda self: self._get_dimension_uom_domain(), help='UoM for length, height, width') From 98190b3b0f579ef8a7610a9a1e0ea3b4828c9f20 Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Wed, 2 May 2018 17:14:13 -0500 Subject: [PATCH 15/61] [IMP] product_dimension: Code cleanup/improvements during migration to 11.0 --- product_dimension/README.rst | 4 +-- product_dimension/models/product.py | 52 +++++++++++++---------------- 2 files changed, 25 insertions(+), 31 deletions(-) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 78ce5bc89ae..7b06b6f34e8 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -2,9 +2,9 @@ :target: https://www.gnu.org/licenses/agpl :alt: License: AGPL-3 -============== +================= Product Dimension -============== +================= This module extends the functionality of product to support dimensions (length, width and height). Find the volume diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index ec80ef29060..22fd01d2106 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -11,25 +11,12 @@ class Product(models.Model): @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - if self.length and self.height and self.width and \ - self.dimensional_uom_id: - length_m = self.convert_to_meters( - self.length, self.dimensional_uom_id) - height_m = self.convert_to_meters( - self.height, self.dimensional_uom_id) - width_m = self.convert_to_meters( - self.width, self.dimensional_uom_id) - self.volume = length_m * height_m * width_m - return False - - def convert_to_meters(self, measure, dimensional_uom): - uom_meters = self.env.ref('product.product_uom_meter') - - return dimensional_uom._compute_quantity( - qty=measure, - to_unit=uom_meters, - round=False, - ) + volume = self.env['product.template']._calc_volume( + self.length, self.height, self.width, self.dimensional_uom_id) + if isinstance(volume, bool): + return False + else: + self.volume = volume @api.model def _get_dimension_uom_domain(self): @@ -50,18 +37,25 @@ def _get_dimension_uom_domain(self): class ProductTemplate(models.Model): _inherit = 'product.template' + @api.model + def _calc_volume(self, length, height, width, uom_id): + volume = False + if length and height and width and uom_id: + length_m = self.convert_to_meters(length, uom_id) + height_m = self.convert_to_meters(height, uom_id) + width_m = self.convert_to_meters(width, uom_id) + volume = length_m * height_m * width_m + + return volume + @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - if self.length and self.height and self.width and \ - self.dimensional_uom_id: - length_m = self.convert_to_meters( - self.length, self.dimensional_uom_id) - height_m = self.convert_to_meters( - self.height, self.dimensional_uom_id) - width_m = self.convert_to_meters( - self.width, self.dimensional_uom_id) - self.volume = length_m * height_m * width_m - return False + volume = self._calc_volume( + self.length, self.height, self.width, self.dimensional_uom_id) + if isinstance(volume, bool): + return False + else: + self.volume = volume def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env.ref('product.product_uom_meter') From db82a33fa484bad5d7115822a162efdd30ba6738 Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Thu, 3 May 2018 09:25:36 -0500 Subject: [PATCH 16/61] [IMP] product_dimension: Reset volume when parameters not valid --- product_dimension/README.rst | 9 --- product_dimension/i18n/ca.po | 23 ++++---- product_dimension/i18n/de.po | 4 +- product_dimension/i18n/es.po | 23 ++++---- product_dimension/i18n/fr.po | 14 ++++- product_dimension/i18n/fr_FR.po | 26 ++++----- product_dimension/i18n/product_dimension.pot | 61 ++++++++++++++++++++ product_dimension/models/product.py | 14 +---- 8 files changed, 110 insertions(+), 64 deletions(-) create mode 100644 product_dimension/i18n/product_dimension.pot diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 7b06b6f34e8..82ccc737fc9 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -13,15 +13,6 @@ automatically when you change one of these dimensions. This module was previously hosted on https://github.com/ingadhoc/odoo-addons and before that on https://launchpad.net/~ingenieria-adhoc. -Installation -============ - -#. No external library is used. - -Configuration -============= - -#. No configuration is required. Usage ===== diff --git a/product_dimension/i18n/ca.po b/product_dimension/i18n/ca.po index 5ab38ac48c9..4659cd7ebf7 100644 --- a/product_dimension/i18n/ca.po +++ b/product_dimension/i18n/ca.po @@ -10,24 +10,26 @@ msgstr "" "POT-Creation-Date: 2016-11-22 01:40+0000\n" "PO-Revision-Date: 2016-10-20 06:20+0000\n" "Last-Translator: <>\n" -"Language-Team: Catalan (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/ca/)\n" +"Language-Team: Catalan (http://www.transifex.com/oca/OCA-product-" +"attribute-9-0/language/ca/)\n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_product_brand_id -msgid "Brand" -msgstr "" - #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id #: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id msgid "Dimensional UoM" msgstr "" +#. module: product_dimension +#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Dimensions" +msgstr "" + #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template_height @@ -50,11 +52,6 @@ msgstr "Producte" msgid "Product Template" msgstr "" -#. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_product_brand_id -msgid "Select a brand for this product" -msgstr "" - #. module: product_dimension #: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id #: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id @@ -65,4 +62,4 @@ msgstr "" #: model:ir.model.fields,field_description:product_dimension.field_product_product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template_width msgid "Width" -msgstr "" \ No newline at end of file +msgstr "" diff --git a/product_dimension/i18n/de.po b/product_dimension/i18n/de.po index 40f13529477..e82cc5f73eb 100644 --- a/product_dimension/i18n/de.po +++ b/product_dimension/i18n/de.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * product_dimension +# * product_dimension # msgid "" msgstr "" @@ -10,6 +10,7 @@ msgstr "" "PO-Revision-Date: 2018-03-15 10:11+0000\n" "Last-Translator: <>\n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -60,4 +61,3 @@ msgstr "Einheit für Länge, Höhe, Breite" #: model:ir.model.fields,field_description:product_dimension.field_product_template_width msgid "Width" msgstr "Breite" - diff --git a/product_dimension/i18n/es.po b/product_dimension/i18n/es.po index 842246ce53f..8a7a4323ec5 100644 --- a/product_dimension/i18n/es.po +++ b/product_dimension/i18n/es.po @@ -10,24 +10,26 @@ msgstr "" "POT-Creation-Date: 2016-12-02 03:39+0000\n" "PO-Revision-Date: 2016-10-20 06:20+0000\n" "Last-Translator: <>\n" -"Language-Team: Spanish (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-product-" +"attribute-9-0/language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_product_brand_id -msgid "Brand" -msgstr "" - #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id #: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id msgid "Dimensional UoM" msgstr "" +#. module: product_dimension +#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Dimensions" +msgstr "" + #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template_height @@ -50,11 +52,6 @@ msgstr "Producto" msgid "Product Template" msgstr "Plantilla de producto" -#. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_product_brand_id -msgid "Select a brand for this product" -msgstr "" - #. module: product_dimension #: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id #: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id @@ -65,4 +62,4 @@ msgstr "" #: model:ir.model.fields,field_description:product_dimension.field_product_product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template_width msgid "Width" -msgstr "" \ No newline at end of file +msgstr "" diff --git a/product_dimension/i18n/fr.po b/product_dimension/i18n/fr.po index 3758bdf0f1c..01090998c94 100644 --- a/product_dimension/i18n/fr.po +++ b/product_dimension/i18n/fr.po @@ -12,11 +12,12 @@ msgstr "" "POT-Creation-Date: 2017-11-03 15:37+0000\n" "PO-Revision-Date: 2017-11-03 15:37+0000\n" "Last-Translator: OCA Transbot \n" -"Language-Team: French (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/oca/OCA-product-" +"attribute-9-0/language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: product_dimension @@ -25,6 +26,13 @@ msgstr "" msgid "Dimensional UoM" msgstr "UdM Dimensionnel" +#. module: product_dimension +#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#, fuzzy +msgid "Dimensions" +msgstr "UdM Dimensionnel" + #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template_height @@ -57,4 +65,4 @@ msgstr "UdM pour longueur, hauteur, largeur" #: model:ir.model.fields,field_description:product_dimension.field_product_product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template_width msgid "Width" -msgstr "Largeur" \ No newline at end of file +msgstr "Largeur" diff --git a/product_dimension/i18n/fr_FR.po b/product_dimension/i18n/fr_FR.po index b8e9de2f2f5..477aad11a5d 100644 --- a/product_dimension/i18n/fr_FR.po +++ b/product_dimension/i18n/fr_FR.po @@ -10,24 +10,26 @@ msgstr "" "POT-Creation-Date: 2016-11-22 01:40+0000\n" "PO-Revision-Date: 2016-10-20 06:20+0000\n" "Last-Translator: <>\n" -"Language-Team: French (France) (http://www.transifex.com/oca/OCA-product-attribute-9-0/language/fr_FR/)\n" +"Language-Team: French (France) (http://www.transifex.com/oca/OCA-product-" +"attribute-9-0/language/fr_FR/)\n" +"Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr_FR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_product_brand_id -msgid "Brand" -msgstr "Marque" - #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id #: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id msgid "Dimensional UoM" msgstr "" +#. module: product_dimension +#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Dimensions" +msgstr "" + #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template_height @@ -50,11 +52,6 @@ msgstr "" msgid "Product Template" msgstr "" -#. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_product_brand_id -msgid "Select a brand for this product" -msgstr "" - #. module: product_dimension #: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id #: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id @@ -65,4 +62,7 @@ msgstr "" #: model:ir.model.fields,field_description:product_dimension.field_product_product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template_width msgid "Width" -msgstr "" \ No newline at end of file +msgstr "" + +#~ msgid "Brand" +#~ msgstr "Marque" diff --git a/product_dimension/i18n/product_dimension.pot b/product_dimension/i18n/product_dimension.pot new file mode 100644 index 00000000000..1c7f787fffe --- /dev/null +++ b/product_dimension/i18n/product_dimension.pot @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.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: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +msgid "Dimensional UoM" +msgstr "" + +#. module: product_dimension +#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Dimensions" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +msgid "Height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +msgid "Length" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +msgid "Width" +msgstr "" + diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 22fd01d2106..bc0dac2c52e 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -11,12 +11,8 @@ class Product(models.Model): @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - volume = self.env['product.template']._calc_volume( + self.volume = self.env['product.template']._calc_volume( self.length, self.height, self.width, self.dimensional_uom_id) - if isinstance(volume, bool): - return False - else: - self.volume = volume @api.model def _get_dimension_uom_domain(self): @@ -39,7 +35,7 @@ class ProductTemplate(models.Model): @api.model def _calc_volume(self, length, height, width, uom_id): - volume = False + volume = 0 if length and height and width and uom_id: length_m = self.convert_to_meters(length, uom_id) height_m = self.convert_to_meters(height, uom_id) @@ -50,12 +46,8 @@ def _calc_volume(self, length, height, width, uom_id): @api.onchange('length', 'height', 'width', 'dimensional_uom_id') def onchange_calculate_volume(self): - volume = self._calc_volume( + self.volume = self._calc_volume( self.length, self.height, self.width, self.dimensional_uom_id) - if isinstance(volume, bool): - return False - else: - self.volume = volume def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env.ref('product.product_uom_meter') From 8dbfdeea73324f41dd6d7611553ab378e5b120df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Valyi?= Date: Sat, 25 May 2019 13:36:04 -0300 Subject: [PATCH 17/61] [MIG] product_dimension: Migration to 12.0 --- product_dimension/__manifest__.py | 2 +- product_dimension/models/product.py | 14 +++++++------- product_dimension/tests/test_compute_volume.py | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index cc4db482cac..d53735da219 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -4,7 +4,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Product Dimension', - 'version': '11.0.1.0.0', + 'version': '12.0.1.0.0', 'category': 'Product', 'author': 'brain-tec AG, ADHOC SA, Camptocamp SA, ' 'Odoo Community Association (OCA)', diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index bc0dac2c52e..2cebdd29e3f 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -17,14 +17,14 @@ def onchange_calculate_volume(self): @api.model def _get_dimension_uom_domain(self): return [ - ('category_id', '=', self.env.ref('product.uom_categ_length').id) + ('category_id', '=', self.env.ref('uom.uom_categ_length').id) ] length = fields.Float() height = fields.Float() width = fields.Float() dimensional_uom_id = fields.Many2one( - 'product.uom', + 'uom.uom', 'Dimensional UoM', domain=lambda self: self._get_dimension_uom_domain(), help='UoM for length, height, width') @@ -50,7 +50,7 @@ def onchange_calculate_volume(self): self.length, self.height, self.width, self.dimensional_uom_id) def convert_to_meters(self, measure, dimensional_uom): - uom_meters = self.env.ref('product.product_uom_meter') + uom_meters = self.env.ref('uom.product_uom_meter') return dimensional_uom._compute_quantity( qty=measure, @@ -58,10 +58,10 @@ def convert_to_meters(self, measure, dimensional_uom): round=False, ) - length = fields.Float(related='product_variant_ids.length') - height = fields.Float(related='product_variant_ids.height') - width = fields.Float(related='product_variant_ids.width') + length = fields.Float(related='product_variant_ids.length', readonly=False) + height = fields.Float(related='product_variant_ids.height', readonly=False) + width = fields.Float(related='product_variant_ids.width', readonly=False) dimensional_uom_id = fields.Many2one( - 'product.uom', + 'uom.uom', 'Dimensional UoM', related='product_variant_ids.dimensional_uom_id', help='UoM for length, height, width') diff --git a/product_dimension/tests/test_compute_volume.py b/product_dimension/tests/test_compute_volume.py index 7da18b997d3..6ba291639a2 100644 --- a/product_dimension/tests/test_compute_volume.py +++ b/product_dimension/tests/test_compute_volume.py @@ -31,8 +31,8 @@ def setUp(self): super(TestComputeVolumeOnProduct, self).setUp() self.product = self.env['product.product'].new() - self.uom_m = self.env['product.uom'].search([('name', '=', 'm')]) - self.uom_cm = self.env['product.uom'].search([('name', '=', 'cm')]) + self.uom_m = self.env['uom.uom'].search([('name', '=', 'm')]) + self.uom_cm = self.env['uom.uom'].search([('name', '=', 'cm')]) class TestComputeVolumeOnTemplate(TransactionCase): @@ -63,5 +63,5 @@ def setUp(self): super(TestComputeVolumeOnTemplate, self).setUp() self.template = self.env['product.template'].new() - self.uom_m = self.env['product.uom'].search([('name', '=', 'm')]) - self.uom_cm = self.env['product.uom'].search([('name', '=', 'cm')]) + self.uom_m = self.env['uom.uom'].search([('name', '=', 'm')]) + self.uom_cm = self.env['uom.uom'].search([('name', '=', 'cm')]) From ad6fc1b0267abe2b59825d19040ca62077f05cf6 Mon Sep 17 00:00:00 2001 From: clementmbr Date: Fri, 11 Oct 2019 14:59:24 +0200 Subject: [PATCH 18/61] [IMP] product_dimension: Works with many variants and split Readme --- product_dimension/README.rst | 77 +-- product_dimension/__manifest__.py | 1 + product_dimension/i18n/product_dimension.pot | 26 +- product_dimension/models/product.py | 19 +- product_dimension/readme/CONTRIBUTORS.rst | 4 + product_dimension/readme/DESCRIPTION.rst | 5 + product_dimension/readme/USAGE.rst | 6 + .../static/description/index.html | 437 ++++++++++++++++++ product_dimension/views/product_view.xml | 25 +- 9 files changed, 543 insertions(+), 57 deletions(-) create mode 100644 product_dimension/readme/CONTRIBUTORS.rst create mode 100644 product_dimension/readme/DESCRIPTION.rst create mode 100644 product_dimension/readme/USAGE.rst create mode 100644 product_dimension/static/description/index.html diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 82ccc737fc9..67322eb3f23 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -1,67 +1,92 @@ -.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png - :target: https://www.gnu.org/licenses/agpl - :alt: License: AGPL-3 - ================= Product Dimension ================= -This module extends the functionality of product to support -dimensions (length, width and height). Find the volume -automatically when you change one of these dimensions. +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-OCA%2Fproduct--attribute-lightgray.png?logo=github + :target: https://github.com/OCA/product-attribute/tree/12.0/product_dimension + :alt: OCA/product-attribute +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_dimension + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/135/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of product to support dimensions (length, width and height). +Also computes the volume automatically when you change one of these dimensions. This module was previously hosted on https://github.com/ingadhoc/odoo-addons and before that on https://launchpad.net/~ingenieria-adhoc. +**Table of contents** + +.. contents:: + :local: Usage ===== -To use this module, you need to: +To use this module : -#. Go to product view and enter dimensions. +#. Go to Product View > Inventory +#. Edit Dimensional UoM and the three dimensions -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/135/11.0 +If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants. 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 smash it by providing detailed and welcomed feedback. +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 ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* brain-tec AG +* ADHOC SA +* Camptocamp SA Contributors ------------- +~~~~~~~~~~~~ * Juan Jose Scarafia * Leonardo Pistone * Denis Leemann * Kumar Aberer -Do not contact contributors directly about support or help with technical issues. +Maintainers +~~~~~~~~~~~ -Maintainer ----------- +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - 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. -To contribute to this module, please visit https://odoo-community.org. \ No newline at end of file +This module is part of the `OCA/product-attribute `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index d53735da219..250852a3f13 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -9,6 +9,7 @@ 'author': 'brain-tec AG, ADHOC SA, Camptocamp SA, ' 'Odoo Community Association (OCA)', 'license': 'AGPL-3', + 'website': 'https://github.com/OCA/product-attribute', 'depends': ['product'], 'data': ['views/product_view.xml'], 'installable': True, diff --git a/product_dimension/i18n/product_dimension.pot b/product_dimension/i18n/product_dimension.pot index 1c7f787fffe..d76e008c06b 100644 --- a/product_dimension/i18n/product_dimension.pot +++ b/product_dimension/i18n/product_dimension.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,26 +14,26 @@ msgstr "" "Plural-Forms: \n" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" msgstr "" #. module: product_dimension -#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view -#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_height -#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +#: model:ir.model.fields,field_description:product_dimension.field_product_product__height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_length -#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +#: model:ir.model.fields,field_description:product_dimension.field_product_product__length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" msgstr "" @@ -48,14 +48,14 @@ msgid "Product Template" msgstr "" #. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_width -#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +#: model:ir.model.fields,field_description:product_dimension.field_product_product__width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" msgstr "" diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 2cebdd29e3f..380ae350e7a 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -2,7 +2,6 @@ # Copyright 2015-2016 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - from odoo import models, fields, api @@ -27,7 +26,9 @@ def _get_dimension_uom_domain(self): 'uom.uom', 'Dimensional UoM', domain=lambda self: self._get_dimension_uom_domain(), - help='UoM for length, height, width') + help='UoM for length, height, width', + default=lambda self: self.env.ref('uom.product_uom_meter'), + ) class ProductTemplate(models.Model): @@ -58,10 +59,16 @@ def convert_to_meters(self, measure, dimensional_uom): round=False, ) + # Define all the related fields in product.template with 'readonly=False' + # to be able to modify the values from product.template. + dimensional_uom_id = fields.Many2one( + 'uom.uom', + 'Dimensional UoM', + related='product_variant_ids.dimensional_uom_id', + help='UoM for length, height, width', + readonly=False, + ) + length = fields.Float(related='product_variant_ids.length', readonly=False) height = fields.Float(related='product_variant_ids.height', readonly=False) width = fields.Float(related='product_variant_ids.width', readonly=False) - dimensional_uom_id = fields.Many2one( - 'uom.uom', - 'Dimensional UoM', related='product_variant_ids.dimensional_uom_id', - help='UoM for length, height, width') diff --git a/product_dimension/readme/CONTRIBUTORS.rst b/product_dimension/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..7590edcb2db --- /dev/null +++ b/product_dimension/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Juan Jose Scarafia +* Leonardo Pistone +* Denis Leemann +* Kumar Aberer diff --git a/product_dimension/readme/DESCRIPTION.rst b/product_dimension/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..1798e4b9834 --- /dev/null +++ b/product_dimension/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module extends the functionality of product to support dimensions (length, width and height). +Also computes the volume automatically when you change one of these dimensions. + +This module was previously hosted on https://github.com/ingadhoc/odoo-addons +and before that on https://launchpad.net/~ingenieria-adhoc. diff --git a/product_dimension/readme/USAGE.rst b/product_dimension/readme/USAGE.rst new file mode 100644 index 00000000000..1752fc62127 --- /dev/null +++ b/product_dimension/readme/USAGE.rst @@ -0,0 +1,6 @@ +To use this module : + +#. Go to Product View > Inventory +#. Edit Dimensional UoM and the three dimensions + +If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants. diff --git a/product_dimension/static/description/index.html b/product_dimension/static/description/index.html new file mode 100644 index 00000000000..730053ced32 --- /dev/null +++ b/product_dimension/static/description/index.html @@ -0,0 +1,437 @@ + + + + + + +Product Dimension + + + +
+

Product Dimension

+ + +

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

This module extends the functionality of product to support dimensions (length, width and height). +Also computes the volume automatically when you change one of these dimensions.

+

This module was previously hosted on https://github.com/ingadhoc/odoo-addons +and before that on https://launchpad.net/~ingenieria-adhoc.

+

Table of contents

+ +
+

Usage

+

To use this module :

+
    +
  1. Go to Product View > Inventory
  2. +
  3. Edit Dimensional UoM and the three dimensions
  4. +
+

If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants.

+
+
+

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

+
    +
  • brain-tec AG
  • +
  • ADHOC SA
  • +
  • Camptocamp SA
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

This module is part of the OCA/product-attribute project on GitHub.

+

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

+
+
+
+ + diff --git a/product_dimension/views/product_view.xml b/product_dimension/views/product_view.xml index 3f17e7ff100..d1927ccbfa5 100755 --- a/product_dimension/views/product_view.xml +++ b/product_dimension/views/product_view.xml @@ -4,14 +4,14 @@ product_normal_form_view product.product - + - + - - - + + + @@ -20,14 +20,15 @@ product_template_form_view product.template - + - - - - - - + + + + + + From 79dab9a4d7fafa1d2e42e3745d346005fafd5f3c Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Tue, 3 Dec 2019 16:27:14 +0000 Subject: [PATCH 19/61] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: product-attribute-12.0/product-attribute-12.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_dimension/ --- product_dimension/i18n/ca.po | 24 ++++++++++++------------ product_dimension/i18n/de.po | 24 ++++++++++++------------ product_dimension/i18n/es.po | 24 ++++++++++++------------ product_dimension/i18n/fr.po | 24 ++++++++++++------------ product_dimension/i18n/fr_FR.po | 24 ++++++++++++------------ 5 files changed, 60 insertions(+), 60 deletions(-) diff --git a/product_dimension/i18n/ca.po b/product_dimension/i18n/ca.po index 4659cd7ebf7..52250543172 100644 --- a/product_dimension/i18n/ca.po +++ b/product_dimension/i18n/ca.po @@ -19,26 +19,26 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" msgstr "" #. module: product_dimension -#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view -#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_height -#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +#: model:ir.model.fields,field_description:product_dimension.field_product_product__height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_length -#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +#: model:ir.model.fields,field_description:product_dimension.field_product_product__length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" msgstr "" @@ -53,13 +53,13 @@ msgid "Product Template" msgstr "" #. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_width -#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +#: model:ir.model.fields,field_description:product_dimension.field_product_product__width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" msgstr "" diff --git a/product_dimension/i18n/de.po b/product_dimension/i18n/de.po index e82cc5f73eb..d143cc93464 100644 --- a/product_dimension/i18n/de.po +++ b/product_dimension/i18n/de.po @@ -17,26 +17,26 @@ msgstr "" "Plural-Forms: \n" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" msgstr "Einheit d. Abmessungen" #. module: product_dimension -#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view -#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" msgstr "Abmessungen" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_height -#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +#: model:ir.model.fields,field_description:product_dimension.field_product_product__height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" msgstr "Höhe" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_length -#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +#: model:ir.model.fields,field_description:product_dimension.field_product_product__length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" msgstr "Länge" @@ -51,13 +51,13 @@ msgid "Product Template" msgstr "Produktvorlage" #. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" msgstr "Einheit für Länge, Höhe, Breite" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_width -#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +#: model:ir.model.fields,field_description:product_dimension.field_product_product__width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" msgstr "Breite" diff --git a/product_dimension/i18n/es.po b/product_dimension/i18n/es.po index 8a7a4323ec5..d56dd8b9f08 100644 --- a/product_dimension/i18n/es.po +++ b/product_dimension/i18n/es.po @@ -19,26 +19,26 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" msgstr "" #. module: product_dimension -#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view -#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_height -#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +#: model:ir.model.fields,field_description:product_dimension.field_product_product__height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_length -#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +#: model:ir.model.fields,field_description:product_dimension.field_product_product__length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" msgstr "" @@ -53,13 +53,13 @@ msgid "Product Template" msgstr "Plantilla de producto" #. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_width -#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +#: model:ir.model.fields,field_description:product_dimension.field_product_product__width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" msgstr "" diff --git a/product_dimension/i18n/fr.po b/product_dimension/i18n/fr.po index 01090998c94..66aebe3b673 100644 --- a/product_dimension/i18n/fr.po +++ b/product_dimension/i18n/fr.po @@ -21,27 +21,27 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" msgstr "UdM Dimensionnel" #. module: product_dimension -#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view -#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view #, fuzzy msgid "Dimensions" msgstr "UdM Dimensionnel" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_height -#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +#: model:ir.model.fields,field_description:product_dimension.field_product_product__height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" msgstr "Hauteur" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_length -#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +#: model:ir.model.fields,field_description:product_dimension.field_product_product__length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" msgstr "Longueur" @@ -56,13 +56,13 @@ msgid "Product Template" msgstr "Modèle de produit" #. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" msgstr "UdM pour longueur, hauteur, largeur" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_width -#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +#: model:ir.model.fields,field_description:product_dimension.field_product_product__width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" msgstr "Largeur" diff --git a/product_dimension/i18n/fr_FR.po b/product_dimension/i18n/fr_FR.po index 477aad11a5d..e54e2aca2e6 100644 --- a/product_dimension/i18n/fr_FR.po +++ b/product_dimension/i18n/fr_FR.po @@ -19,26 +19,26 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,field_description:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" msgstr "" #. module: product_dimension -#: model:ir.ui.view,arch_db:product_dimension.product_normal_form_view -#: model:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_height -#: model:ir.model.fields,field_description:product_dimension.field_product_template_height +#: model:ir.model.fields,field_description:product_dimension.field_product_product__height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_length -#: model:ir.model.fields,field_description:product_dimension.field_product_template_length +#: model:ir.model.fields,field_description:product_dimension.field_product_product__length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" msgstr "" @@ -53,14 +53,14 @@ msgid "Product Template" msgstr "" #. module: product_dimension -#: model:ir.model.fields,help:product_dimension.field_product_product_dimensional_uom_id -#: model:ir.model.fields,help:product_dimension.field_product_template_dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product_width -#: model:ir.model.fields,field_description:product_dimension.field_product_template_width +#: model:ir.model.fields,field_description:product_dimension.field_product_product__width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" msgstr "" From 26c1bfaa8b5521b5cff9733729aa07bcf20aedd8 Mon Sep 17 00:00:00 2001 From: Galoperd Date: Thu, 26 Dec 2019 09:55:05 +0000 Subject: [PATCH 20/61] Translated using Weblate (Spanish) Currently translated at 100.0% (8 of 8 strings) Translation: product-attribute-12.0/product-attribute-12.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_dimension/es/ --- product_dimension/i18n/es.po | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/product_dimension/i18n/es.po b/product_dimension/i18n/es.po index d56dd8b9f08..eebd1304b67 100644 --- a/product_dimension/i18n/es.po +++ b/product_dimension/i18n/es.po @@ -8,39 +8,40 @@ msgstr "" "Project-Id-Version: product-attribute (9.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-12-02 03:39+0000\n" -"PO-Revision-Date: 2016-10-20 06:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: Spanish (http://www.transifex.com/oca/OCA-product-" -"attribute-9-0/language/es/)\n" +"PO-Revision-Date: 2019-12-26 12:05+0000\n" +"Last-Translator: Galoperd \n" +"Language-Team: Spanish (http://www.transifex.com/oca/" +"OCA-product-attribute-9-0/language/es/)\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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.9.1\n" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id #: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" -msgstr "" +msgstr "Dimensiones UdM" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" -msgstr "" +msgstr "Dimensiones" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__height #: model:ir.model.fields,field_description:product_dimension.field_product_template__height msgid "Height" -msgstr "" +msgstr "Alto" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__length #: model:ir.model.fields,field_description:product_dimension.field_product_template__length msgid "Length" -msgstr "" +msgstr "Largo" #. module: product_dimension #: model:ir.model,name:product_dimension.model_product_product @@ -56,10 +57,10 @@ msgstr "Plantilla de producto" #: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id #: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" -msgstr "" +msgstr "UdM para largo, alto, ancho" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__width #: model:ir.model.fields,field_description:product_dimension.field_product_template__width msgid "Width" -msgstr "" +msgstr "Ancho" From 373f33dc7fb7e62aaf1ecc15fa5de785c6df1c67 Mon Sep 17 00:00:00 2001 From: emagdalena Date: Sat, 7 Mar 2020 16:07:55 +0100 Subject: [PATCH 21/61] [FIX] rename length to product_length --- product_dimension/__manifest__.py | 2 +- product_dimension/i18n/product_dimension.pot | 30 ++++++++++++--- .../migrations/12.0.2.0.0/pre-migration.py | 15 ++++++++ product_dimension/models/product.py | 37 +++++++++++-------- product_dimension/readme/CONTRIBUTORS.rst | 3 ++ .../tests/test_compute_volume.py | 24 ++++++------ product_dimension/views/product_view.xml | 12 +++--- 7 files changed, 83 insertions(+), 40 deletions(-) create mode 100644 product_dimension/migrations/12.0.2.0.0/pre-migration.py diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index 250852a3f13..f0bc1e79762 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -4,7 +4,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Product Dimension', - 'version': '12.0.1.0.0', + 'version': '12.0.2.0.0', 'category': 'Product', 'author': 'brain-tec AG, ADHOC SA, Camptocamp SA, ' 'Odoo Community Association (OCA)', diff --git a/product_dimension/i18n/product_dimension.pot b/product_dimension/i18n/product_dimension.pot index d76e008c06b..cc55dc67827 100644 --- a/product_dimension/i18n/product_dimension.pot +++ b/product_dimension/i18n/product_dimension.pot @@ -26,14 +26,14 @@ msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__height -#: model:ir.model.fields,field_description:product_dimension.field_product_template__height +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__length -#: model:ir.model.fields,field_description:product_dimension.field_product_template__length +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" msgstr "" @@ -54,8 +54,26 @@ msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__width -#: model:ir.model.fields,field_description:product_dimension.field_product_template__width +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" msgstr "" +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +msgid "height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +msgid "length" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +msgid "width" +msgstr "" + diff --git a/product_dimension/migrations/12.0.2.0.0/pre-migration.py b/product_dimension/migrations/12.0.2.0.0/pre-migration.py new file mode 100644 index 00000000000..0e68d1f2b1b --- /dev/null +++ b/product_dimension/migrations/12.0.2.0.0/pre-migration.py @@ -0,0 +1,15 @@ +# Copyright 2019 C2i Change 2 improve - Eduardo Magdalena +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +field_renames = [ + ('product.template', 'product_template', 'length', 'product_length'), + ('product.template', 'product_template', 'heigth', 'product_heigth'), + ('product.template', 'product_template', 'width', 'product_width'), +] + + +@openupgrade.migrate(use_env=True) +def migrate(env, version): + openupgrade.rename_fields(env, field_renames) diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 380ae350e7a..8fa424f47b1 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -8,10 +8,12 @@ class Product(models.Model): _inherit = 'product.product' - @api.onchange('length', 'height', 'width', 'dimensional_uom_id') + @api.onchange( + 'product_length', 'product_height', 'product_width', 'dimensional_uom_id') def onchange_calculate_volume(self): self.volume = self.env['product.template']._calc_volume( - self.length, self.height, self.width, self.dimensional_uom_id) + self.product_length, self.product_height, + self.product_width, self.dimensional_uom_id) @api.model def _get_dimension_uom_domain(self): @@ -19,9 +21,9 @@ def _get_dimension_uom_domain(self): ('category_id', '=', self.env.ref('uom.uom_categ_length').id) ] - length = fields.Float() - height = fields.Float() - width = fields.Float() + product_length = fields.Float('length') + product_height = fields.Float('height') + product_width = fields.Float('width') dimensional_uom_id = fields.Many2one( 'uom.uom', 'Dimensional UoM', @@ -35,20 +37,22 @@ class ProductTemplate(models.Model): _inherit = 'product.template' @api.model - def _calc_volume(self, length, height, width, uom_id): + def _calc_volume(self, product_length, product_height, product_width, uom_id): volume = 0 - if length and height and width and uom_id: - length_m = self.convert_to_meters(length, uom_id) - height_m = self.convert_to_meters(height, uom_id) - width_m = self.convert_to_meters(width, uom_id) + if product_length and product_height and product_width and uom_id: + length_m = self.convert_to_meters(product_length, uom_id) + height_m = self.convert_to_meters(product_height, uom_id) + width_m = self.convert_to_meters(product_width, uom_id) volume = length_m * height_m * width_m return volume - @api.onchange('length', 'height', 'width', 'dimensional_uom_id') + @api.onchange( + 'product_length', 'product_height', 'product_width', 'dimensional_uom_id') def onchange_calculate_volume(self): self.volume = self._calc_volume( - self.length, self.height, self.width, self.dimensional_uom_id) + self.product_length, self.product_height, self.product_width, + self.dimensional_uom_id) def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env.ref('uom.product_uom_meter') @@ -69,6 +73,9 @@ def convert_to_meters(self, measure, dimensional_uom): readonly=False, ) - length = fields.Float(related='product_variant_ids.length', readonly=False) - height = fields.Float(related='product_variant_ids.height', readonly=False) - width = fields.Float(related='product_variant_ids.width', readonly=False) + product_length = fields.Float( + related='product_variant_ids.product_length', readonly=False) + product_height = fields.Float( + related='product_variant_ids.product_height', readonly=False) + product_width = fields.Float( + related='product_variant_ids.product_width', readonly=False) diff --git a/product_dimension/readme/CONTRIBUTORS.rst b/product_dimension/readme/CONTRIBUTORS.rst index 7590edcb2db..400685c69f6 100644 --- a/product_dimension/readme/CONTRIBUTORS.rst +++ b/product_dimension/readme/CONTRIBUTORS.rst @@ -2,3 +2,6 @@ * Leonardo Pistone * Denis Leemann * Kumar Aberer +* `C2i Change 2 improve `_: + + * Eduardo Magdalena diff --git a/product_dimension/tests/test_compute_volume.py b/product_dimension/tests/test_compute_volume.py index 6ba291639a2..dc95e908889 100644 --- a/product_dimension/tests/test_compute_volume.py +++ b/product_dimension/tests/test_compute_volume.py @@ -6,9 +6,9 @@ class TestComputeVolumeOnProduct(TransactionCase): def test_it_computes_volume_in_cm(self): - self.product.length = 10. - self.product.height = 200. - self.product.width = 100. + self.product.product_length = 10. + self.product.product_height = 200. + self.product.product_width = 100. self.product.dimensional_uom_id = self.uom_cm self.product.onchange_calculate_volume() self.assertAlmostEqual( @@ -17,9 +17,9 @@ def test_it_computes_volume_in_cm(self): ) def test_it_computes_volume_in_meters(self): - self.product.length = 6. - self.product.height = 2. - self.product.width = 10. + self.product.product_length = 6. + self.product.product_height = 2. + self.product.product_width = 10. self.product.dimensional_uom_id = self.uom_m self.product.onchange_calculate_volume() self.assertAlmostEqual( @@ -38,9 +38,9 @@ def setUp(self): class TestComputeVolumeOnTemplate(TransactionCase): def test_it_computes_volume_in_cm(self): - self.template.length = 10. - self.template.height = 200. - self.template.width = 100. + self.template.product_length = 10. + self.template.product_height = 200. + self.template.product_width = 100. self.template.dimensional_uom_id = self.uom_cm self.template.onchange_calculate_volume() self.assertAlmostEqual( @@ -49,9 +49,9 @@ def test_it_computes_volume_in_cm(self): ) def test_it_computes_volume_in_meters(self): - self.template.length = 6. - self.template.height = 2. - self.template.width = 10. + self.template.product_length = 6. + self.template.product_height = 2. + self.template.product_width = 10. self.template.dimensional_uom_id = self.uom_m self.template.onchange_calculate_volume() self.assertAlmostEqual( diff --git a/product_dimension/views/product_view.xml b/product_dimension/views/product_view.xml index d1927ccbfa5..eccb044bf6a 100755 --- a/product_dimension/views/product_view.xml +++ b/product_dimension/views/product_view.xml @@ -9,9 +9,9 @@ - - - + + + @@ -26,9 +26,9 @@ - - - + + + From 7e1f0a33bb9a33d3505f4979c292f972c3df0029 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 12 Mar 2020 14:48:56 +0000 Subject: [PATCH 22/61] [UPD] README.rst --- product_dimension/README.rst | 3 +++ product_dimension/static/description/index.html | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 67322eb3f23..76a364b51e3 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -73,6 +73,9 @@ Contributors * Leonardo Pistone * Denis Leemann * Kumar Aberer +* `C2i Change 2 improve `_: + + * Eduardo Magdalena Maintainers ~~~~~~~~~~~ diff --git a/product_dimension/static/description/index.html b/product_dimension/static/description/index.html index 730053ced32..ae79142a6e2 100644 --- a/product_dimension/static/description/index.html +++ b/product_dimension/static/description/index.html @@ -419,6 +419,10 @@

Contributors

  • Leonardo Pistone <leonardo.pistone@camptocamp.com>
  • Denis Leemann <denis.leemann@camptocamp.com>
  • Kumar Aberer <kumar.aberer@braintec-group.com>
  • +
  • C2i Change 2 improve: +
  • From 785fe30381b16ecc64ba97ab35b4259857ed94ea Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Thu, 12 Mar 2020 14:49:09 +0000 Subject: [PATCH 23/61] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: product-attribute-12.0/product-attribute-12.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_dimension/ --- product_dimension/i18n/ca.po | 30 ++++++++++++++++++++----- product_dimension/i18n/de.po | 36 ++++++++++++++++++++++++----- product_dimension/i18n/es.po | 40 ++++++++++++++++++++++++++------- product_dimension/i18n/fr.po | 36 ++++++++++++++++++++++++----- product_dimension/i18n/fr_FR.po | 30 ++++++++++++++++++++----- 5 files changed, 140 insertions(+), 32 deletions(-) diff --git a/product_dimension/i18n/ca.po b/product_dimension/i18n/ca.po index 52250543172..d4b911ac8b2 100644 --- a/product_dimension/i18n/ca.po +++ b/product_dimension/i18n/ca.po @@ -31,14 +31,14 @@ msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__height -#: model:ir.model.fields,field_description:product_dimension.field_product_template__height +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__length -#: model:ir.model.fields,field_description:product_dimension.field_product_template__length +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" msgstr "" @@ -59,7 +59,25 @@ msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__width -#: model:ir.model.fields,field_description:product_dimension.field_product_template__width +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +msgid "height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +msgid "length" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +msgid "width" +msgstr "" diff --git a/product_dimension/i18n/de.po b/product_dimension/i18n/de.po index d143cc93464..67be88e0884 100644 --- a/product_dimension/i18n/de.po +++ b/product_dimension/i18n/de.po @@ -29,14 +29,14 @@ msgid "Dimensions" msgstr "Abmessungen" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__height -#: model:ir.model.fields,field_description:product_dimension.field_product_template__height +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "Höhe" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__length -#: model:ir.model.fields,field_description:product_dimension.field_product_template__length +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" msgstr "Länge" @@ -57,7 +57,31 @@ msgid "UoM for length, height, width" msgstr "Einheit für Länge, Höhe, Breite" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__width -#: model:ir.model.fields,field_description:product_dimension.field_product_template__width +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" msgstr "Breite" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +#, fuzzy +#| msgid "Height" +msgid "height" +msgstr "Höhe" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +#, fuzzy +#| msgid "Length" +msgid "length" +msgstr "Länge" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +#, fuzzy +#| msgid "Width" +msgid "width" +msgstr "Breite" diff --git a/product_dimension/i18n/es.po b/product_dimension/i18n/es.po index eebd1304b67..fa1be1dfff9 100644 --- a/product_dimension/i18n/es.po +++ b/product_dimension/i18n/es.po @@ -10,8 +10,8 @@ msgstr "" "POT-Creation-Date: 2016-12-02 03:39+0000\n" "PO-Revision-Date: 2019-12-26 12:05+0000\n" "Last-Translator: Galoperd \n" -"Language-Team: Spanish (http://www.transifex.com/oca/" -"OCA-product-attribute-9-0/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-product-" +"attribute-9-0/language/es/)\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,14 +32,14 @@ msgid "Dimensions" msgstr "Dimensiones" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__height -#: model:ir.model.fields,field_description:product_dimension.field_product_template__height +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "Alto" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__length -#: model:ir.model.fields,field_description:product_dimension.field_product_template__length +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" msgstr "Largo" @@ -60,7 +60,31 @@ msgid "UoM for length, height, width" msgstr "UdM para largo, alto, ancho" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__width -#: model:ir.model.fields,field_description:product_dimension.field_product_template__width +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" msgstr "Ancho" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +#, fuzzy +#| msgid "Height" +msgid "height" +msgstr "Alto" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +#, fuzzy +#| msgid "Length" +msgid "length" +msgstr "Largo" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +#, fuzzy +#| msgid "Width" +msgid "width" +msgstr "Ancho" diff --git a/product_dimension/i18n/fr.po b/product_dimension/i18n/fr.po index 66aebe3b673..bff49256a95 100644 --- a/product_dimension/i18n/fr.po +++ b/product_dimension/i18n/fr.po @@ -34,14 +34,14 @@ msgid "Dimensions" msgstr "UdM Dimensionnel" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__height -#: model:ir.model.fields,field_description:product_dimension.field_product_template__height +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "Hauteur" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__length -#: model:ir.model.fields,field_description:product_dimension.field_product_template__length +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" msgstr "Longueur" @@ -62,7 +62,31 @@ msgid "UoM for length, height, width" msgstr "UdM pour longueur, hauteur, largeur" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__width -#: model:ir.model.fields,field_description:product_dimension.field_product_template__width +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" msgstr "Largeur" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +#, fuzzy +#| msgid "Height" +msgid "height" +msgstr "Hauteur" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +#, fuzzy +#| msgid "Length" +msgid "length" +msgstr "Longueur" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +#, fuzzy +#| msgid "Width" +msgid "width" +msgstr "Largeur" diff --git a/product_dimension/i18n/fr_FR.po b/product_dimension/i18n/fr_FR.po index e54e2aca2e6..8f84d6d0380 100644 --- a/product_dimension/i18n/fr_FR.po +++ b/product_dimension/i18n/fr_FR.po @@ -31,14 +31,14 @@ msgid "Dimensions" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__height -#: model:ir.model.fields,field_description:product_dimension.field_product_template__height +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__length -#: model:ir.model.fields,field_description:product_dimension.field_product_template__length +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" msgstr "" @@ -59,10 +59,28 @@ msgid "UoM for length, height, width" msgstr "" #. module: product_dimension -#: model:ir.model.fields,field_description:product_dimension.field_product_product__width -#: model:ir.model.fields,field_description:product_dimension.field_product_template__width +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" msgstr "" +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +msgid "height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +msgid "length" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +msgid "width" +msgstr "" + #~ msgid "Brand" #~ msgstr "Marque" From ad0c8c0c62e5c40505c9517be22b8dc681b1843b Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Mon, 23 Mar 2020 11:36:56 +0000 Subject: [PATCH 24/61] Added translation using Weblate (Portuguese) --- product_dimension/i18n/pt.po | 79 ++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 product_dimension/i18n/pt.po diff --git a/product_dimension/i18n/pt.po b/product_dimension/i18n/pt.po new file mode 100644 index 00000000000..928e4379598 --- /dev/null +++ b/product_dimension/i18n/pt.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_dimension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: pt\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: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id +msgid "Dimensional UoM" +msgstr "" + +#. module: product_dimension +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Dimensions" +msgstr "" + +#. module: product_dimension +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Height" +msgstr "" + +#. module: product_dimension +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Length" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_product +msgid "Product" +msgstr "" + +#. module: product_dimension +#: model:ir.model,name:product_dimension.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id +#: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id +msgid "UoM for length, height, width" +msgstr "" + +#. module: product_dimension +#: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view +msgid "Width" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height +msgid "height" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length +msgid "length" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width +#: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width +msgid "width" +msgstr "" From 06c7b7eefbb4260ff923c1d5b9449700a0c54d00 Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Mon, 23 Mar 2020 11:37:37 +0000 Subject: [PATCH 25/61] Translated using Weblate (Portuguese) Currently translated at 100.0% (11 of 11 strings) Translation: product-attribute-12.0/product-attribute-12.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_dimension/pt/ --- product_dimension/i18n/pt.po | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/product_dimension/i18n/pt.po b/product_dimension/i18n/pt.po index 928e4379598..40f630f2674 100644 --- a/product_dimension/i18n/pt.po +++ b/product_dimension/i18n/pt.po @@ -6,74 +6,76 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-03-23 14:13+0000\n" +"Last-Translator: Pedro Castro Silva \n" "Language-Team: none\n" "Language: pt\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 3.10\n" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id #: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id msgid "Dimensional UoM" -msgstr "" +msgstr "UdM das dimensões" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" -msgstr "" +msgstr "Dimensões" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" -msgstr "" +msgstr "Altura" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" -msgstr "" +msgstr "Comprimento" #. module: product_dimension #: model:ir.model,name:product_dimension.model_product_product msgid "Product" -msgstr "" +msgstr "Produto" #. module: product_dimension #: model:ir.model,name:product_dimension.model_product_template msgid "Product Template" -msgstr "" +msgstr "Modelo de Produto" #. module: product_dimension #: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id #: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id msgid "UoM for length, height, width" -msgstr "" +msgstr "UdM para comprimento, altura e largura" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" -msgstr "" +msgstr "Largura" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height msgid "height" -msgstr "" +msgstr "altura" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length msgid "length" -msgstr "" +msgstr "comprimento" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width msgid "width" -msgstr "" +msgstr "largura" From 42a0dbf605a69c497aaba718c26a45aa2d502ce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Em=C4=ABls=20Go=C5=A1ko?= Date: Wed, 15 Apr 2020 10:37:26 +0300 Subject: [PATCH 26/61] [IMP] product_dimension: black, isort, prettier --- product_dimension/__manifest__.py | 24 +++---- .../migrations/12.0.2.0.0/pre-migration.py | 6 +- product_dimension/models/product.py | 71 ++++++++++--------- product_dimension/readme/USAGE.rst | 2 +- .../tests/test_compute_volume.py | 58 ++++++--------- product_dimension/views/product_view.xml | 63 ++++++++-------- 6 files changed, 108 insertions(+), 116 deletions(-) diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index f0bc1e79762..961cd3aac42 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -3,17 +3,15 @@ # Copyright 2015 ADHOC SA (http://www.adhoc.com.ar) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - 'name': 'Product Dimension', - 'version': '12.0.2.0.0', - 'category': 'Product', - 'author': 'brain-tec AG, ADHOC SA, Camptocamp SA, ' - 'Odoo Community Association (OCA)', - 'license': 'AGPL-3', - 'website': 'https://github.com/OCA/product-attribute', - 'depends': ['product'], - 'data': ['views/product_view.xml'], - 'installable': True, - 'images': [ - 'static/description/icon.png', - ], + "name": "Product Dimension", + "version": "12.0.2.0.0", + "category": "Product", + "author": "brain-tec AG, ADHOC SA, Camptocamp SA, " + "Odoo Community Association (OCA)", + "license": "AGPL-3", + "website": "https://github.com/OCA/product-attribute", + "depends": ["product"], + "data": ["views/product_view.xml"], + "installable": True, + "images": ["static/description/icon.png",], } diff --git a/product_dimension/migrations/12.0.2.0.0/pre-migration.py b/product_dimension/migrations/12.0.2.0.0/pre-migration.py index 0e68d1f2b1b..acbe89a6bd6 100644 --- a/product_dimension/migrations/12.0.2.0.0/pre-migration.py +++ b/product_dimension/migrations/12.0.2.0.0/pre-migration.py @@ -4,9 +4,9 @@ from openupgradelib import openupgrade field_renames = [ - ('product.template', 'product_template', 'length', 'product_length'), - ('product.template', 'product_template', 'heigth', 'product_heigth'), - ('product.template', 'product_template', 'width', 'product_width'), + ("product.template", "product_template", "length", "product_length"), + ("product.template", "product_template", "heigth", "product_heigth"), + ("product.template", "product_template", "width", "product_width"), ] diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 8fa424f47b1..7c10fd6e5e1 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -2,39 +2,41 @@ # Copyright 2015-2016 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models, fields, api +from odoo import api, fields, models class Product(models.Model): - _inherit = 'product.product' + _inherit = "product.product" @api.onchange( - 'product_length', 'product_height', 'product_width', 'dimensional_uom_id') + "product_length", "product_height", "product_width", "dimensional_uom_id" + ) def onchange_calculate_volume(self): - self.volume = self.env['product.template']._calc_volume( - self.product_length, self.product_height, - self.product_width, self.dimensional_uom_id) + self.volume = self.env["product.template"]._calc_volume( + self.product_length, + self.product_height, + self.product_width, + self.dimensional_uom_id, + ) @api.model def _get_dimension_uom_domain(self): - return [ - ('category_id', '=', self.env.ref('uom.uom_categ_length').id) - ] + return [("category_id", "=", self.env.ref("uom.uom_categ_length").id)] - product_length = fields.Float('length') - product_height = fields.Float('height') - product_width = fields.Float('width') + product_length = fields.Float("length") + product_height = fields.Float("height") + product_width = fields.Float("width") dimensional_uom_id = fields.Many2one( - 'uom.uom', - 'Dimensional UoM', + "uom.uom", + "Dimensional UoM", domain=lambda self: self._get_dimension_uom_domain(), - help='UoM for length, height, width', - default=lambda self: self.env.ref('uom.product_uom_meter'), - ) + help="UoM for length, height, width", + default=lambda self: self.env.ref("uom.product_uom_meter"), + ) class ProductTemplate(models.Model): - _inherit = 'product.template' + _inherit = "product.template" @api.model def _calc_volume(self, product_length, product_height, product_width, uom_id): @@ -48,34 +50,39 @@ def _calc_volume(self, product_length, product_height, product_width, uom_id): return volume @api.onchange( - 'product_length', 'product_height', 'product_width', 'dimensional_uom_id') + "product_length", "product_height", "product_width", "dimensional_uom_id" + ) def onchange_calculate_volume(self): self.volume = self._calc_volume( - self.product_length, self.product_height, self.product_width, - self.dimensional_uom_id) + self.product_length, + self.product_height, + self.product_width, + self.dimensional_uom_id, + ) def convert_to_meters(self, measure, dimensional_uom): - uom_meters = self.env.ref('uom.product_uom_meter') + uom_meters = self.env.ref("uom.product_uom_meter") return dimensional_uom._compute_quantity( - qty=measure, - to_unit=uom_meters, - round=False, + qty=measure, to_unit=uom_meters, round=False, ) # Define all the related fields in product.template with 'readonly=False' # to be able to modify the values from product.template. dimensional_uom_id = fields.Many2one( - 'uom.uom', - 'Dimensional UoM', - related='product_variant_ids.dimensional_uom_id', - help='UoM for length, height, width', + "uom.uom", + "Dimensional UoM", + related="product_variant_ids.dimensional_uom_id", + help="UoM for length, height, width", readonly=False, ) product_length = fields.Float( - related='product_variant_ids.product_length', readonly=False) + related="product_variant_ids.product_length", readonly=False + ) product_height = fields.Float( - related='product_variant_ids.product_height', readonly=False) + related="product_variant_ids.product_height", readonly=False + ) product_width = fields.Float( - related='product_variant_ids.product_width', readonly=False) + related="product_variant_ids.product_width", readonly=False + ) diff --git a/product_dimension/readme/USAGE.rst b/product_dimension/readme/USAGE.rst index 1752fc62127..667650053c1 100644 --- a/product_dimension/readme/USAGE.rst +++ b/product_dimension/readme/USAGE.rst @@ -3,4 +3,4 @@ To use this module : #. Go to Product View > Inventory #. Edit Dimensional UoM and the three dimensions -If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants. +If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants. diff --git a/product_dimension/tests/test_compute_volume.py b/product_dimension/tests/test_compute_volume.py index dc95e908889..f4b446ea888 100644 --- a/product_dimension/tests/test_compute_volume.py +++ b/product_dimension/tests/test_compute_volume.py @@ -4,64 +4,50 @@ class TestComputeVolumeOnProduct(TransactionCase): - def test_it_computes_volume_in_cm(self): - self.product.product_length = 10. - self.product.product_height = 200. - self.product.product_width = 100. + self.product.product_length = 10.0 + self.product.product_height = 200.0 + self.product.product_width = 100.0 self.product.dimensional_uom_id = self.uom_cm self.product.onchange_calculate_volume() - self.assertAlmostEqual( - 0.2, - self.product.volume - ) + self.assertAlmostEqual(0.2, self.product.volume) def test_it_computes_volume_in_meters(self): - self.product.product_length = 6. - self.product.product_height = 2. - self.product.product_width = 10. + self.product.product_length = 6.0 + self.product.product_height = 2.0 + self.product.product_width = 10.0 self.product.dimensional_uom_id = self.uom_m self.product.onchange_calculate_volume() - self.assertAlmostEqual( - 120, - self.product.volume - ) + self.assertAlmostEqual(120, self.product.volume) def setUp(self): super(TestComputeVolumeOnProduct, self).setUp() - self.product = self.env['product.product'].new() - self.uom_m = self.env['uom.uom'].search([('name', '=', 'm')]) - self.uom_cm = self.env['uom.uom'].search([('name', '=', 'cm')]) + self.product = self.env["product.product"].new() + self.uom_m = self.env["uom.uom"].search([("name", "=", "m")]) + self.uom_cm = self.env["uom.uom"].search([("name", "=", "cm")]) class TestComputeVolumeOnTemplate(TransactionCase): - def test_it_computes_volume_in_cm(self): - self.template.product_length = 10. - self.template.product_height = 200. - self.template.product_width = 100. + self.template.product_length = 10.0 + self.template.product_height = 200.0 + self.template.product_width = 100.0 self.template.dimensional_uom_id = self.uom_cm self.template.onchange_calculate_volume() - self.assertAlmostEqual( - 0.2, - self.template.volume - ) + self.assertAlmostEqual(0.2, self.template.volume) def test_it_computes_volume_in_meters(self): - self.template.product_length = 6. - self.template.product_height = 2. - self.template.product_width = 10. + self.template.product_length = 6.0 + self.template.product_height = 2.0 + self.template.product_width = 10.0 self.template.dimensional_uom_id = self.uom_m self.template.onchange_calculate_volume() - self.assertAlmostEqual( - 120, - self.template.volume - ) + self.assertAlmostEqual(120, self.template.volume) def setUp(self): super(TestComputeVolumeOnTemplate, self).setUp() - self.template = self.env['product.template'].new() - self.uom_m = self.env['uom.uom'].search([('name', '=', 'm')]) - self.uom_cm = self.env['uom.uom'].search([('name', '=', 'cm')]) + self.template = self.env["product.template"].new() + self.uom_m = self.env["uom.uom"].search([("name", "=", "m")]) + self.uom_cm = self.env["uom.uom"].search([("name", "=", "cm")]) diff --git a/product_dimension/views/product_view.xml b/product_dimension/views/product_view.xml index eccb044bf6a..0c285b62d0d 100755 --- a/product_dimension/views/product_view.xml +++ b/product_dimension/views/product_view.xml @@ -1,37 +1,38 @@ - + - - product_normal_form_view - product.product - - - - - - - - - - - + product_normal_form_view + product.product + + + + + + + + + + + - - product_template_form_view - product.template - - - - - - - - - - - + product_template_form_view + product.template + + + + + + + + + + + - From af65e76fab24eeb0e6044ee0b2aa3bac722f7517 Mon Sep 17 00:00:00 2001 From: Tatiana Deribina Date: Thu, 16 Apr 2020 17:52:14 +0300 Subject: [PATCH 27/61] [MIG] product_dimension: Migration To 13.0 --- product_dimension/__manifest__.py | 4 ++-- product_dimension/i18n/product_dimension.pot | 7 +++---- .../migrations/12.0.2.0.0/pre-migration.py | 15 --------------- product_dimension/readme/HISTORY.rst | 15 +++++++++++++++ product_dimension/views/product_view.xml | 0 5 files changed, 20 insertions(+), 21 deletions(-) delete mode 100644 product_dimension/migrations/12.0.2.0.0/pre-migration.py create mode 100644 product_dimension/readme/HISTORY.rst mode change 100755 => 100644 product_dimension/views/product_view.xml diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index 961cd3aac42..17a0a062259 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -4,7 +4,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Product Dimension", - "version": "12.0.2.0.0", + "version": "13.0.1.0.0", "category": "Product", "author": "brain-tec AG, ADHOC SA, Camptocamp SA, " "Odoo Community Association (OCA)", @@ -13,5 +13,5 @@ "depends": ["product"], "data": ["views/product_view.xml"], "installable": True, - "images": ["static/description/icon.png",], + "images": ["static/description/icon.png"], } diff --git a/product_dimension/i18n/product_dimension.pot b/product_dimension/i18n/product_dimension.pot index cc55dc67827..79bd0de8057 100644 --- a/product_dimension/i18n/product_dimension.pot +++ b/product_dimension/i18n/product_dimension.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * product_dimension +# * product_dimension # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,4 +76,3 @@ msgstr "" #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width msgid "width" msgstr "" - diff --git a/product_dimension/migrations/12.0.2.0.0/pre-migration.py b/product_dimension/migrations/12.0.2.0.0/pre-migration.py deleted file mode 100644 index acbe89a6bd6..00000000000 --- a/product_dimension/migrations/12.0.2.0.0/pre-migration.py +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2019 C2i Change 2 improve - Eduardo Magdalena -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from openupgradelib import openupgrade - -field_renames = [ - ("product.template", "product_template", "length", "product_length"), - ("product.template", "product_template", "heigth", "product_heigth"), - ("product.template", "product_template", "width", "product_width"), -] - - -@openupgrade.migrate(use_env=True) -def migrate(env, version): - openupgrade.rename_fields(env, field_renames) diff --git a/product_dimension/readme/HISTORY.rst b/product_dimension/readme/HISTORY.rst new file mode 100644 index 00000000000..a795433b19a --- /dev/null +++ b/product_dimension/readme/HISTORY.rst @@ -0,0 +1,15 @@ +[ The change log. The goal of this file is to help readers + understand changes between version. The primary audience is + end users and integrators. Purely technical changes such as + code refactoring must not be mentioned here. + + This file may contain ONE level of section titles, underlined + with the ~ (tilde) character. Other section markers are + forbidden and will likely break the structure of the README.rst + or other documents where this fragment is included. ] + +13.0.1.0.0 (2020-04-16) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [MIG] Migration from Odoo 12.0 to 13.0 +* [IMP] Black, isort, prettier diff --git a/product_dimension/views/product_view.xml b/product_dimension/views/product_view.xml old mode 100755 new mode 100644 From 30344debfecb3d29c555c6da270437914e97b09a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 19 May 2020 07:58:51 +0000 Subject: [PATCH 28/61] [UPD] README.rst --- product_dimension/README.rst | 31 +++++++++-- .../static/description/index.html | 55 ++++++++++++++----- 2 files changed, 65 insertions(+), 21 deletions(-) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 76a364b51e3..5243e60472e 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -14,13 +14,13 @@ Product Dimension :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github - :target: https://github.com/OCA/product-attribute/tree/12.0/product_dimension + :target: https://github.com/OCA/product-attribute/tree/13.0/product_dimension :alt: OCA/product-attribute .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_dimension + :target: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_dimension :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/12.0 + :target: https://runbot.odoo-community.org/runbot/135/13.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -44,7 +44,26 @@ To use this module : #. Go to Product View > Inventory #. Edit Dimensional UoM and the three dimensions -If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants. +If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants. + +Changelog +========= + +[ The change log. The goal of this file is to help readers + understand changes between version. The primary audience is + end users and integrators. Purely technical changes such as + code refactoring must not be mentioned here. + + This file may contain ONE level of section titles, underlined + with the ~ (tilde) character. Other section markers are + forbidden and will likely break the structure of the README.rst + or other documents where this fragment is included. ] + +13.0.1.0.0 (2020-04-16) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [MIG] Migration from Odoo 12.0 to 13.0 +* [IMP] Black, isort, prettier Bug Tracker =========== @@ -52,7 +71,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -90,6 +109,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/product-attribute `_ project on GitHub. +This module is part of the `OCA/product-attribute `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_dimension/static/description/index.html b/product_dimension/static/description/index.html index ae79142a6e2..5f227d07382 100644 --- a/product_dimension/static/description/index.html +++ b/product_dimension/static/description/index.html @@ -367,7 +367,7 @@

    Product Dimension

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

    +

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

    This module extends the functionality of product to support dimensions (length, width and height). Also computes the volume automatically when you change one of these dimensions.

    This module was previously hosted on https://github.com/ingadhoc/odoo-addons @@ -375,18 +375,22 @@

    Product Dimension

    Table of contents

    -

    Usage

    +

    Usage

    To use this module :

    1. Go to Product View > Inventory
    2. @@ -394,18 +398,39 @@

      Usage

    If the product has got more than one variant, the dimensions (and the volume) are visible only in the variants.

    +
    +

    Changelog

    +
    +
    [ The change log. The goal of this file is to help readers
    +

    understand changes between version. The primary audience is +end users and integrators. Purely technical changes such as +code refactoring must not be mentioned here.

    +

    This file may contain ONE level of section titles, underlined +with the ~ (tilde) character. Other section markers are +forbidden and will likely break the structure of the README.rst +or other documents where this fragment is included. ]

    +
    +
    +
    +

    13.0.1.0.0 (2020-04-16)

    +
      +
    • [MIG] Migration from Odoo 12.0 to 13.0
    • +
    • [IMP] Black, isort, prettier
    • +
    +
    +
    -

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

    +feedback.

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • brain-tec AG
    • ADHOC SA
    • @@ -413,7 +438,7 @@

      Authors

    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    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/product-attribute project on GitHub.

    +

    This module is part of the OCA/product-attribute project on GitHub.

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

    From 8fcc73c1ee7e1d4b7c53b07c5a9985493a89abf9 Mon Sep 17 00:00:00 2001 From: c2cdidier Date: Wed, 22 Jul 2020 09:28:09 +0000 Subject: [PATCH 29/61] Translated using Weblate (German) Currently translated at 100.0% (11 of 11 strings) Translation: product-attribute-13.0/product-attribute-13.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_dimension/de/ --- product_dimension/i18n/de.po | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/product_dimension/i18n/de.po b/product_dimension/i18n/de.po index 67be88e0884..9f806daef0b 100644 --- a/product_dimension/i18n/de.po +++ b/product_dimension/i18n/de.po @@ -7,14 +7,15 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0+e\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-15 10:11+0000\n" -"PO-Revision-Date: 2018-03-15 10:11+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2020-07-22 11:19+0000\n" +"Last-Translator: c2cdidier \n" "Language-Team: \n" -"Language: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id @@ -65,23 +66,17 @@ msgstr "Breite" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height -#, fuzzy -#| msgid "Height" msgid "height" msgstr "Höhe" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length -#, fuzzy -#| msgid "Length" msgid "length" msgstr "Länge" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width -#, fuzzy -#| msgid "Width" msgid "width" msgstr "Breite" From 75ce6a0a3aa59f00e8955bb3ce5addbf76387c81 Mon Sep 17 00:00:00 2001 From: c2cdidier Date: Wed, 22 Jul 2020 09:09:31 +0000 Subject: [PATCH 30/61] Translated using Weblate (French) Currently translated at 100.0% (11 of 11 strings) Translation: product-attribute-13.0/product-attribute-13.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_dimension/fr/ --- product_dimension/i18n/fr.po | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/product_dimension/i18n/fr.po b/product_dimension/i18n/fr.po index bff49256a95..06dec95a0ec 100644 --- a/product_dimension/i18n/fr.po +++ b/product_dimension/i18n/fr.po @@ -10,15 +10,16 @@ msgstr "" "Project-Id-Version: product-attribute (9.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-11-03 15:37+0000\n" -"PO-Revision-Date: 2017-11-03 15:37+0000\n" -"Last-Translator: OCA Transbot \n" -"Language-Team: French (http://www.transifex.com/oca/OCA-product-" -"attribute-9-0/language/fr/)\n" +"PO-Revision-Date: 2020-07-22 11:19+0000\n" +"Last-Translator: c2cdidier \n" +"Language-Team: French (http://www.transifex.com/oca/" +"OCA-product-attribute-9-0/language/fr/)\n" "Language: fr\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" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.10\n" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id @@ -29,9 +30,8 @@ msgstr "UdM Dimensionnel" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view -#, fuzzy msgid "Dimensions" -msgstr "UdM Dimensionnel" +msgstr "Dimensions" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view @@ -70,23 +70,17 @@ msgstr "Largeur" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height -#, fuzzy -#| msgid "Height" msgid "height" msgstr "Hauteur" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length -#, fuzzy -#| msgid "Length" msgid "length" msgstr "Longueur" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width -#, fuzzy -#| msgid "Width" msgid "width" msgstr "Largeur" From c4a3a3e21ee199456738f7c9202d6d1bc2bed11c Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sun, 16 Aug 2020 11:35:53 +0000 Subject: [PATCH 31/61] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: product-attribute-13.0/product-attribute-13.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_dimension/ --- product_dimension/i18n/es.po | 3 --- 1 file changed, 3 deletions(-) diff --git a/product_dimension/i18n/es.po b/product_dimension/i18n/es.po index fa1be1dfff9..e3629887a6b 100644 --- a/product_dimension/i18n/es.po +++ b/product_dimension/i18n/es.po @@ -69,7 +69,6 @@ msgstr "Ancho" #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height #, fuzzy -#| msgid "Height" msgid "height" msgstr "Alto" @@ -77,7 +76,6 @@ msgstr "Alto" #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length #, fuzzy -#| msgid "Length" msgid "length" msgstr "Largo" @@ -85,6 +83,5 @@ msgstr "Largo" #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width #, fuzzy -#| msgid "Width" msgid "width" msgstr "Ancho" From 9790227b28348397229a02425a24d8addcaeca17 Mon Sep 17 00:00:00 2001 From: emagdalena Date: Tue, 13 Oct 2020 05:44:14 +0200 Subject: [PATCH 32/61] [IMP] product_dimension: black, isort, prettier --- product_dimension/models/product.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/product_dimension/models/product.py b/product_dimension/models/product.py index 7c10fd6e5e1..51d4b9be76a 100644 --- a/product_dimension/models/product.py +++ b/product_dimension/models/product.py @@ -64,7 +64,9 @@ def convert_to_meters(self, measure, dimensional_uom): uom_meters = self.env.ref("uom.product_uom_meter") return dimensional_uom._compute_quantity( - qty=measure, to_unit=uom_meters, round=False, + qty=measure, + to_unit=uom_meters, + round=False, ) # Define all the related fields in product.template with 'readonly=False' From ceb51a026e7f5de42e0b6e4b95d723fe219e8bd5 Mon Sep 17 00:00:00 2001 From: emagdalena Date: Tue, 13 Oct 2020 05:52:12 +0200 Subject: [PATCH 33/61] [MIG] product_dimension: Migration to 14.0 --- product_dimension/__manifest__.py | 2 +- product_dimension/i18n/product_dimension.pot | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/product_dimension/__manifest__.py b/product_dimension/__manifest__.py index 17a0a062259..9877382506c 100644 --- a/product_dimension/__manifest__.py +++ b/product_dimension/__manifest__.py @@ -4,7 +4,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Product Dimension", - "version": "13.0.1.0.0", + "version": "14.0.1.0.0", "category": "Product", "author": "brain-tec AG, ADHOC SA, Camptocamp SA, " "Odoo Community Association (OCA)", diff --git a/product_dimension/i18n/product_dimension.pot b/product_dimension/i18n/product_dimension.pot index 79bd0de8057..eceee4117f9 100644 --- a/product_dimension/i18n/product_dimension.pot +++ b/product_dimension/i18n/product_dimension.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -25,12 +25,30 @@ msgstr "" msgid "Dimensions" msgstr "" +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__display_name +#: model:ir.model.fields,field_description:product_dimension.field_product_template__display_name +msgid "Display Name" +msgstr "" + #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" msgstr "" +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product__id +#: model:ir.model.fields,field_description:product_dimension.field_product_template__id +msgid "ID" +msgstr "" + +#. module: product_dimension +#: model:ir.model.fields,field_description:product_dimension.field_product_product____last_update +#: model:ir.model.fields,field_description:product_dimension.field_product_template____last_update +msgid "Last Modified on" +msgstr "" + #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view From a06ff5e1633f69b221b05707a706dc04d17f975e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 19 Oct 2020 07:22:07 +0000 Subject: [PATCH 34/61] [UPD] README.rst --- product_dimension/README.rst | 10 +++++----- product_dimension/static/description/index.html | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 5243e60472e..193912ffdab 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -14,13 +14,13 @@ Product Dimension :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github - :target: https://github.com/OCA/product-attribute/tree/13.0/product_dimension + :target: https://github.com/OCA/product-attribute/tree/14.0/product_dimension :alt: OCA/product-attribute .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_dimension + :target: https://translation.odoo-community.org/projects/product-attribute-14-0/product-attribute-14-0-product_dimension :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/13.0 + :target: https://runbot.odoo-community.org/runbot/135/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -71,7 +71,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -109,6 +109,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/product-attribute `_ project on GitHub. +This module is part of the `OCA/product-attribute `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_dimension/static/description/index.html b/product_dimension/static/description/index.html index 5f227d07382..3f965672ac6 100644 --- a/product_dimension/static/description/index.html +++ b/product_dimension/static/description/index.html @@ -367,7 +367,7 @@

    Product Dimension

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

    +

    Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

    This module extends the functionality of product to support dimensions (length, width and height). Also computes the volume automatically when you change one of these dimensions.

    This module was previously hosted on https://github.com/ingadhoc/odoo-addons @@ -424,7 +424,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 smashing it by providing a detailed and welcomed -feedback.

    +feedback.

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

    @@ -457,7 +457,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/product-attribute project on GitHub.

    +

    This module is part of the OCA/product-attribute project on GitHub.

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

    From 64fafe88cc32e66c2c6587a53b03e85a1f6acfbe Mon Sep 17 00:00:00 2001 From: Yves Le Doeuff Date: Thu, 18 Feb 2021 09:30:29 +0000 Subject: [PATCH 35/61] Translated using Weblate (French) Currently translated at 81.8% (9 of 11 strings) Translation: product-attribute-14.0/product-attribute-14.0-product_dimension Translate-URL: https://translation.odoo-community.org/projects/product-attribute-14-0/product-attribute-14-0-product_dimension/fr_FR/ --- product_dimension/i18n/fr_FR.po | 35 ++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/product_dimension/i18n/fr_FR.po b/product_dimension/i18n/fr_FR.po index 8f84d6d0380..ad949dd6274 100644 --- a/product_dimension/i18n/fr_FR.po +++ b/product_dimension/i18n/fr_FR.po @@ -8,79 +8,82 @@ msgstr "" "Project-Id-Version: product-attribute (9.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-22 01:40+0000\n" -"PO-Revision-Date: 2016-10-20 06:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: French (France) (http://www.transifex.com/oca/OCA-product-" -"attribute-9-0/language/fr_FR/)\n" +"PO-Revision-Date: 2021-02-18 11:45+0000\n" +"Last-Translator: Yves Le Doeuff \n" +"Language-Team: French (France) (http://www.transifex.com/oca/" +"OCA-product-attribute-9-0/language/fr_FR/)\n" "Language: fr_FR\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" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.2\n" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__dimensional_uom_id #: model:ir.model.fields,field_description:product_dimension.field_product_template__dimensional_uom_id +#, fuzzy msgid "Dimensional UoM" -msgstr "" +msgstr "UoM dimensionnelle" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Dimensions" -msgstr "" +msgstr "Dimensions" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Height" -msgstr "" +msgstr "Hauteur" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Length" -msgstr "" +msgstr "Longueur" #. module: product_dimension #: model:ir.model,name:product_dimension.model_product_product msgid "Product" -msgstr "" +msgstr "Article" #. module: product_dimension #: model:ir.model,name:product_dimension.model_product_template msgid "Product Template" -msgstr "" +msgstr "Modèle d'article" #. module: product_dimension #: model:ir.model.fields,help:product_dimension.field_product_product__dimensional_uom_id #: model:ir.model.fields,help:product_dimension.field_product_template__dimensional_uom_id +#, fuzzy msgid "UoM for length, height, width" -msgstr "" +msgstr "UoM pour longueur, hauteur, largeur" #. module: product_dimension #: model_terms:ir.ui.view,arch_db:product_dimension.product_normal_form_view #: model_terms:ir.ui.view,arch_db:product_dimension.product_template_only_form_view msgid "Width" -msgstr "" +msgstr "Largeur" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_height #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_height msgid "height" -msgstr "" +msgstr "Hauteur" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_length #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_length msgid "length" -msgstr "" +msgstr "longueur" #. module: product_dimension #: model:ir.model.fields,field_description:product_dimension.field_product_product__product_width #: model:ir.model.fields,field_description:product_dimension.field_product_template__product_width msgid "width" -msgstr "" +msgstr "largeur" #~ msgid "Brand" #~ msgstr "Marque" From 7f33ea01a0fa029aaa2fb47abf5bbfb0dc1abf6e Mon Sep 17 00:00:00 2001 From: Eduardo Magdalena Date: Thu, 3 Sep 2020 14:20:13 +0200 Subject: [PATCH 36/61] [FIX] [13.0] product_dimension Contributors website --- product_dimension/README.rst | 2 +- product_dimension/readme/CONTRIBUTORS.rst | 2 +- product_dimension/static/description/index.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/product_dimension/README.rst b/product_dimension/README.rst index 193912ffdab..27b21904b99 100644 --- a/product_dimension/README.rst +++ b/product_dimension/README.rst @@ -92,7 +92,7 @@ Contributors * Leonardo Pistone * Denis Leemann * Kumar Aberer -* `C2i Change 2 improve `_: +* `C2i Change 2 improve `_: * Eduardo Magdalena diff --git a/product_dimension/readme/CONTRIBUTORS.rst b/product_dimension/readme/CONTRIBUTORS.rst index 400685c69f6..846c62e8e8c 100644 --- a/product_dimension/readme/CONTRIBUTORS.rst +++ b/product_dimension/readme/CONTRIBUTORS.rst @@ -2,6 +2,6 @@ * Leonardo Pistone * Denis Leemann * Kumar Aberer -* `C2i Change 2 improve `_: +* `C2i Change 2 improve `_: * Eduardo Magdalena diff --git a/product_dimension/static/description/index.html b/product_dimension/static/description/index.html index 3f965672ac6..30335702800 100644 --- a/product_dimension/static/description/index.html +++ b/product_dimension/static/description/index.html @@ -3,7 +3,7 @@ - + Product Dimension