Skip to content

Commit 3d2f25d

Browse files
committed
Merge PR #245 into 17.0
Signed-off-by yvaucher
2 parents 88441ec + 8679507 commit 3d2f25d

20 files changed

Lines changed: 1359 additions & 11 deletions

File tree

data_encryption/tests/common.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,33 @@
1414

1515

1616
class CommonDataEncrypted(TransactionCase):
17-
def setUp(self):
18-
super().setUp()
17+
@classmethod
18+
def setUpClass(cls):
19+
super().setUpClass()
1920

20-
self.encrypted_data = self.env["encrypted.data"]
21-
self.set_new_key_env("test")
22-
self.old_running_env = config.get("running_env", "")
21+
cls.encrypted_data = cls.env["encrypted.data"]
22+
cls.set_new_key_env("test")
23+
old_running_env = config.get("running_env", "")
24+
25+
def reset_running_env():
26+
config["running_env"] = old_running_env
27+
28+
cls.addClassCleanup(reset_running_env)
2329
config["running_env"] = "test"
24-
self.crypted_data_name = "test_model,1"
30+
cls.crypted_data_name = "test_model,1"
2531

26-
def set_new_key_env(self, environment):
32+
@classmethod
33+
def set_new_key_env(cls, environment):
2734
crypting_key = Fernet.generate_key()
2835
# The key is encoded to bytes in the module, because in real life
2936
# the key com from the config file and is not in a binary format.
3037
# So we decode here to avoid having a special behavior because of
3138
# the tests.
32-
config[f"encryption_key_{environment}"] = crypting_key.decode()
39+
encryption_key_environment_config_name = f"encryption_key_{environment}"
40+
old_key = config.get(encryption_key_environment_config_name, "")
41+
42+
def reset_config_key():
43+
config[encryption_key_environment_config_name] = old_key
3344

34-
def tearDown(self):
35-
config["running_env"] = self.old_running_env
36-
return super().tearDown()
45+
cls.addClassCleanup(reset_config_key)
46+
config[encryption_key_environment_config_name] = crypting_key.decode()
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
==================================
2+
Server Environment Data Encryption
3+
==================================
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:d332eb4ca40eb79923ed865b069723db1c2f7be0946a840d9e1cd3197939915e
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Alpha
16+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
18+
:alt: License: AGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--env-lightgray.png?logo=github
20+
:target: https://github.com/OCA/server-env/tree/17.0/server_environment_data_encryption
21+
:alt: OCA/server-env
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/server-env-17-0/server-env-17-0-server_environment_data_encryption
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-env&target_branch=17.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
This module changes a little the behavior of server_environment modules.
32+
When Odoo does not find the value of the field in the configuration
33+
file, it will fallback on a Odoo encrypted field instead. Also it allows
34+
you to configure the environment dependent fields for all your
35+
environments from the production server.
36+
37+
.. IMPORTANT::
38+
This is an alpha version, the data model and design can change at any time without warning.
39+
Only for development or testing purpose, do not use in production.
40+
`More details on development status <https://odoo-community.org/page/development-status>`_
41+
42+
**Table of contents**
43+
44+
.. contents::
45+
:local:
46+
47+
Configuration
48+
=============
49+
50+
In order to use this module properly, each environment should have their
51+
own encryption key and the production environment should have the keys
52+
of all environments.
53+
54+
Example : Development environment :
55+
56+
::
57+
58+
[options]
59+
running_env=dev
60+
encryption_key_dev=XXX
61+
62+
Pre-production environment :
63+
64+
::
65+
66+
[options]
67+
running_env=preprod
68+
encryption_key_preprod=YYY
69+
70+
Production environment :
71+
72+
::
73+
74+
[options]
75+
running_env=prod
76+
encryption_key_dev=XXX
77+
encryption_key_preprod=YYY
78+
encryption_key_prod=ZZZ
79+
80+
Bug Tracker
81+
===========
82+
83+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-env/issues>`_.
84+
In case of trouble, please check there if your issue has already been reported.
85+
If you spotted it first, help us to smash it by providing a detailed and welcomed
86+
`feedback <https://github.com/OCA/server-env/issues/new?body=module:%20server_environment_data_encryption%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
87+
88+
Do not contact contributors directly about support or help with technical issues.
89+
90+
Credits
91+
=======
92+
93+
Authors
94+
-------
95+
96+
* Akretion
97+
98+
Contributors
99+
------------
100+
101+
- Florian da Costa <florian.dacosta@akretion.com>
102+
- Sébastien Beau <sebastien.beau@akretion.com>
103+
- Benoît Guillot <benoit.guillot@akretion.com>
104+
105+
Maintainers
106+
-----------
107+
108+
This module is maintained by the OCA.
109+
110+
.. image:: https://odoo-community.org/logo.png
111+
:alt: Odoo Community Association
112+
:target: https://odoo-community.org
113+
114+
OCA, or the Odoo Community Association, is a nonprofit organization whose
115+
mission is to support the collaborative development of Odoo features and
116+
promote its widespread use.
117+
118+
.. |maintainer-florian-dacosta| image:: https://github.com/florian-dacosta.png?size=40px
119+
:target: https://github.com/florian-dacosta
120+
:alt: florian-dacosta
121+
122+
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
123+
124+
|maintainer-florian-dacosta|
125+
126+
This module is part of the `OCA/server-env <https://github.com/OCA/server-env/tree/17.0/server_environment_data_encryption>`_ project on GitHub.
127+
128+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
2+
{
3+
"name": "Server Environment Data Encryption",
4+
"version": "17.0.1.0.0",
5+
"development_status": "Alpha",
6+
"maintainers": ["florian-dacosta"],
7+
"category": "Tools",
8+
"website": "https://github.com/OCA/server-env",
9+
"author": "Akretion, Odoo Community Association (OCA)",
10+
"license": "AGPL-3",
11+
"installable": True,
12+
"depends": ["server_environment", "data_encryption"],
13+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * server_environment_data_encryption
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 14.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"Last-Translator: Automatically generated\n"
10+
"Language-Team: none\n"
11+
"Language: ca\n"
12+
"MIME-Version: 1.0\n"
13+
"Content-Type: text/plain; charset=UTF-8\n"
14+
"Content-Transfer-Encoding: \n"
15+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
16+
17+
#. module: server_environment_data_encryption
18+
#. odoo-python
19+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
20+
#, python-format
21+
msgid "Define values for "
22+
msgstr ""
23+
24+
#. module: server_environment_data_encryption
25+
#: model:ir.model,name:server_environment_data_encryption.model_server_env_mixin
26+
msgid "Mixin to add server environment in existing models"
27+
msgstr ""
28+
29+
#. module: server_environment_data_encryption
30+
#. odoo-python
31+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
32+
#, python-format
33+
msgid "Modify values for {} environment"
34+
msgstr ""
35+
36+
#. module: server_environment_data_encryption
37+
#. odoo-python
38+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
39+
#, python-format
40+
msgid "The encryption key for current environement is not defined"
41+
msgstr ""
42+
43+
#. module: server_environment_data_encryption
44+
#. odoo-python
45+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
46+
#, python-format
47+
msgid ""
48+
"you need to define the running_env entry in your odoo configuration file"
49+
msgstr ""
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * server_environment_data_encryption
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 16.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"PO-Revision-Date: 2023-07-25 13:10+0000\n"
10+
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
11+
"Language-Team: none\n"
12+
"Language: es\n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
17+
"X-Generator: Weblate 4.17\n"
18+
19+
#. module: server_environment_data_encryption
20+
#. odoo-python
21+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
22+
#, python-format
23+
msgid "Define values for "
24+
msgstr "Definir valores para "
25+
26+
#. module: server_environment_data_encryption
27+
#: model:ir.model,name:server_environment_data_encryption.model_server_env_mixin
28+
msgid "Mixin to add server environment in existing models"
29+
msgstr "Combinación para añadir entorno de servidor en modelos existentes"
30+
31+
#. module: server_environment_data_encryption
32+
#. odoo-python
33+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
34+
#, python-format
35+
msgid "Modify values for {} environment"
36+
msgstr "Modificar los valores del entorno {}"
37+
38+
#. module: server_environment_data_encryption
39+
#. odoo-python
40+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
41+
#, python-format
42+
msgid "The encryption key for current environement is not defined"
43+
msgstr "La clave de encriptación para el entorno actual no está definida"
44+
45+
#. module: server_environment_data_encryption
46+
#. odoo-python
47+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
48+
#, python-format
49+
msgid ""
50+
"you need to define the running_env entry in your odoo configuration file"
51+
msgstr ""
52+
"necesitas definir la entrada running_env en tu archivo de configuración de "
53+
"odoo"
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * server_environment_data_encryption
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 16.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"PO-Revision-Date: 2024-01-03 14:36+0000\n"
10+
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11+
"Language-Team: none\n"
12+
"Language: it\n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
17+
"X-Generator: Weblate 4.17\n"
18+
19+
#. module: server_environment_data_encryption
20+
#. odoo-python
21+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
22+
#, python-format
23+
msgid "Define values for "
24+
msgstr "Definire valori per "
25+
26+
#. module: server_environment_data_encryption
27+
#: model:ir.model,name:server_environment_data_encryption.model_server_env_mixin
28+
msgid "Mixin to add server environment in existing models"
29+
msgstr "Mixin per aggiungere l'ambiente server in modelli esistenti"
30+
31+
#. module: server_environment_data_encryption
32+
#. odoo-python
33+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
34+
#, python-format
35+
msgid "Modify values for {} environment"
36+
msgstr "Modificare valori per ambiente {}"
37+
38+
#. module: server_environment_data_encryption
39+
#. odoo-python
40+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
41+
#, python-format
42+
msgid "The encryption key for current environement is not defined"
43+
msgstr "La chiave di criptazione per l'ambiente attuale non è definita"
44+
45+
#. module: server_environment_data_encryption
46+
#. odoo-python
47+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
48+
#, python-format
49+
msgid ""
50+
"you need to define the running_env entry in your odoo configuration file"
51+
msgstr "bisogna definire il valore running_env nel file di configruazione odoo"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * server_environment_data_encryption
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 18.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"Last-Translator: \n"
10+
"Language-Team: \n"
11+
"MIME-Version: 1.0\n"
12+
"Content-Type: text/plain; charset=UTF-8\n"
13+
"Content-Transfer-Encoding: \n"
14+
"Plural-Forms: \n"
15+
16+
#. module: server_environment_data_encryption
17+
#. odoo-python
18+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
19+
msgid "Define values for "
20+
msgstr ""
21+
22+
#. module: server_environment_data_encryption
23+
#: model:ir.model,name:server_environment_data_encryption.model_server_env_mixin
24+
msgid "Mixin to add server environment in existing models"
25+
msgstr ""
26+
27+
#. module: server_environment_data_encryption
28+
#. odoo-python
29+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
30+
msgid "Modify values for {} environment"
31+
msgstr ""
32+
33+
#. module: server_environment_data_encryption
34+
#. odoo-python
35+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
36+
msgid "The encryption key for current environement is not defined"
37+
msgstr ""
38+
39+
#. module: server_environment_data_encryption
40+
#. odoo-python
41+
#: code:addons/server_environment_data_encryption/models/server_env_mixin.py:0
42+
msgid ""
43+
"you need to define the running_env entry in your odoo configuration file"
44+
msgstr ""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import server_env_mixin

0 commit comments

Comments
 (0)