From 3795ee10343388777d674daad7eb9daa1ef028f2 Mon Sep 17 00:00:00 2001 From: Leonardo Pistone Date: Mon, 3 Aug 2015 12:06:55 +0200 Subject: [PATCH 01/57] 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 5ff76360bd26b068a53da1802cc2dc7975dc68ce Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Tue, 18 Aug 2015 11:05:43 +0200 Subject: [PATCH 02/57] 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 1f8b02d1ff028c38cccf6adfece57c5f3c5a5466 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/57] [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 1bf22e3db51eb626f5751eb4e283a79aa403166d Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 14 Oct 2015 03:31:08 +0200 Subject: [PATCH 04/57] [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 63a1435d1538d7dd8aa5afc97ae088620fbc4610 Mon Sep 17 00:00:00 2001 From: Hugo Santos Date: Tue, 5 Jan 2016 17:56:06 +0100 Subject: [PATCH 05/57] [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 8d77b70e3205c03ce9d8c90eaeff2041c65252ec Mon Sep 17 00:00:00 2001 From: David Beal Date: Wed, 13 Jan 2016 17:08:36 +0100 Subject: [PATCH 06/57] =?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 96d480f13c09564dfef7991b4a98a054dc583d47 Mon Sep 17 00:00:00 2001 From: Juan Jose Scarafia Date: Tue, 26 Jan 2016 11:34:59 -0300 Subject: [PATCH 07/57] 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 37734158a0afb6aa1a29c64d789b827322904da9 Mon Sep 17 00:00:00 2001 From: Nicolas Mac Rouillon Date: Fri, 11 Sep 2015 10:48:42 -0300 Subject: [PATCH 08/57] [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 deb3a3c0edfcbf990beaf8510e2ed5e8d85c133c Mon Sep 17 00:00:00 2001 From: Denis Leemann Date: Thu, 26 May 2016 14:24:42 +0200 Subject: [PATCH 09/57] 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 cfd7f3365e1a88aa7762666777b146fa6ca18b9f Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Mon, 12 Mar 2018 12:37:41 +0100 Subject: [PATCH 10/57] [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 049faf0cf2be33ad6316934553ef85ff736bc9e5 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/57] [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 cda7d0f42acac7ed74540c2ade041da1f7bba79a Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Thu, 15 Mar 2018 11:14:57 +0100 Subject: [PATCH 12/57] [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 ea30adfc318bd91c2dd2270ed8bf23da56556462 Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Fri, 20 Apr 2018 13:57:58 -0500 Subject: [PATCH 13/57] [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 5178d5700de8d09e0c30f7a1c04ab758a4929413 Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Tue, 1 May 2018 09:32:19 -0500 Subject: [PATCH 14/57] [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 299c22e9f494abe53b0d375a22cc307132d4e46d Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Wed, 2 May 2018 17:14:13 -0500 Subject: [PATCH 15/57] [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 79507d740f70f2d779e652070526586fb8edbeef Mon Sep 17 00:00:00 2001 From: Kumar Aberer Date: Thu, 3 May 2018 09:25:36 -0500 Subject: [PATCH 16/57] [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 10e48d994d880562c96635ef40989176edc5de1f 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/57] [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 699c96ed2162c5cb869ce7e0790903f28f0896b9 Mon Sep 17 00:00:00 2001 From: clementmbr Date: Fri, 11 Oct 2019 14:59:24 +0200 Subject: [PATCH 18/57] [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 8c5c219047edb50a4fce018fdcec8fced353efb6 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Tue, 3 Dec 2019 16:27:14 +0000 Subject: [PATCH 19/57] 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 f0904937bbf9ab9c0c98a21681bb4978883c224e Mon Sep 17 00:00:00 2001 From: Galoperd Date: Thu, 26 Dec 2019 09:55:05 +0000 Subject: [PATCH 20/57] 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 a910c34111bf8e2802a8f5c38f07810fff2738b7 Mon Sep 17 00:00:00 2001 From: emagdalena Date: Sat, 7 Mar 2020 16:07:55 +0100 Subject: [PATCH 21/57] [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 fd5c5fd2547d0c7e3164acd99e6fb9f6b27b0f34 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 12 Mar 2020 14:48:56 +0000 Subject: [PATCH 22/57] [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 5061c05cf0d72a20982c358936da682b43ff22cf Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Thu, 12 Mar 2020 14:49:09 +0000 Subject: [PATCH 23/57] 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 2ebbcad1cf340d574671662e6b2aa469c3d931fd Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Mon, 23 Mar 2020 11:36:56 +0000 Subject: [PATCH 24/57] 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 985d43fcb59a5482154164026a3c79937fe7f45f Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Mon, 23 Mar 2020 11:37:37 +0000 Subject: [PATCH 25/57] 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 8ff9c9644d78a48e0fba8914eb380aa1d21eff9c 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/57] [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 07fbcac7eb08308ac29591a47f56ce455f49c156 Mon Sep 17 00:00:00 2001 From: Tatiana Deribina Date: Thu, 16 Apr 2020 17:52:14 +0300 Subject: [PATCH 27/57] [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 cca2bba127a828d3e769ffcd49b07a2599c12dad Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 19 May 2020 07:58:51 +0000 Subject: [PATCH 28/57] [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 a2ef2ea832a2ba3a7deaf7bb83d371f2b720b49a Mon Sep 17 00:00:00 2001 From: c2cdidier Date: Wed, 22 Jul 2020 09:28:09 +0000 Subject: [PATCH 29/57] 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 eab3c6546b252711340b4cb76498ab0141d4f4a9 Mon Sep 17 00:00:00 2001 From: c2cdidier Date: Wed, 22 Jul 2020 09:09:31 +0000 Subject: [PATCH 30/57] 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 18667d9239503bbaf13133e052056f3199e7eb27 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sun, 16 Aug 2020 11:35:53 +0000 Subject: [PATCH 31/57] 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 2588e4cb1372ea023e55c61b029e3925b6459ef9 Mon Sep 17 00:00:00 2001 From: emagdalena Date: Tue, 13 Oct 2020 05:44:14 +0200 Subject: [PATCH 32/57] [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 e92672b424ba891396f0a8cea4a2ea461248e485 Mon Sep 17 00:00:00 2001 From: emagdalena Date: Tue, 13 Oct 2020 05:52:12 +0200 Subject: [PATCH 33/57] [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 e4604c77e61514f53e3c09a2e89db0575f72fc2a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 19 Oct 2020 07:22:07 +0000 Subject: [PATCH 34/57] [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 3ac873ba09d64f74e3ae4ab7a0b041e6a971fb21 Mon Sep 17 00:00:00 2001 From: Yves Le Doeuff Date: Thu, 18 Feb 2021 09:30:29 +0000 Subject: [PATCH 35/57] 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 d20fc307e946d331af53878d6f6b0ad7b00f1a35 Mon Sep 17 00:00:00 2001 From: Eduardo Magdalena Date: Thu, 3 Sep 2020 14:20:13 +0200 Subject: [PATCH 36/57] [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