changeset f161a9f37679 in proteus:default
details: https://hg.tryton.org/proteus?cmd=changeset;node=f161a9f37679
description:
Raise NotImplementedError when setting Function field without setter
issue7985
review265101002
diffstat:
proteus/__init__.py | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diffs (21 lines):
diff -r ae977ce9155d -r f161a9f37679 proteus/__init__.py
--- a/proteus/__init__.py Fri Mar 08 23:40:20 2019 +0100
+++ b/proteus/__init__.py Wed Mar 27 00:28:57 2019 +0100
@@ -885,8 +885,15 @@
'Return dictionary values'
if fields is None:
fields = self._values.keys()
- return dict((x, getattr(self, '__%s_value' % x)) for x in fields
- if x not in ('id', '_timestamp'))
+ values = {}
+ for name in fields:
+ if name in ['id', '_timestamp']:
+ continue
+ definition = self._fields[name]
+ if definition.get('readonly') and definition['type'] != 'one2many':
+ continue
+ values[name] = getattr(self, '__%s_value' % name)
+ return values
@property
def _timestamp(self):