From ad4b8e26cae70640670804a33a8dcb64c7e062a4 Mon Sep 17 00:00:00 2001
From: Alexey Pelykh
Date: Wed, 11 Sep 2019 14:04:03 +0200
Subject: [PATCH 01/13] [ADD] web_widget_dropdown_dynamic
[UPD] Update web_widget_dropdown_dynamic.pot
[UPD] Update web_widget_dropdown_dynamic_example.pot
[UPD] README.rst
[ADD] icon.png
[UPD] README.rst
---
web_widget_dropdown_dynamic/README.rst | 114 +++++
web_widget_dropdown_dynamic/__init__.py | 1 +
web_widget_dropdown_dynamic/__manifest__.py | 20 +
.../i18n/web_widget_dropdown_dynamic.pot | 22 +
.../readme/CONTRIBUTORS.rst | 1 +
.../readme/DESCRIPTION.rst | 9 +
.../readme/ROADMAP.rst | 1 +
web_widget_dropdown_dynamic/readme/USAGE.rst | 24 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 465 ++++++++++++++++++
.../static/src/js/basic_model.js | 47 ++
.../static/src/js/field_dynamic_dropdown.js | 140 ++++++
.../web_widget_dropdown_dynamic_tests.js | 177 +++++++
.../templates/assets.xml | 19 +
14 files changed, 1040 insertions(+)
create mode 100644 web_widget_dropdown_dynamic/README.rst
create mode 100644 web_widget_dropdown_dynamic/__init__.py
create mode 100644 web_widget_dropdown_dynamic/__manifest__.py
create mode 100644 web_widget_dropdown_dynamic/i18n/web_widget_dropdown_dynamic.pot
create mode 100644 web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst
create mode 100644 web_widget_dropdown_dynamic/readme/DESCRIPTION.rst
create mode 100644 web_widget_dropdown_dynamic/readme/ROADMAP.rst
create mode 100644 web_widget_dropdown_dynamic/readme/USAGE.rst
create mode 100644 web_widget_dropdown_dynamic/static/description/icon.png
create mode 100644 web_widget_dropdown_dynamic/static/description/index.html
create mode 100644 web_widget_dropdown_dynamic/static/src/js/basic_model.js
create mode 100644 web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js
create mode 100644 web_widget_dropdown_dynamic/static/tests/web_widget_dropdown_dynamic_tests.js
create mode 100644 web_widget_dropdown_dynamic/templates/assets.xml
diff --git a/web_widget_dropdown_dynamic/README.rst b/web_widget_dropdown_dynamic/README.rst
new file mode 100644
index 000000000..21d266392
--- /dev/null
+++ b/web_widget_dropdown_dynamic/README.rst
@@ -0,0 +1,114 @@
+=======================
+Dynamic Dropdown Widget
+=======================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! 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%2Fweb-lightgray.png?logo=github
+ :target: https://github.com/OCA/web/tree/12.0/web_widget_dropdown_dynamic
+ :alt: OCA/web
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_widget_dropdown_dynamic
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/162/12.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+Dynamic dropdown widget that supports resolving options from backend of:
+
+ * ``fields.Char``
+ * ``fields.Integer``
+ * ``fields.Selection``
+
+**NOTE:** This widget is not intended to *extend* ``fields.Selection``, but to
+filter selection values. For fully-dynamic set of options, use ``fields.Char``
+instead.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Usage
+=====
+
+.. code-block:: python
+
+ @api.model
+ def method_name(self):
+ values = [
+ ('value_a', 'Title A'),
+ ]
+ if self.env.context.get('depending_on') == True:
+ values += [
+ ('value_b', 'Title B'),
+ ]
+ return values
+
+.. code-block:: xml
+
+
+
+
+Known issues / Roadmap
+======================
+
+ * In v13, ``$.when`` is going to become `Promise.resolve`
+
+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
+~~~~~~~
+
+* Brainbean Apps OU
+
+Contributors
+~~~~~~~~~~~~
+
+* Alexey Pelykh
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+This module is part of the `OCA/web `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/web_widget_dropdown_dynamic/__init__.py b/web_widget_dropdown_dynamic/__init__.py
new file mode 100644
index 000000000..c71289ab1
--- /dev/null
+++ b/web_widget_dropdown_dynamic/__init__.py
@@ -0,0 +1 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
diff --git a/web_widget_dropdown_dynamic/__manifest__.py b/web_widget_dropdown_dynamic/__manifest__.py
new file mode 100644
index 000000000..8ede2ec51
--- /dev/null
+++ b/web_widget_dropdown_dynamic/__manifest__.py
@@ -0,0 +1,20 @@
+# Copyright 2019 Brainbean Apps (https://brainbeanapps.com)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
+{
+ 'name': 'Dynamic Dropdown Widget',
+ 'summary': 'This module adds support for dynamic dropdown widget',
+ 'category': 'Web',
+ 'version': '12.0.1.0.0',
+ 'license': 'AGPL-3',
+ 'author':
+ 'Brainbean Apps OU, '
+ 'Odoo Community Association (OCA)',
+ 'website': 'https://github.com/OCA/web/',
+ 'depends': [
+ 'web',
+ ],
+ 'data': [
+ 'templates/assets.xml',
+ ],
+ 'installable': True,
+}
diff --git a/web_widget_dropdown_dynamic/i18n/web_widget_dropdown_dynamic.pot b/web_widget_dropdown_dynamic/i18n/web_widget_dropdown_dynamic.pot
new file mode 100644
index 000000000..673c92c99
--- /dev/null
+++ b/web_widget_dropdown_dynamic/i18n/web_widget_dropdown_dynamic.pot
@@ -0,0 +1,22 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * web_widget_dropdown_dynamic
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.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: web_widget_dropdown_dynamic
+#. openerp-web
+#: code:addons/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js:15
+#, python-format
+msgid "Dynamic Dropdown"
+msgstr ""
+
diff --git a/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst b/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..1c6a35a1e
--- /dev/null
+++ b/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* Alexey Pelykh
diff --git a/web_widget_dropdown_dynamic/readme/DESCRIPTION.rst b/web_widget_dropdown_dynamic/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..1ce39c5f7
--- /dev/null
+++ b/web_widget_dropdown_dynamic/readme/DESCRIPTION.rst
@@ -0,0 +1,9 @@
+Dynamic dropdown widget that supports resolving options from backend of:
+
+ * ``fields.Char``
+ * ``fields.Integer``
+ * ``fields.Selection``
+
+**NOTE:** This widget is not intended to *extend* ``fields.Selection``, but to
+filter selection values. For fully-dynamic set of options, use ``fields.Char``
+instead.
diff --git a/web_widget_dropdown_dynamic/readme/ROADMAP.rst b/web_widget_dropdown_dynamic/readme/ROADMAP.rst
new file mode 100644
index 000000000..7186b62cf
--- /dev/null
+++ b/web_widget_dropdown_dynamic/readme/ROADMAP.rst
@@ -0,0 +1 @@
+ * In v13, ``$.when`` is going to become `Promise.resolve`
diff --git a/web_widget_dropdown_dynamic/readme/USAGE.rst b/web_widget_dropdown_dynamic/readme/USAGE.rst
new file mode 100644
index 000000000..f30491bc4
--- /dev/null
+++ b/web_widget_dropdown_dynamic/readme/USAGE.rst
@@ -0,0 +1,24 @@
+.. code-block:: python
+
+ @api.model
+ def method_name(self):
+ values = [
+ ('value_a', 'Title A'),
+ ]
+ if self.env.context.get('depending_on') == True:
+ values += [
+ ('value_b', 'Title B'),
+ ]
+ return values
+
+.. code-block:: xml
+
+
+
diff --git a/web_widget_dropdown_dynamic/static/description/icon.png b/web_widget_dropdown_dynamic/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)`y_~Hnd9AUX7h-H?jVuU|}My+C=TjH(jKz
zqMVr0re3S$H@t{zI95qa)+Crz*5Zj}Ao%4Z><+W(nOZd?gDnfNBC3>M8WE61$So|P
zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO
z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1
zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_
zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8
zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ>
zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN
z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h
zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d
zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB
zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz
z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I
zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X
zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD
z#z-)AXwSRY?OPefw^iI+
z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd
z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs
z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I
z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$
z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV
z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s
zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6
zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u
zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q
zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH
zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c
zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT
zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+
z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ
zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy
zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC)
zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a
zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x!
zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X
zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8
z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A
z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H
zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n=
z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK
z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z
zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h
z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD
z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW
zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@
zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz
z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y<
zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X
zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6
zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6%
z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(|
z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ
z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H
zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6
z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d}
z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A
zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/web_widget_dropdown_dynamic/static/description/index.html b/web_widget_dropdown_dynamic/static/description/index.html
new file mode 100644
index 000000000..d17e254a2
--- /dev/null
+++ b/web_widget_dropdown_dynamic/static/description/index.html
@@ -0,0 +1,465 @@
+
+
+
+
+
+
+Dynamic Dropdown Widget
+
+
+
+
+
Dynamic Dropdown Widget
+
+
+
+
Dynamic dropdown widget that supports resolving options from backend of:
+
+
+
fields.Char
+
fields.Integer
+
fields.Selection
+
+
+
NOTE: This widget is not intended to extendfields.Selection, but to
+filter selection values. For fully-dynamic set of options, use fields.Char
+instead.
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.
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/web project on GitHub.
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.
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/web project on GitHub.
+
This module is part of the OCA/web project on GitHub.
From b909fccfbe436de5dd560c82fb4982b60e7a423d Mon Sep 17 00:00:00 2001
From: claudiagn
Date: Wed, 17 Feb 2021 12:45:40 +0000
Subject: [PATCH 10/13] Added translation using Weblate (Spanish)
---
web_widget_dropdown_dynamic/i18n/es.po | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 web_widget_dropdown_dynamic/i18n/es.po
diff --git a/web_widget_dropdown_dynamic/i18n/es.po b/web_widget_dropdown_dynamic/i18n/es.po
new file mode 100644
index 000000000..c6d92ff4b
--- /dev/null
+++ b/web_widget_dropdown_dynamic/i18n/es.po
@@ -0,0 +1,22 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * web_widget_dropdown_dynamic
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#. module: web_widget_dropdown_dynamic
+#. openerp-web
+#: code:addons/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js:0
+#, python-format
+msgid "Dynamic Dropdown"
+msgstr ""
From 1114791d6824881a72cbd358700047cb0abb9438 Mon Sep 17 00:00:00 2001
From: claudiagn
Date: Wed, 17 Feb 2021 12:45:56 +0000
Subject: [PATCH 11/13] Translated using Weblate (Spanish)
Currently translated at 100.0% (1 of 1 strings)
Translation: web-13.0/web-13.0-web_widget_dropdown_dynamic
Translate-URL: https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_widget_dropdown_dynamic/es/
---
web_widget_dropdown_dynamic/i18n/es.po | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/web_widget_dropdown_dynamic/i18n/es.po b/web_widget_dropdown_dynamic/i18n/es.po
index c6d92ff4b..39577a6ef 100644
--- a/web_widget_dropdown_dynamic/i18n/es.po
+++ b/web_widget_dropdown_dynamic/i18n/es.po
@@ -6,17 +6,19 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2021-02-17 14:45+0000\n"
+"Last-Translator: claudiagn \n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.3.2\n"
#. module: web_widget_dropdown_dynamic
#. openerp-web
#: code:addons/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js:0
#, python-format
msgid "Dynamic Dropdown"
-msgstr ""
+msgstr "MenĂº desplegable dinĂ¡mico"
From ee1ae14dd88416cdcde4e5b754f509af03969294 Mon Sep 17 00:00:00 2001
From: Ronald Portier
Date: Fri, 28 May 2021 16:14:32 +0200
Subject: [PATCH 12/13] [IMP] web_widget_dropdown_dynamic: black, isort,
prettier
---
.../odoo/addons/web_widget_dropdown_dynamic | 1 +
setup/web_widget_dropdown_dynamic/setup.py | 6 +++++
web_widget_dropdown_dynamic/__manifest__.py | 2 +-
.../static/src/js/basic_model.js | 4 +--
.../static/src/js/field_dynamic_dropdown.js | 26 +++++++++----------
.../web_widget_dropdown_dynamic_tests.js | 20 +++++++-------
6 files changed, 33 insertions(+), 26 deletions(-)
create mode 120000 setup/web_widget_dropdown_dynamic/odoo/addons/web_widget_dropdown_dynamic
create mode 100644 setup/web_widget_dropdown_dynamic/setup.py
diff --git a/setup/web_widget_dropdown_dynamic/odoo/addons/web_widget_dropdown_dynamic b/setup/web_widget_dropdown_dynamic/odoo/addons/web_widget_dropdown_dynamic
new file mode 120000
index 000000000..df3532d14
--- /dev/null
+++ b/setup/web_widget_dropdown_dynamic/odoo/addons/web_widget_dropdown_dynamic
@@ -0,0 +1 @@
+../../../../web_widget_dropdown_dynamic
\ No newline at end of file
diff --git a/setup/web_widget_dropdown_dynamic/setup.py b/setup/web_widget_dropdown_dynamic/setup.py
new file mode 100644
index 000000000..28c57bb64
--- /dev/null
+++ b/setup/web_widget_dropdown_dynamic/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+ setup_requires=['setuptools-odoo'],
+ odoo_addon=True,
+)
diff --git a/web_widget_dropdown_dynamic/__manifest__.py b/web_widget_dropdown_dynamic/__manifest__.py
index e556da8d1..879079b5b 100644
--- a/web_widget_dropdown_dynamic/__manifest__.py
+++ b/web_widget_dropdown_dynamic/__manifest__.py
@@ -8,7 +8,7 @@
"version": "13.0.1.0.0",
"license": "AGPL-3",
"author": "CorporateHub, Odoo Community Association (OCA)",
- "website": "https://github.com/OCA/web/",
+ "website": "https://github.com/OCA/web",
"depends": ["web"],
"data": ["templates/assets.xml"],
"installable": True,
diff --git a/web_widget_dropdown_dynamic/static/src/js/basic_model.js b/web_widget_dropdown_dynamic/static/src/js/basic_model.js
index f5b211e2c..b535a57e7 100644
--- a/web_widget_dropdown_dynamic/static/src/js/basic_model.js
+++ b/web_widget_dropdown_dynamic/static/src/js/basic_model.js
@@ -2,7 +2,7 @@
* Copyright 2019-2020 Brainbean Apps (https://brainbeanapps.com)
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
*/
-odoo.define("web_widget_dropdown_dynamic.basic_model", function(require) {
+odoo.define("web_widget_dropdown_dynamic.basic_model", function (require) {
"use strict";
var BasicModel = require("web.BasicModel");
@@ -20,7 +20,7 @@ odoo.define("web_widget_dropdown_dynamic.basic_model", function(require) {
* (for the given parameters), no RPC is done and the promise
* is resolved with the undefined value.
*/
- _fetchDynamicDropdownValues: function(record, fieldName, fieldInfo) {
+ _fetchDynamicDropdownValues: function (record, fieldName, fieldInfo) {
var model = fieldInfo.options.model || record.model;
var method = fieldInfo.values || fieldInfo.options.values;
if (!method) {
diff --git a/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js b/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js
index 987793ba5..18cc876bd 100644
--- a/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js
+++ b/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js
@@ -2,7 +2,7 @@
* Copyright 2019 Brainbean Apps (https://brainbeanapps.com)
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
*/
-odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(require) {
+odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function (require) {
"use strict";
var core = require("web.core");
@@ -22,7 +22,7 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
/**
* @override
*/
- init: function() {
+ init: function () {
this._super.apply(this, arguments);
this._setValues();
},
@@ -35,13 +35,13 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
* @override
* @returns {jQuery}
*/
- getFocusableElement: function() {
+ getFocusableElement: function () {
return this.$el.is("select") ? this.$el : $();
},
/**
* @override
*/
- isSet: function() {
+ isSet: function () {
return this.value !== false;
},
/**
@@ -50,7 +50,7 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
*
* @override
*/
- updateModifiersValue: function() {
+ updateModifiersValue: function () {
this._super.apply(this, arguments);
if (!this.attrs.modifiersValue.invisible && this.mode !== "readonly") {
this._setValues();
@@ -66,14 +66,14 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
* @override
* @private
*/
- _formatValue: function(value) {
+ _formatValue: function (value) {
var options = _.extend(
{},
this.nodeOptions,
{data: this.recordData},
this.formatOptions
);
- var formattedValue = _.find(this.values, function(option) {
+ var formattedValue = _.find(this.values, function (option) {
return option[0] === value;
});
if (!formattedValue) {
@@ -89,7 +89,7 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
* @override
* @private
*/
- _renderEdit: function() {
+ _renderEdit: function () {
this.$el.empty();
for (var i = 0; i < this.values.length; i++) {
this.$el.append(
@@ -105,13 +105,13 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
* @override
* @private
*/
- _renderReadonly: function() {
+ _renderReadonly: function () {
this.$el.empty().text(this._formatValue(this.value));
},
/**
* @override
*/
- _reset: function() {
+ _reset: function () {
this._super.apply(this, arguments);
this._setValues();
},
@@ -120,8 +120,8 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
*
* @private
*/
- _setValues: function() {
- this.values = _.reject(this.record.specialData[this.name], function(v) {
+ _setValues: function () {
+ this.values = _.reject(this.record.specialData[this.name], function (v) {
return v[0] === false && v[1] === "";
});
if (!this.attrs.modifiersValue || !this.attrs.modifiersValue.required) {
@@ -138,7 +138,7 @@ odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(requi
/**
* @private
*/
- _onChange: function() {
+ _onChange: function () {
var value = JSON.parse(this.$el.val());
this._setValue(value.toString());
},
diff --git a/web_widget_dropdown_dynamic/static/tests/web_widget_dropdown_dynamic_tests.js b/web_widget_dropdown_dynamic/static/tests/web_widget_dropdown_dynamic_tests.js
index f51b619cd..494e64e4e 100644
--- a/web_widget_dropdown_dynamic/static/tests/web_widget_dropdown_dynamic_tests.js
+++ b/web_widget_dropdown_dynamic/static/tests/web_widget_dropdown_dynamic_tests.js
@@ -1,4 +1,4 @@
-odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", function(
+odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", function (
require
) {
"use strict";
@@ -8,8 +8,8 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
var FormView = require("web.FormView");
var testUtils = require("web.test_utils");
- QUnit.module("web_widget_dropdown_dynamic", {}, function() {
- QUnit.test("values are fetched w/o context (char)", async function(assert) {
+ QUnit.module("web_widget_dropdown_dynamic", {}, function () {
+ QUnit.test("values are fetched w/o context (char)", async function (assert) {
assert.expect(2);
var form = await testUtils.createView({
@@ -27,7 +27,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
"",
- mockRPC: function(route, args) {
+ mockRPC: function (route, args) {
if (args.method === "_get_test_field_values") {
return Promise.resolve([["value", "Title"]]);
}
@@ -41,7 +41,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
form.destroy();
});
- QUnit.test("values are fetched w/o context (integer)", async function(assert) {
+ QUnit.test("values are fetched w/o context (integer)", async function (assert) {
assert.expect(2);
var form = await testUtils.createView({
@@ -59,7 +59,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
"",
- mockRPC: function(route, args) {
+ mockRPC: function (route, args) {
if (args.method === "_get_test_field_values") {
return Promise.resolve([[0, "Title"]]);
}
@@ -73,7 +73,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
form.destroy();
});
- QUnit.test("values are fetched w/o context (selection)", async function(
+ QUnit.test("values are fetched w/o context (selection)", async function (
assert
) {
assert.expect(2);
@@ -93,7 +93,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
"",
- mockRPC: function(route, args) {
+ mockRPC: function (route, args) {
if (args.method === "_get_test_field_values") {
return Promise.resolve([["value", "Title"]]);
}
@@ -107,7 +107,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
form.destroy();
});
- QUnit.test("values are fetched with changing context", async function(assert) {
+ QUnit.test("values are fetched with changing context", async function (assert) {
assert.expect(6);
var form = await testUtils.createView({
@@ -127,7 +127,7 @@ odoo.define("web_widget_dropdown_dynamic.web_widget_dropdown_dynamic_tests", fun
'' +
'' +
"",
- mockRPC: function(route, args) {
+ mockRPC: function (route, args) {
if (args.method === "_get_test_field_values") {
if (args.kwargs.context.step === "step-1") {
return Promise.resolve([["value", "Title"]]);
From a8bb336547be481a9e49149502f1d60e36dfe411 Mon Sep 17 00:00:00 2001
From: Ronald Portier
Date: Fri, 28 May 2021 16:19:56 +0200
Subject: [PATCH 13/13] [MIG] web_widget_dropdown_dynamic: Migration to 14.0
---
web_widget_dropdown_dynamic/README.rst | 14 +++++++++-----
web_widget_dropdown_dynamic/__manifest__.py | 2 +-
.../readme/CONTRIBUTORS.rst | 4 ++++
.../static/description/index.html | 10 +++++++---
4 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/web_widget_dropdown_dynamic/README.rst b/web_widget_dropdown_dynamic/README.rst
index 182360991..cf8cb467e 100644
--- a/web_widget_dropdown_dynamic/README.rst
+++ b/web_widget_dropdown_dynamic/README.rst
@@ -14,13 +14,13 @@ Dynamic Dropdown Widget
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
- :target: https://github.com/OCA/web/tree/13.0/web_widget_dropdown_dynamic
+ :target: https://github.com/OCA/web/tree/14.0/web_widget_dropdown_dynamic
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_widget_dropdown_dynamic
+ :target: https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_widget_dropdown_dynamic
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/162/13.0
+ :target: https://runbot.odoo-community.org/runbot/162/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -74,7 +74,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.
@@ -93,6 +93,10 @@ Contributors
* Alexey Pelykh
+* `Therp BV `__
+
+ * Ronald Portier
+
Maintainers
~~~~~~~~~~~
@@ -106,6 +110,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/web `_ project on GitHub.
+This module is part of the `OCA/web `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/web_widget_dropdown_dynamic/__manifest__.py b/web_widget_dropdown_dynamic/__manifest__.py
index 879079b5b..56add7f08 100644
--- a/web_widget_dropdown_dynamic/__manifest__.py
+++ b/web_widget_dropdown_dynamic/__manifest__.py
@@ -5,7 +5,7 @@
"name": "Dynamic Dropdown Widget",
"summary": "This module adds support for dynamic dropdown widget",
"category": "Web",
- "version": "13.0.1.0.0",
+ "version": "14.0.1.0.0",
"license": "AGPL-3",
"author": "CorporateHub, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/web",
diff --git a/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst b/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst
index 724bc1d03..fc2a1a3c6 100644
--- a/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst
+++ b/web_widget_dropdown_dynamic/readme/CONTRIBUTORS.rst
@@ -1,3 +1,7 @@
* `CorporateHub `__
* Alexey Pelykh
+
+* `Therp BV `__
+
+ * Ronald Portier
diff --git a/web_widget_dropdown_dynamic/static/description/index.html b/web_widget_dropdown_dynamic/static/description/index.html
index 8da1257d4..983b6b168 100644
--- a/web_widget_dropdown_dynamic/static/description/index.html
+++ b/web_widget_dropdown_dynamic/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
Dynamic dropdown widget that supports resolving options from backend of:
@@ -423,7 +423,7 @@ instead.
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.
@@ -450,7 +454,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
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/web project on GitHub.
+
This module is part of the OCA/web project on GitHub.