From 93dc9696d04746c40d900dc8d3b04ee9ee27c7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 18:14:15 +0100 Subject: [PATCH 01/35] server_environment_ir_config_parameter --- .../README.rst | 82 ++++++++++++++++++ .../__init__.py | 1 + .../__openerp__.py | 20 +++++ .../models/__init__.py | 1 + .../models/ir_config_parameter.py | 59 +++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../tests/__init__.py | 1 + .../tests/test_server_environment_ircp.py | 51 +++++++++++ 8 files changed, 215 insertions(+) create mode 100644 server_environment_ir_config_parameter/README.rst create mode 100644 server_environment_ir_config_parameter/__init__.py create mode 100644 server_environment_ir_config_parameter/__openerp__.py create mode 100644 server_environment_ir_config_parameter/models/__init__.py create mode 100644 server_environment_ir_config_parameter/models/ir_config_parameter.py create mode 100644 server_environment_ir_config_parameter/static/description/icon.png create mode 100644 server_environment_ir_config_parameter/tests/__init__.py create mode 100644 server_environment_ir_config_parameter/tests/test_server_environment_ircp.py diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst new file mode 100644 index 000000000..954a7a85c --- /dev/null +++ b/server_environment_ir_config_parameter/README.rst @@ -0,0 +1,82 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +====================================== +Server Environment Ir Config Parameter +====================================== + +Override System Parameters from server environment file. +Before using this module, you must be familiar with the +server_environment module. + +Installation +============ + +There is no specific installation instruction for this module. + +Configuration +============= + +To configure this module, you need to add a section ``[ir.config_parameter]`` to +you server_environment_files configurations, where the keys are the same +as would normally be set in the Systems Parameter Odoo menu. + +When first using a value, the system will read it from the configuration file +and override any value that would be present in the database, so the configuration +file has precedence. + +The user cannot write, create, or delete System Parameters that are defined in the +configuration files. + +For example you can use this module in combination with web_environment_ribbon: + +.. code:: + + [ir.config_parameter] + ribbon.name=DEV + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/149/9.0 + +Known issues / Roadmap +====================== + +N/A + +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. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Stéphane Bidoul + +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 https://odoo-community.org. diff --git a/server_environment_ir_config_parameter/__init__.py b/server_environment_ir_config_parameter/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/server_environment_ir_config_parameter/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/server_environment_ir_config_parameter/__openerp__.py b/server_environment_ir_config_parameter/__openerp__.py new file mode 100644 index 000000000..616840f8a --- /dev/null +++ b/server_environment_ir_config_parameter/__openerp__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Server Environment Ir Config Parameter', + 'summary': """ + Override System Parameters from server environment file""", + 'version': '9.0.1.0.0', + 'license': 'AGPL-3', + 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', + 'website': 'https://odoo-community.org/', + 'depends': [ + 'server_environment', + ], + 'data': [ + ], + 'demo': [ + ], +} diff --git a/server_environment_ir_config_parameter/models/__init__.py b/server_environment_ir_config_parameter/models/__init__.py new file mode 100644 index 000000000..bd3aa9f10 --- /dev/null +++ b/server_environment_ir_config_parameter/models/__init__.py @@ -0,0 +1 @@ +from . import ir_config_parameter diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py new file mode 100644 index 000000000..c92153dee --- /dev/null +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import api, models, _, SUPERUSER_ID +from openerp.exceptions import UserError +from openerp.tools import ormcache +from openerp.addons.server_environment import serv_config + + +SECTION = 'ir.config_parameter' +CTX_NO_CHECK = 'icp_no_check' + + +class IrConfigParameter(models.Model): + + _inherit = 'ir.config_parameter' + + @ormcache('uid', 'key') + def _get_param(self, cr, uid, key): + value = super(IrConfigParameter, self)._get_param(cr, uid, key) + if serv_config.has_option(SECTION, key): + cvalue = serv_config.get(SECTION, key) + if cvalue != value: + # we write in db on first access; + # should we have preloaded values in database at, + # server startup, modules loading their parameters + # from data files would break on unique key error. + self.set_param( + cr, SUPERUSER_ID, key, cvalue, + context={CTX_NO_CHECK: True}) + return cvalue + return value + + def _check_not_in_config(self, keys): + if self.env.context.get(CTX_NO_CHECK): + return + if not serv_config.has_section(SECTION): + return + config_icp_keys = set(serv_config.options(SECTION)) & set(keys) + if config_icp_keys: + raise UserError(_("System Parameter(s) %s is/are defined " + "in server_environment_files.") % + (config_icp_keys, )) + + @api.model + def create(self, vals): + self._check_not_in_config([vals.get('key')]) + return super(IrConfigParameter, self).create(vals) + + @api.multi + def write(self, vals): + self._check_not_in_config(self.mapped('key')) + return super(IrConfigParameter, self).write(vals) + + @api.multi + def unlink(self): + self._check_not_in_config(self.mapped('key')) + return super(IrConfigParameter, self).unlink() diff --git a/server_environment_ir_config_parameter/static/description/icon.png b/server_environment_ir_config_parameter/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/server_environment_ir_config_parameter/tests/__init__.py b/server_environment_ir_config_parameter/tests/__init__.py new file mode 100644 index 000000000..83a250db1 --- /dev/null +++ b/server_environment_ir_config_parameter/tests/__init__.py @@ -0,0 +1 @@ +from . import test_server_environment_ircp diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py new file mode 100644 index 000000000..9566bb126 --- /dev/null +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp.exceptions import UserError +from openerp.tests import common + + +class TestEnv(common.SavepointCase): + + def setUp(self): + super(TestEnv, self).setUp() + self.ICP = self.env['ir.config_parameter'] + + def test_get_param(self): + """ Get system parameter from config """ + # it's not in db + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertFalse(res) + # read so it's created in db + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') + # now it's in db + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + self.assertEqual(res.value, 'config_value') + + def test_set_param_1(self): + """ We can't set parameters that are in config file """ + # create + with self.assertRaises(UserError): + self.ICP.set_param('ircp_from_config', 'new_value') + # read so it's created in db + self.ICP.get_param('ircp_from_config') + # write + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + with self.assertRaises(UserError): + res.write({'ircp_from_config': 'new_value'}) + # unlink + with self.assertRaises(UserError): + res.unlink() + + def test_set_param_2(self): + """ We can set parameters that are not in config file """ + self.ICP.set_param('some.param', 'new_value') + self.assertEqual(self.ICP.get_param('some.param'), 'new_value') + res = self.ICP.search([('key', '=', 'some.param')]) + res.unlink() + res = self.ICP.search([('key', '=', 'some.param')]) + self.assertFalse(res) From 33d222fa6c010628de6871f33c64b0ae0abba68c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:18:01 +0100 Subject: [PATCH 02/35] server_environment_ir_config_parameter: work around double ormcache issue --- .../models/ir_config_parameter.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index c92153dee..819ef8f62 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -4,7 +4,6 @@ from openerp import api, models, _, SUPERUSER_ID from openerp.exceptions import UserError -from openerp.tools import ormcache from openerp.addons.server_environment import serv_config @@ -16,9 +15,9 @@ class IrConfigParameter(models.Model): _inherit = 'ir.config_parameter' - @ormcache('uid', 'key') - def _get_param(self, cr, uid, key): - value = super(IrConfigParameter, self)._get_param(cr, uid, key) + def get_param(self, cr, uid, key, default=False, context=None): + value = super(IrConfigParameter, self).get_param( + cr, uid, key, default=None, context=context) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if cvalue != value: @@ -29,7 +28,9 @@ def _get_param(self, cr, uid, key): self.set_param( cr, SUPERUSER_ID, key, cvalue, context={CTX_NO_CHECK: True}) - return cvalue + value = cvalue + if value is None: + return default return value def _check_not_in_config(self, keys): From bb0e538c902082b37fc42992588d831203333fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:18:38 +0100 Subject: [PATCH 03/35] server_environment_ir_config_parameter: handle empty values better --- .../models/ir_config_parameter.py | 4 ++++ .../tests/test_server_environment_ircp.py | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 819ef8f62..14bad0ca8 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -20,6 +20,10 @@ def get_param(self, cr, uid, key, default=False, context=None): cr, uid, key, default=None, context=context) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) + if not cvalue: + raise UserError(_("Key %s is empty in " + "server_environment_file") % + (key, )) if cvalue != value: # we write in db on first access; # should we have preloaded values in database at, diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 9566bb126..07fae4469 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -49,3 +49,9 @@ def test_set_param_2(self): res.unlink() res = self.ICP.search([('key', '=', 'some.param')]) self.assertFalse(res) + + def test_empty(self): + """ Empty config values cause error """ + with self.assertRaises(UserError): + self.ICP.get_param('ircp_empty') + self.assertEqual(self.ICP.get_param('ircp_nonexistant'), False) From 03d1cfc12bd70629e890f027e9c4fc1d9ba817a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:23:14 +0100 Subject: [PATCH 04/35] server_environment_ir_config_param: silently replace values by config values This is much more robust that raising an error, and let modules load ir.config_parameter from xml data files, while still enforcing values from the config files. --- .../README.rst | 4 +- .../models/ir_config_parameter.py | 36 +++++--------- .../tests/test_server_environment_ircp.py | 48 ++++++++++++++----- 3 files changed, 51 insertions(+), 37 deletions(-) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 954a7a85c..07afc8b87 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -26,8 +26,8 @@ When first using a value, the system will read it from the configuration file and override any value that would be present in the database, so the configuration file has precedence. -The user cannot write, create, or delete System Parameters that are defined in the -configuration files. +When creating or modifying values that are in the configuration file, the +module replace changes, enforcing the configuration value. For example you can use this module in combination with web_environment_ribbon: diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 14bad0ca8..f00ba08ac 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -8,7 +8,6 @@ SECTION = 'ir.config_parameter' -CTX_NO_CHECK = 'icp_no_check' class IrConfigParameter(models.Model): @@ -29,36 +28,27 @@ def get_param(self, cr, uid, key, default=False, context=None): # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. - self.set_param( - cr, SUPERUSER_ID, key, cvalue, - context={CTX_NO_CHECK: True}) + self.set_param(cr, SUPERUSER_ID, key, cvalue) value = cvalue if value is None: return default return value - def _check_not_in_config(self, keys): - if self.env.context.get(CTX_NO_CHECK): - return - if not serv_config.has_section(SECTION): - return - config_icp_keys = set(serv_config.options(SECTION)) & set(keys) - if config_icp_keys: - raise UserError(_("System Parameter(s) %s is/are defined " - "in server_environment_files.") % - (config_icp_keys, )) - @api.model def create(self, vals): - self._check_not_in_config([vals.get('key')]) + key = vals.get('key') + if serv_config.has_option(SECTION, key): + # enforce value from config file + vals = dict(vals, value=serv_config.get(SECTION, key)) return super(IrConfigParameter, self).create(vals) @api.multi def write(self, vals): - self._check_not_in_config(self.mapped('key')) - return super(IrConfigParameter, self).write(vals) - - @api.multi - def unlink(self): - self._check_not_in_config(self.mapped('key')) - return super(IrConfigParameter, self).unlink() + for rec in self: + key = vals.get('key') or rec.key + if serv_config.has_option(SECTION, key): + # enforce value from config file + newvals = dict(vals, value=serv_config.get(SECTION, key)) + else: + newvals = vals + super(IrConfigParameter, rec).write(newvals) diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 07fae4469..8f6f768a5 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -2,11 +2,14 @@ # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from cStringIO import StringIO + from openerp.exceptions import UserError from openerp.tests import common +from openerp.tools import convert -class TestEnv(common.SavepointCase): +class TestEnv(common.TransactionCase): def setUp(self): super(TestEnv, self).setUp() @@ -27,19 +30,27 @@ def test_get_param(self): def test_set_param_1(self): """ We can't set parameters that are in config file """ - # create - with self.assertRaises(UserError): - self.ICP.set_param('ircp_from_config', 'new_value') - # read so it's created in db - self.ICP.get_param('ircp_from_config') - # write + # when creating, the value is overridden by config file + self.ICP.set_param('ircp_from_config', 'new_value') + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') + # when writing, the value is overridden by config file + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + res.write({'value': 'new_value'}) + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') + # unlink works normally... + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + res.unlink() + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 0) + # but the value is recreated when getting param again + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') res = self.ICP.search([('key', '=', 'ircp_from_config')]) self.assertEqual(len(res), 1) - with self.assertRaises(UserError): - res.write({'ircp_from_config': 'new_value'}) - # unlink - with self.assertRaises(UserError): - res.unlink() def test_set_param_2(self): """ We can set parameters that are not in config file """ @@ -55,3 +66,16 @@ def test_empty(self): with self.assertRaises(UserError): self.ICP.get_param('ircp_empty') self.assertEqual(self.ICP.get_param('ircp_nonexistant'), False) + + def test_override_xmldata(self): + xml = """ + + + ircp_from_config + value_from_xml + + + """ + convert.convert_xml_import(self.env.cr, 'testmodule', StringIO(xml)) + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') From d659b131b13d569bb34ba70379624d7f9d00a46c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Tue, 22 Nov 2016 09:45:04 +0100 Subject: [PATCH 05/35] server_environment_ir_config_parameter: update roadmap --- server_environment_ir_config_parameter/README.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 07afc8b87..e457f88f0 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -43,7 +43,10 @@ For example you can use this module in combination with web_environment_ribbon: Known issues / Roadmap ====================== -N/A +* When the user modifies System Parameters that are defined in the config + file, the changes are ignored. It would be nice to display which system + parameters come from the config file and possibly make their key and value + readonly in the user interface. Bug Tracker =========== From 2f06a9536ee2a242038ff9b09df8b9ccc1ff5a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Fri, 9 Dec 2016 11:35:20 +0100 Subject: [PATCH 06/35] server_environment_ir_config_parameter: migrate to 10.0 --- server_environment_ir_config_parameter/README.rst | 2 +- .../{__openerp__.py => __manifest__.py} | 2 +- .../models/ir_config_parameter.py | 14 +++++++------- .../tests/test_server_environment_ircp.py | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) rename server_environment_ir_config_parameter/{__openerp__.py => __manifest__.py} (94%) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index e457f88f0..5bfd6d611 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -38,7 +38,7 @@ For example you can use this module in combination with web_environment_ribbon: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/9.0 + :target: https://runbot.odoo-community.org/runbot/149/10.0 Known issues / Roadmap ====================== diff --git a/server_environment_ir_config_parameter/__openerp__.py b/server_environment_ir_config_parameter/__manifest__.py similarity index 94% rename from server_environment_ir_config_parameter/__openerp__.py rename to server_environment_ir_config_parameter/__manifest__.py index 616840f8a..20b357f34 100644 --- a/server_environment_ir_config_parameter/__openerp__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -6,7 +6,7 @@ 'name': 'Server Environment Ir Config Parameter', 'summary': """ Override System Parameters from server environment file""", - 'version': '9.0.1.0.0', + 'version': '10.0.1.0.0', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://odoo-community.org/', diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index f00ba08ac..61116360d 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -2,9 +2,9 @@ # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import api, models, _, SUPERUSER_ID -from openerp.exceptions import UserError -from openerp.addons.server_environment import serv_config +from odoo import api, models, _ +from odoo.exceptions import UserError +from odoo.addons.server_environment import serv_config SECTION = 'ir.config_parameter' @@ -14,9 +14,9 @@ class IrConfigParameter(models.Model): _inherit = 'ir.config_parameter' - def get_param(self, cr, uid, key, default=False, context=None): - value = super(IrConfigParameter, self).get_param( - cr, uid, key, default=None, context=context) + @api.model + def get_param(self, key, default=False): + value = super(IrConfigParameter, self).get_param(key, default=None) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if not cvalue: @@ -28,7 +28,7 @@ def get_param(self, cr, uid, key, default=False, context=None): # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. - self.set_param(cr, SUPERUSER_ID, key, cvalue) + self.set_param(key, cvalue) value = cvalue if value is None: return default diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 8f6f768a5..bcffa9c5b 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -4,9 +4,9 @@ from cStringIO import StringIO -from openerp.exceptions import UserError -from openerp.tests import common -from openerp.tools import convert +from odoo.exceptions import UserError +from odoo.tests import common +from odoo.tools import convert class TestEnv(common.TransactionCase): From c7cfdb940ccd81ae28825e74de80cad60075dc12 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Wed, 21 Jun 2017 17:34:29 +0200 Subject: [PATCH 07/35] server_environment_ir_config_parameter Avoid loading import Odoo loads modules that contain static directory, so it wanted to load server_environment_files but it does not exist --- .../i18n/de.po | 30 ++++++++++++++++++ .../i18n/es.po | 30 ++++++++++++++++++ .../i18n/nl_NL.po | 30 ++++++++++++++++++ .../static/description/icon.png | Bin 9455 -> 0 bytes 4 files changed, 90 insertions(+) create mode 100644 server_environment_ir_config_parameter/i18n/de.po create mode 100644 server_environment_ir_config_parameter/i18n/es.po create mode 100644 server_environment_ir_config_parameter/i18n/nl_NL.po delete mode 100644 server_environment_ir_config_parameter/static/description/icon.png diff --git a/server_environment_ir_config_parameter/i18n/de.po b/server_environment_ir_config_parameter/i18n/de.po new file mode 100644 index 000000000..8b27e6610 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/de.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Niki Waibel , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Niki Waibel , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/es.po b/server_environment_ir_config_parameter/i18n/es.po new file mode 100644 index 000000000..39388a122 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/es.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Pedro M. Baeza , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Pedro M. Baeza , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/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: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/nl_NL.po b/server_environment_ir_config_parameter/i18n/nl_NL.po new file mode 100644 index 000000000..11fe9f352 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/nl_NL.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "sleutel %s is leeg in server_environment_file" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/static/description/icon.png b/server_environment_ir_config_parameter/static/description/icon.png deleted file mode 100644 index 3a0328b516c4980e8e44cdb63fd945757ddd132d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I From 8bb9649258438a2fcd6b950deaf3d434a13f28bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 13 Aug 2017 14:09:04 +0200 Subject: [PATCH 08/35] missing sudo in server_environment_ir_config_param Without this sudo get_param would fail when the first user reading a parameter that has changed in the configuration file does not have write access to system parameters. --- server_environment_ir_config_parameter/__manifest__.py | 2 +- .../models/ir_config_parameter.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index 20b357f34..a48e34a0b 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -6,7 +6,7 @@ 'name': 'Server Environment Ir Config Parameter', 'summary': """ Override System Parameters from server environment file""", - 'version': '10.0.1.0.0', + 'version': '10.0.1.0.1', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://odoo-community.org/', diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 61116360d..ea52aec8e 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -28,7 +28,7 @@ def get_param(self, key, default=False): # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. - self.set_param(key, cvalue) + self.sudo().set_param(key, cvalue) value = cvalue if value is None: return default From 3a982794db79599bfb974d9884b9ae112d9469f5 Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Fri, 24 Nov 2017 11:09:19 +0100 Subject: [PATCH 09/35] server_environment_ir_config_parameter: missing return. --- .../i18n/de.po | 4 +-- .../i18n/es.po | 4 +-- .../i18n/it.po | 30 ++++++++++++++++++ .../i18n/nl_NL.po | 7 +++-- .../i18n/ro.po | 31 +++++++++++++++++++ ...server_environment_ir_config_parameter.pot | 26 ++++++++++++++++ .../models/ir_config_parameter.py | 1 + 7 files changed, 96 insertions(+), 7 deletions(-) create mode 100644 server_environment_ir_config_parameter/i18n/it.po create mode 100644 server_environment_ir_config_parameter/i18n/ro.po create mode 100644 server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot diff --git a/server_environment_ir_config_parameter/i18n/de.po b/server_environment_ir_config_parameter/i18n/de.po index 8b27e6610..f46b8a6df 100644 --- a/server_environment_ir_config_parameter/i18n/de.po +++ b/server_environment_ir_config_parameter/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * server_environment_ir_config_parameter -# +# # Translators: # Niki Waibel , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-06-22 01:12+0000\n" "Last-Translator: Niki Waibel , 2017\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter diff --git a/server_environment_ir_config_parameter/i18n/es.po b/server_environment_ir_config_parameter/i18n/es.po index 39388a122..fc51cf7bb 100644 --- a/server_environment_ir_config_parameter/i18n/es.po +++ b/server_environment_ir_config_parameter/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * server_environment_ir_config_parameter -# +# # Translators: # Pedro M. Baeza , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-06-22 01:12+0000\n" "Last-Translator: Pedro M. Baeza , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/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: server_environment_ir_config_parameter diff --git a/server_environment_ir_config_parameter/i18n/it.po b/server_environment_ir_config_parameter/i18n/it.po new file mode 100644 index 000000000..c6294e422 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/it.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Paolo Valier , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-06 02:25+0000\n" +"PO-Revision-Date: 2018-01-06 02:25+0000\n" +"Last-Translator: Paolo Valier , 2018\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/nl_NL.po b/server_environment_ir_config_parameter/i18n/nl_NL.po index 11fe9f352..a104e5d79 100644 --- a/server_environment_ir_config_parameter/i18n/nl_NL.po +++ b/server_environment_ir_config_parameter/i18n/nl_NL.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * server_environment_ir_config_parameter -# +# # Translators: # Peter Hageman , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-06-22 01:12+0000\n" "PO-Revision-Date: 2017-06-22 01:12+0000\n" "Last-Translator: Peter Hageman , 2017\n" -"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter diff --git a/server_environment_ir_config_parameter/i18n/ro.po b/server_environment_ir_config_parameter/i18n/ro.po new file mode 100644 index 000000000..9d1d18135 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/ro.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Dorin Hongu , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-16 02:17+0000\n" +"PO-Revision-Date: 2017-12-16 02:17+0000\n" +"Last-Translator: Dorin Hongu , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot new file mode 100644 index 000000000..3e08d8b2a --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.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: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index ea52aec8e..4017fdd4d 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -52,3 +52,4 @@ def write(self, vals): else: newvals = vals super(IrConfigParameter, rec).write(newvals) + return True From d0a8a10ad349939948c52517442ebb402c2b48cc Mon Sep 17 00:00:00 2001 From: Gilles Meyomesse Date: Tue, 2 Oct 2018 12:11:30 +0200 Subject: [PATCH 10/35] [MIG] server_environment_ir_config_parameter from 11 to 12 --- .../README.rst | 90 ++-- .../__manifest__.py | 3 +- .../models/ir_config_parameter.py | 1 - .../readme/CONFIGURE.rst | 17 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/CREDITS.rst | 2 + .../readme/DESCRIPTION.rst | 1 + .../readme/ROADMAP.rst | 4 + .../readme/USAGE.rst | 2 + .../static/description/index.html | 457 ++++++++++++++++++ .../tests/test_server_environment_ircp.py | 1 - 11 files changed, 546 insertions(+), 34 deletions(-) create mode 100644 server_environment_ir_config_parameter/readme/CONFIGURE.rst create mode 100644 server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst create mode 100644 server_environment_ir_config_parameter/readme/CREDITS.rst create mode 100644 server_environment_ir_config_parameter/readme/DESCRIPTION.rst create mode 100644 server_environment_ir_config_parameter/readme/ROADMAP.rst create mode 100644 server_environment_ir_config_parameter/readme/USAGE.rst create mode 100644 server_environment_ir_config_parameter/static/description/index.html diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 5bfd6d611..ebea787d6 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -1,19 +1,36 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ====================================== Server Environment Ir Config Parameter ====================================== +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/12.0/server_environment_ir_config_parameter + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-server_environment_ir_config_parameter + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/149/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + Override System Parameters from server environment file. -Before using this module, you must be familiar with the -server_environment module. -Installation -============ +**Table of contents** -There is no specific installation instruction for this module. +.. contents:: + :local: Configuration ============= @@ -36,50 +53,63 @@ For example you can use this module in combination with web_environment_ribbon: [ir.config_parameter] ribbon.name=DEV -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/10.0 +Usage +===== + +Before using this module, you must be familiar with the +server_environment module. Known issues / Roadmap ====================== -* When the user modifies System Parameters that are defined in the config - file, the changes are ignored. It would be nice to display which system - parameters come from the config file and possibly make their key and value - readonly in the user interface. +When the user modifies System Parameters that are defined in the config +file, the changes are ignored. It would be nice to display which system +parameters come from the config file and possibly make their key and value +readonly in the user interface. 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. +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 `_. +* ACSONE SA/NV Contributors ------------- +~~~~~~~~~~~~ -* Stéphane Bidoul +* Stéphane Bidoul (https://acsone.eu) +* Gilles Meyomesse (https://acsone.eu) -Maintainer ----------- +Other credits +~~~~~~~~~~~~~ + +This module is maintained by: +* Odoo Community Association + +Maintainers +~~~~~~~~~~~ + +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. +This module is part of the `OCA/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index a48e34a0b..65c790e91 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -6,7 +5,7 @@ 'name': 'Server Environment Ir Config Parameter', 'summary': """ Override System Parameters from server environment file""", - 'version': '10.0.1.0.1', + 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://odoo-community.org/', diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 4017fdd4d..c0f18e285 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/server_environment_ir_config_parameter/readme/CONFIGURE.rst b/server_environment_ir_config_parameter/readme/CONFIGURE.rst new file mode 100644 index 000000000..ce786cbc0 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/CONFIGURE.rst @@ -0,0 +1,17 @@ +To configure this module, you need to add a section ``[ir.config_parameter]`` to +you server_environment_files configurations, where the keys are the same +as would normally be set in the Systems Parameter Odoo menu. + +When first using a value, the system will read it from the configuration file +and override any value that would be present in the database, so the configuration +file has precedence. + +When creating or modifying values that are in the configuration file, the +module replace changes, enforcing the configuration value. + +For example you can use this module in combination with web_environment_ribbon: + +.. code:: + + [ir.config_parameter] + ribbon.name=DEV \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..0ac312858 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Stéphane Bidoul (https://acsone.eu) +* Gilles Meyomesse (https://acsone.eu) \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/CREDITS.rst b/server_environment_ir_config_parameter/readme/CREDITS.rst new file mode 100644 index 000000000..e8134ce93 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/CREDITS.rst @@ -0,0 +1,2 @@ +This module is maintained by: +* Odoo Community Association \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/DESCRIPTION.rst b/server_environment_ir_config_parameter/readme/DESCRIPTION.rst new file mode 100644 index 000000000..141459e45 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Override System Parameters from server environment file. \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/ROADMAP.rst b/server_environment_ir_config_parameter/readme/ROADMAP.rst new file mode 100644 index 000000000..42a26d822 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/ROADMAP.rst @@ -0,0 +1,4 @@ +When the user modifies System Parameters that are defined in the config +file, the changes are ignored. It would be nice to display which system +parameters come from the config file and possibly make their key and value +readonly in the user interface. \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/USAGE.rst b/server_environment_ir_config_parameter/readme/USAGE.rst new file mode 100644 index 000000000..300775c17 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/USAGE.rst @@ -0,0 +1,2 @@ +Before using this module, you must be familiar with the +server_environment module. \ No newline at end of file diff --git a/server_environment_ir_config_parameter/static/description/index.html b/server_environment_ir_config_parameter/static/description/index.html new file mode 100644 index 000000000..8842fdd59 --- /dev/null +++ b/server_environment_ir_config_parameter/static/description/index.html @@ -0,0 +1,457 @@ + + + + + + +Server Environment Ir Config Parameter + + + +
+

Server Environment Ir Config Parameter

+ + +

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

+

Override System Parameters from server environment file.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to add a section [ir.config_parameter] to +you server_environment_files configurations, where the keys are the same +as would normally be set in the Systems Parameter Odoo menu.

+

When first using a value, the system will read it from the configuration file +and override any value that would be present in the database, so the configuration +file has precedence.

+

When creating or modifying values that are in the configuration file, the +module replace changes, enforcing the configuration value.

+

For example you can use this module in combination with web_environment_ribbon:

+
+[ir.config_parameter]
+ribbon.name=DEV
+
+
+
+

Usage

+

Before using this module, you must be familiar with the +server_environment module.

+
+
+

Known issues / Roadmap

+

When the user modifies System Parameters that are defined in the config +file, the changes are ignored. It would be nice to display which system +parameters come from the config file and possibly make their key and value +readonly in the user interface.

+
+
+

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

+
    +
  • ACSONE SA/NV
  • +
+
+ +
+

Other credits

+

This module is maintained by: +* Odoo Community Association

+
+
+

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/server-tools project on GitHub.

+

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

+
+
+
+ + diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index bcffa9c5b..31fd4d790 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). From 9bb7fb6859161dcae974297ed767813e4ac2ac26 Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Thu, 15 Nov 2018 15:39:30 +0100 Subject: [PATCH 11/35] [MIG] fix tests Manual forward port of 11.0 migration commit by Thierry Ducrest. --- .../README.rst | 17 ++++++----- .../__manifest__.py | 6 ++-- .../i18n/de.po | 9 ++++-- .../i18n/es.po | 9 ++++-- .../i18n/it.po | 9 ++++-- .../i18n/nl_NL.po | 9 ++++-- .../i18n/ro.po | 9 ++++-- ...server_environment_ir_config_parameter.pot | 6 ++-- .../models/ir_config_parameter.py | 8 ++--- .../readme/CONTRIBUTORS.rst | 3 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 11 +++---- .../tests/config_param_test.xml | 6 ++++ .../tests/test_server_environment_ircp.py | 28 +++++++++--------- 14 files changed, 77 insertions(+), 53 deletions(-) create mode 100644 server_environment_ir_config_parameter/static/description/icon.png create mode 100644 server_environment_ir_config_parameter/tests/config_param_test.xml diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index ebea787d6..2e7f0ff2d 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -13,14 +13,14 @@ Server Environment Ir Config Parameter .. |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%2Fserver--tools-lightgray.png?logo=github - :target: https://github.com/OCA/server-tools/tree/12.0/server_environment_ir_config_parameter - :alt: OCA/server-tools +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--env-lightgray.png?logo=github + :target: https://github.com/OCA/server-env/tree/12.0/server_environment_ir_config_parameter + :alt: OCA/server-env .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-server_environment_ir_config_parameter + :target: https://translation.odoo-community.org/projects/server-env-12-0/server-env-12-0-server_environment_ir_config_parameter :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/149/12.0 + :target: https://runbot.odoo-community.org/runbot/254/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -70,10 +70,10 @@ readonly in the user interface. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -89,6 +89,7 @@ Contributors ~~~~~~~~~~~~ * Stéphane Bidoul (https://acsone.eu) +* Thierry Ducrest * Gilles Meyomesse (https://acsone.eu) Other credits @@ -110,6 +111,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/server-tools `_ project on GitHub. +This module is part of the `OCA/server-env `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index 65c790e91..a0dd28ad5 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2016 ACSONE SA/NV +# Copyright 2016-2018 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { @@ -7,8 +7,8 @@ Override System Parameters from server environment file""", 'version': '12.0.1.0.0', 'license': 'AGPL-3', - 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', - 'website': 'https://odoo-community.org/', + 'author': 'ACSONE SA/NV, Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/server-env/', 'depends': [ 'server_environment', ], diff --git a/server_environment_ir_config_parameter/i18n/de.po b/server_environment_ir_config_parameter/i18n/de.po index f46b8a6df..5625ccc78 100644 --- a/server_environment_ir_config_parameter/i18n/de.po +++ b/server_environment_ir_config_parameter/i18n/de.po @@ -19,12 +19,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/es.po b/server_environment_ir_config_parameter/i18n/es.po index fc51cf7bb..7f53f153d 100644 --- a/server_environment_ir_config_parameter/i18n/es.po +++ b/server_environment_ir_config_parameter/i18n/es.po @@ -19,12 +19,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/it.po b/server_environment_ir_config_parameter/i18n/it.po index c6294e422..51b0a6f1d 100644 --- a/server_environment_ir_config_parameter/i18n/it.po +++ b/server_environment_ir_config_parameter/i18n/it.po @@ -19,12 +19,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/nl_NL.po b/server_environment_ir_config_parameter/i18n/nl_NL.po index a104e5d79..8e68688f3 100644 --- a/server_environment_ir_config_parameter/i18n/nl_NL.po +++ b/server_environment_ir_config_parameter/i18n/nl_NL.po @@ -20,12 +20,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "sleutel %s is leeg in server_environment_file" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/ro.po b/server_environment_ir_config_parameter/i18n/ro.po index 9d1d18135..238168909 100644 --- a/server_environment_ir_config_parameter/i18n/ro.po +++ b/server_environment_ir_config_parameter/i18n/ro.po @@ -20,12 +20,15 @@ msgstr "" "2:1));\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot index 3e08d8b2a..a17f0d010 100644 --- a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot +++ b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,13 +14,13 @@ msgstr "" "Plural-Forms: \n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" +msgid "System Parameter" msgstr "" diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index c0f18e285..29ddc44e3 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -1,4 +1,4 @@ -# Copyright 2016 ACSONE SA/NV +# Copyright 2016-2018 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, models, _ @@ -15,7 +15,7 @@ class IrConfigParameter(models.Model): @api.model def get_param(self, key, default=False): - value = super(IrConfigParameter, self).get_param(key, default=None) + value = super().get_param(key, default=None) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if not cvalue: @@ -39,7 +39,7 @@ def create(self, vals): if serv_config.has_option(SECTION, key): # enforce value from config file vals = dict(vals, value=serv_config.get(SECTION, key)) - return super(IrConfigParameter, self).create(vals) + return super().create(vals) @api.multi def write(self, vals): @@ -50,5 +50,5 @@ def write(self, vals): newvals = dict(vals, value=serv_config.get(SECTION, key)) else: newvals = vals - super(IrConfigParameter, rec).write(newvals) + super().write(newvals) return True diff --git a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst index 0ac312858..c3ae88deb 100644 --- a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst +++ b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Stéphane Bidoul (https://acsone.eu) -* Gilles Meyomesse (https://acsone.eu) \ No newline at end of file +* Thierry Ducrest +* Gilles Meyomesse (https://acsone.eu) diff --git a/server_environment_ir_config_parameter/static/description/icon.png b/server_environment_ir_config_parameter/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/server_environment_ir_config_parameter/static/description/index.html b/server_environment_ir_config_parameter/static/description/index.html index 8842fdd59..75e68cecc 100644 --- a/server_environment_ir_config_parameter/static/description/index.html +++ b/server_environment_ir_config_parameter/static/description/index.html @@ -3,7 +3,7 @@ - + Server Environment Ir Config Parameter -
-

Server Environment Ir Config Parameter

+
+ + +Odoo Community Association + +
+

Server Environment Ir Config Parameter

-

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

+

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

Override System Parameters from server environment file.

Table of contents

@@ -388,7 +393,7 @@

Server Environment Ir Config Parameter

-

Configuration

+

Configuration

To configure this module, you need to add a section [ir.config_parameter] to you server_environment_files configurations, where the keys are the same as would normally be set in @@ -406,35 +411,35 @@

Configuration

-

Usage

+

Usage

Before using this module, you must be familiar with the server_environment module.

-

Known issues / Roadmap

+

Known issues / Roadmap

When the user modifies System Parameters that are defined in the config file, the changes are ignored. It would be nice to display which system parameters come from the config file and possibly make their key and value readonly in the user interface.

-

Bug Tracker

+

Bug Tracker

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

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • ACSONE SA/NV
-

Other credits

+

Other credits

The migration of this module from 17.0 to 18.0 was financially supported by Camptocamp.

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -457,10 +462,11 @@

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/server-env project on GitHub.

+

This module is part of the OCA/server-env project on GitHub.

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

+
From 767a271cdc80bffd2cb1ec5cbaef2a5cb6bf5e7d Mon Sep 17 00:00:00 2001 From: Eric Lembregts Date: Thu, 2 Oct 2025 09:15:15 +0200 Subject: [PATCH 32/35] [MIG] server_environment_ir_config_parameter: Migration to 19.0 --- .../models/ir_config_parameter.py | 2 +- .../tests/test_server_environment_ircp.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 5e929276e..29d403c10 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -31,7 +31,7 @@ def get_param(self, key, default=False): cvalue = serv_config.get(SECTION, key) if not cvalue: raise UserError( - self.env._("Key %(key)s is empty in server_environment_file", key) + self.env._("Key %s is empty in server_environment_file", key) ) if cvalue != value: # we write in db on first access; diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 1e918aa70..d72fec530 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -34,7 +34,6 @@ def _load_xml(self, module, filepath): {}, mode="init", noupdate=False, - kind="test", ) def test_get_param(self): From 16908b6586ba7b68c72ecf404eb5af6c9ac5c160 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 12 Mar 2026 12:45:07 +0000 Subject: [PATCH 33/35] [UPD] Update server_environment_ir_config_parameter.pot --- server_environment_ir_config_parameter/README.rst | 12 ++++++------ .../i18n/server_environment_ir_config_parameter.pot | 12 +++++++++++- .../static/description/index.html | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 4234bd02f..d9b0e6746 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -11,7 +11,7 @@ Server Environment Ir Config Parameter !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:7f871315abe73bfc3c1ef286c1ab4c0008a2b0d6837e28390d768fd3977de86a + !! source digest: sha256:9235b6e1b478fe5a18648ed9546ee3b864b21024e184cc1c7fedd40e3db51b8d !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -97,11 +97,11 @@ Authors Contributors ------------ -- Stéphane Bidoul (https://acsone.eu) -- Thierry Ducrest -- Gilles Meyomesse (https://acsone.eu) -- Sylvain LE GAL (https://www.twitter.com/legalsylvain) -- Chau Le +- Stéphane Bidoul (https://acsone.eu) +- Thierry Ducrest +- Gilles Meyomesse (https://acsone.eu) +- Sylvain LE GAL (https://www.twitter.com/legalsylvain) +- Chau Le Other credits ------------- diff --git a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot index ea5fc086e..7e638c3e7 100644 --- a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot +++ b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -18,6 +18,16 @@ msgstr "" msgid "Defined by environment" msgstr "" +#. module: server_environment_ir_config_parameter +#: model:ir.model.fields,field_description:server_environment_ir_config_parameter.field_ir_config_parameter__display_name +msgid "Display Name" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model.fields,field_description:server_environment_ir_config_parameter.field_ir_config_parameter__id +msgid "ID" +msgstr "" + #. module: server_environment_ir_config_parameter #: model:ir.model.fields,help:server_environment_ir_config_parameter.field_ir_config_parameter__is_environment msgid "" diff --git a/server_environment_ir_config_parameter/static/description/index.html b/server_environment_ir_config_parameter/static/description/index.html index 539f009a9..d1451f931 100644 --- a/server_environment_ir_config_parameter/static/description/index.html +++ b/server_environment_ir_config_parameter/static/description/index.html @@ -372,7 +372,7 @@

Server Environment Ir Config Parameter

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:7f871315abe73bfc3c1ef286c1ab4c0008a2b0d6837e28390d768fd3977de86a +!! source digest: sha256:9235b6e1b478fe5a18648ed9546ee3b864b21024e184cc1c7fedd40e3db51b8d !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

Override System Parameters from server environment file.

From ae912a206b84b85e3040463c06e80a62df76b2e3 Mon Sep 17 00:00:00 2001 From: Raf Ven Date: Mon, 5 Oct 2026 11:17:37 +0200 Subject: [PATCH 34/35] [MIG] server_environment_ir_config_parameter: Migration to 20.0 --- .../README.rst | 20 +++--- .../__manifest__.py | 5 +- .../models/ir_config_parameter.py | 63 ++++++++++--------- .../static/description/index.html | 8 +-- .../tests/test_server_environment_ircp.py | 40 ++++++++---- 5 files changed, 77 insertions(+), 59 deletions(-) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index d9b0e6746..74e4cbf9f 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -21,13 +21,13 @@ Server Environment Ir Config Parameter :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--env-lightgray.png?logo=github - :target: https://github.com/OCA/server-env/tree/19.0/server_environment_ir_config_parameter + :target: https://github.com/OCA/server-env/tree/20.0/server_environment_ir_config_parameter :alt: OCA/server-env .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-env-19-0/server-env-19-0-server_environment_ir_config_parameter + :target: https://translation.odoo-community.org/projects/server-env-20-0/server-env-20-0-server_environment_ir_config_parameter :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/server-env&target_branch=19.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-env&target_branch=20.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -82,7 +82,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -97,11 +97,11 @@ Authors Contributors ------------ -- Stéphane Bidoul (https://acsone.eu) -- Thierry Ducrest -- Gilles Meyomesse (https://acsone.eu) -- Sylvain LE GAL (https://www.twitter.com/legalsylvain) -- Chau Le +- Stéphane Bidoul (https://acsone.eu) +- Thierry Ducrest +- Gilles Meyomesse (https://acsone.eu) +- Sylvain LE GAL (https://www.twitter.com/legalsylvain) +- Chau Le Other credits ------------- @@ -122,6 +122,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/server-env `_ project on GitHub. +This module is part of the `OCA/server-env `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index 5d38af425..b4f8379ec 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -3,9 +3,8 @@ { "name": "Server Environment Ir Config Parameter", - "summary": """ - Override System Parameters from server environment file""", - "version": "19.0.1.0.0", + "summary": "Override System Parameters from server environment file", + "version": "20.0.1.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-env", diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 29d403c10..9521b7371 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -1,11 +1,16 @@ # Copyright 2016-2018 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import logging + from odoo import api, fields, models from odoo.exceptions import UserError +from odoo.addons.base.models.ir_config_parameter import INVALID_VALUE from odoo.addons.server_environment.server_env import serv_config +_logger = logging.getLogger(__name__) + SECTION = "ir.config_parameter" @@ -24,35 +29,35 @@ def _compute_is_environment(self): for parameter in self: parameter.is_environment = serv_config.has_option(SECTION, parameter.key) - @api.model - def get_param(self, key, default=False): - value = super().get_param(key, default=None) - if serv_config.has_option(SECTION, key): - cvalue = serv_config.get(SECTION, key) - if not cvalue: - raise UserError( - self.env._("Key %s is empty in server_environment_file", key) - ) - if cvalue != value: - # we write in db on first access; - # should we have preloaded values in database at, - # server startup, modules loading their parameters - # from data files would break on unique key error. - if not self.env.context.get("_from_get_param", 0): - # the check is to avoid recursion, for instance the mail - # addon has an override in ir.config_parameter::write which - # calls get_param if we are setting mail.catchall.alias and - # this will cause an infinite recursion. We cut that - # recursion by using the context check. - # - # The mail addon call to get_param expects to get the value - # *before* the change, so we have to return the database - # value in that case - self.sudo().with_context(_from_get_param=1).set_param(key, cvalue) - value = cvalue - if value is None: - return default - return value + def _get(self, key, type_="str"): + # all typed getters (get_str, get_int, ...) and setters read through _get + value, id_ = super()._get(key, type_) + if not serv_config.has_option(SECTION, key): + return value, id_ + cvalue = serv_config.get(SECTION, key) + if not cvalue: + raise UserError( + self.env._("Key %s is empty in server_environment_file", key) + ) + if super()._get(key, "str")[0] != cvalue: + # we write in db on first access; + # should we have preloaded values in database at, + # server startup, modules loading their parameters + # from data files would break on unique key error. + if id_: + self.sudo().browse(id_).write({"value": cvalue}) + else: + id_ = self.sudo().create({"key": key, "value": cvalue}).id + try: + return self._convert(cvalue, type_), id_ + except ValueError: + _logger.warning( + "server environment key %s has invalid value %r for type %s", + key, + cvalue, + type_, + ) + return INVALID_VALUE, id_ @api.model_create_multi def create(self, vals_list): diff --git a/server_environment_ir_config_parameter/static/description/index.html b/server_environment_ir_config_parameter/static/description/index.html index d1451f931..48d51f189 100644 --- a/server_environment_ir_config_parameter/static/description/index.html +++ b/server_environment_ir_config_parameter/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Server Environment Ir Config Parameter