[16][MIG] Migration of server_environment_data_encryption
This commit is contained in:
parent
ff4aa12cc0
commit
826754ddc3
|
|
@ -1,7 +1,7 @@
|
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
{
|
||||
"name": "Server Environment Data Encryption",
|
||||
"version": "14.0.1.0.2",
|
||||
"version": "16.0.1.0.0",
|
||||
"development_status": "Alpha",
|
||||
"category": "Tools",
|
||||
"website": "https://github.com/OCA/server-env",
|
||||
|
|
|
|||
|
|
@ -175,29 +175,27 @@ class ServerEnvMixin(models.AbstractModel):
|
|||
"configuration file"
|
||||
)
|
||||
)
|
||||
doc = etree.XML(arch)
|
||||
node = doc.xpath("//sheet")
|
||||
node = arch.xpath("//sheet")
|
||||
if node:
|
||||
node = node[0]
|
||||
elem = self._get_extra_environment_info_div(current_env, other_environments)
|
||||
node.insert(0, elem)
|
||||
|
||||
if current_env != config.get("running_env"):
|
||||
self._set_readonly_form_view(doc)
|
||||
arch = etree.tostring(doc, pretty_print=True, encoding="unicode")
|
||||
self._set_readonly_form_view(arch)
|
||||
else:
|
||||
_logger.error("Missing sheet for form view on object {}".format(self._name))
|
||||
return arch
|
||||
|
||||
@api.model
|
||||
def fields_view_get(
|
||||
self, view_id=None, view_type="form", toolbar=False, submenu=False
|
||||
):
|
||||
res = super().fields_view_get(
|
||||
view_id=view_id,
|
||||
view_type=view_type,
|
||||
toolbar=toolbar,
|
||||
submenu=submenu,
|
||||
def _get_view(self, view_id=None, view_type="form", **options):
|
||||
arch, view = super()._get_view(view_id=view_id, view_type=view_type, **options)
|
||||
arch = self._update_form_view_from_env(arch, view_type)
|
||||
return arch, view
|
||||
|
||||
def _get_view_cache_key(self, view_id=None, view_type="form", **options):
|
||||
res = super()._get_view_cache_key(
|
||||
view_id=view_id, view_type=view_type, **options
|
||||
)
|
||||
res["arch"] = self._update_form_view_from_env(res["arch"], view_type)
|
||||
res += (self.env.context.get("environment", False),)
|
||||
return res
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
from pathlib import Path
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from odoo.addons.data_encryption.tests.common import CommonDataEncrypted
|
||||
|
||||
|
||||
|
|
@ -12,11 +14,17 @@ class TestServerEnvDataEncrypted(CommonDataEncrypted):
|
|||
self.set_new_key_env("preprod")
|
||||
mixin_obj = self.env["server.env.mixin"]
|
||||
base_path = Path(__file__).parent / "fixtures" / "base.xml"
|
||||
xml = base_path.read_text()
|
||||
xml_str = base_path.read_text()
|
||||
xml = etree.XML(xml_str)
|
||||
res_xml = mixin_obj._update_form_view_from_env(xml, "form")
|
||||
expected_xml_path = Path(__file__).parent / "fixtures" / "res1.xml"
|
||||
expected_xml = expected_xml_path.read_text()
|
||||
self.assertEqual(res_xml, expected_xml)
|
||||
# convert both to xml with parser removing space then convert to string to
|
||||
# compare
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
res_xml_str = etree.tostring(etree.XML(etree.tostring(res_xml), parser=parser))
|
||||
expected_xml_str = etree.tostring(etree.XML(expected_xml, parser=parser))
|
||||
self.assertEqual(res_xml_str, expected_xml_str)
|
||||
|
||||
def test_dynamic_view_other_env(self):
|
||||
self.maxDiff = None
|
||||
|
|
@ -24,10 +32,16 @@ class TestServerEnvDataEncrypted(CommonDataEncrypted):
|
|||
self.set_new_key_env("preprod")
|
||||
mixin_obj = self.env["server.env.mixin"]
|
||||
base_path = Path(__file__).parent / "fixtures" / "base.xml"
|
||||
xml = base_path.read_text()
|
||||
xml_str = base_path.read_text()
|
||||
xml = etree.XML(xml_str)
|
||||
res_xml = mixin_obj.with_context(environment="prod")._update_form_view_from_env(
|
||||
xml, "form"
|
||||
)
|
||||
expected_xml_path = Path(__file__).parent / "fixtures" / "res2.xml"
|
||||
expected_xml = expected_xml_path.read_text()
|
||||
self.assertEqual(res_xml, expected_xml)
|
||||
# convert both to xml with parser removing space then convert to string to
|
||||
# compare
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
res_xml_str = etree.tostring(etree.XML(etree.tostring(res_xml), parser=parser))
|
||||
expected_xml_str = etree.tostring(etree.XML(expected_xml, parser=parser))
|
||||
self.assertEqual(res_xml_str, expected_xml_str)
|
||||
|
|
|
|||
Loading…
Reference in New Issue