Better management of readonly on Group

There are some cases where readonly must be always True, otherwise we must rely
on the value set.
This commit is contained in:
Cédric Krier committed 2012-06-20 12:22:18 +02:00
1 parent b4192d9340
commit 91c720061b
2 files changed
+14 -8

No files matched your search

+2 -2
View File
@@ -742,8 +742,8 @@ class O2MField(CharField):
def state_set(self, record, states=('readonly', 'required', 'invisible')):
self._set_default_value(record)
super(O2MField, self).state_set(record, states=states)
if self.get_state_attrs(record).get('readonly', False):
record.value[self.name].readonly = True
record.value[self.name].readonly = self.get_state_attrs(record).get(
'readonly', False)
def get_removed_ids(self, record):
return [x.id for x in record.value[self.name].record_removed]
+12 -6
View File
@@ -35,17 +35,23 @@ class Group(SignalEvent, list):
self.load(ids)
self.record_deleted, self.record_removed = [], []
self.on_write = set()
if self._context.get('_datetime'):
self.readonly = True
elif not MODELACCESS[self.model_name]['write']:
self.readonly = True
else:
self.readonly = readonly
self.__readonly = None
self.__id2record = {}
self.__field_childs = None
self.exclude_field = None
self.pool = WeakSet()
@property
def readonly(self):
if (self._context.get('_datetime')
or not MODELACCESS[self.model_name]['write']):
return True
return self.__readonly
@readonly.setter
def readonly(self, value):
self.__readonly = value
@property
def domain(self):
if self.parent and self.child_name: