Fix iteration on records
This commit is contained in:
parent
3eeae22838
commit
fa1110698e
|
|
@ -246,10 +246,12 @@ class ServerEnvMixin(models.AbstractModel):
|
||||||
for record in self:
|
for record in self:
|
||||||
for field_name, options in self._server_env_fields.items():
|
for field_name, options in self._server_env_fields.items():
|
||||||
if record._server_env_has_key_defined(field_name):
|
if record._server_env_has_key_defined(field_name):
|
||||||
self._compute_server_env_from_config(field_name, options)
|
record._compute_server_env_from_config(field_name, options)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self._compute_server_env_from_default(field_name, options)
|
record._compute_server_env_from_default(
|
||||||
|
field_name, options
|
||||||
|
)
|
||||||
|
|
||||||
def _inverse_server_env(self, field_name):
|
def _inverse_server_env(self, field_name):
|
||||||
options = self._server_env_fields[field_name]
|
options = self._server_env_fields[field_name]
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,26 @@ class TestServerEnvMixin(ServerEnvironmentCase):
|
||||||
self.assertEqual(foo.password, 'bar')
|
self.assertEqual(foo.password, 'bar')
|
||||||
self.assertTrue(foo.ssl)
|
self.assertTrue(foo.ssl)
|
||||||
|
|
||||||
|
def test_env_computed_fields_read_multi(self):
|
||||||
|
"""Read values in env-computed fields on several records"""
|
||||||
|
public = (
|
||||||
|
"[server_env_test]\n"
|
||||||
|
"host=test.example.com\n"
|
||||||
|
"port=21\n"
|
||||||
|
"user=foo\n"
|
||||||
|
)
|
||||||
|
# we can create the record even if we didn't provide
|
||||||
|
# the field host which was required
|
||||||
|
foo = self.env['server.env.test'].create({
|
||||||
|
'name': 'foo',
|
||||||
|
})
|
||||||
|
foo2 = self.env['server.env.test'].create({
|
||||||
|
'name': 'foo2',
|
||||||
|
})
|
||||||
|
foos = foo + foo2
|
||||||
|
with self.load_config(public):
|
||||||
|
foos._compute_server_env()
|
||||||
|
|
||||||
def test_env_computed_fields_write(self):
|
def test_env_computed_fields_write(self):
|
||||||
"""Env-computed fields without key in config can be written"""
|
"""Env-computed fields without key in config can be written"""
|
||||||
public = (
|
public = (
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue