diff --git a/server_environment/models/server_env_tech_name_mixin.py b/server_environment/models/server_env_tech_name_mixin.py index d865184de..6a5a35866 100644 --- a/server_environment/models/server_env_tech_name_mixin.py +++ b/server_environment/models/server_env_tech_name_mixin.py @@ -57,10 +57,11 @@ def _onchange_tech_name(self): # make sure is normalized self.tech_name = self._normalize_tech_name(self.tech_name) - @api.model - def create(self, vals): - self._handle_tech_name(vals) - return super().create(vals) + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + self._handle_tech_name(vals) + return super().create(vals_list) def write(self, vals): self._handle_tech_name(vals) diff --git a/server_environment/security/res_groups.xml b/server_environment/security/res_groups.xml index 10a082bd2..f06b92432 100644 --- a/server_environment/security/res_groups.xml +++ b/server_environment/security/res_groups.xml @@ -6,6 +6,9 @@ View Server Environment Configuration - + diff --git a/server_environment/server_env.py b/server_environment/server_env.py index a2a720657..ed16e84ff 100644 --- a/server_environment/server_env.py +++ b/server_environment/server_env.py @@ -24,7 +24,7 @@ _dir = os.path.dirname(server_environment_files.__file__) except ImportError: _logger.info( - "not using server_environment_files for configuration," " no directory found" + "not using server_environment_files for configuration, no directory found" ) _dir = None @@ -202,15 +202,18 @@ def _add_columns(cls): ) for col, value in cols: col_name = col.replace(".", "_") + tmp_field = fields.Char( + string=cls._format_key_display_name(col_name), + sparse="config", + readonly=True, + ) setattr( ServerConfiguration, col_name, - fields.Char( - string=cls._format_key_display_name(col_name), - sparse="config", - readonly=True, - ), + tmp_field, ) + tmp_field.name = col_name + ServerConfiguration._field_definitions.append(tmp_field) cls._conf_defaults[col_name] = value @classmethod @@ -287,17 +290,14 @@ def _build_osv(cls): cls._arch = etree.fromstring(arch) @api.model - def fields_view_get( - self, view_id=None, view_type="form", toolbar=False, submenu=False - ): - """Overwrite the default method to render the custom view.""" - res = super().fields_view_get(view_id, view_type, toolbar) + def get_view(self, view_id=None, view_type="form", **options): + res = super().get_view(view_id, view_type, **options) View = self.env["ir.ui.view"].browse(view_id) if view_type == "form": - arch_node = self._arch - xarch, xfields = View.postprocess_and_fields(arch_node, model=self._name) - res["arch"] = xarch - res["fields"] = xfields + arch, models = View.postprocess_and_fields( + self._arch, model=self._name, **options + ) + res["arch"] = arch return res @api.model diff --git a/server_environment/tests/test_server_environment.py b/server_environment/tests/test_server_environment.py index 2dc4fa1fa..714893fe6 100644 --- a/server_environment/tests/test_server_environment.py +++ b/server_environment/tests/test_server_environment.py @@ -12,13 +12,13 @@ class TestEnv(common.ServerEnvironmentCase): def test_view(self): model = self.env["server.config"] - view = model.fields_view_get() + view = model.get_view() self.assertTrue(view) def _test_default(self, hidden_pwd=False): model = self.env["server.config"] rec = model.create({}) - fields = model.fields_view_get()["fields"] + fields = model.fields_get() self.assertTrue(fields) defaults = rec.default_get(list(fields)) self.assertTrue(defaults) diff --git a/setup/server_environment/odoo/addons/server_environment b/setup/server_environment/odoo/addons/server_environment new file mode 120000 index 000000000..13248f558 --- /dev/null +++ b/setup/server_environment/odoo/addons/server_environment @@ -0,0 +1 @@ +../../../../server_environment \ No newline at end of file diff --git a/setup/server_environment/setup.py b/setup/server_environment/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/server_environment/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)