Limit readonly state for xxx2Many
issue5041 review25221002
This commit is contained in:
1 parent
ce6b853b27
commit
d1301c7128
4 files changed
+1
-9
No files matched your search
@@ -1,3 +1,4 @@
|
||||
* Limit readonly state for xxx2Many
|
||||
* Show records names in relate window title
|
||||
* Add support for count on Action Window Domains
|
||||
* Manage custom login process
|
||||
|
||||
@@ -721,8 +721,6 @@ class O2MField(Field):
|
||||
return screen_domain
|
||||
|
||||
def validate(self, record, softvalidation=False, pre_validate=None):
|
||||
if self.attrs.get('readonly'):
|
||||
return True
|
||||
invalid = False
|
||||
ldomain = localize_domain(domain_inversion(
|
||||
record.group.clean4inversion(pre_validate or []), self.name,
|
||||
@@ -748,8 +746,6 @@ class O2MField(Field):
|
||||
def state_set(self, record, states=('readonly', 'required', 'invisible')):
|
||||
self._set_default_value(record)
|
||||
super(O2MField, self).state_set(record, states=states)
|
||||
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]
|
||||
|
||||
@@ -181,7 +181,6 @@ class Many2Many(Widget):
|
||||
screen = Screen(self.attrs['relation'], domain=domain,
|
||||
view_ids=self.attrs.get('view_ids', '').split(','),
|
||||
mode=['form'], views_preload=self.attrs.get('views', {}),
|
||||
readonly=self.attrs.get('readonly', False),
|
||||
context=context)
|
||||
screen.load([self.screen.current_record.id])
|
||||
|
||||
|
||||
@@ -186,7 +186,6 @@ class One2Many(Widget):
|
||||
view_ids=attrs.get('view_ids', '').split(','),
|
||||
views_preload=attrs.get('views', {}),
|
||||
row_activate=self._on_activate,
|
||||
readonly=self.attrs.get('readonly', False),
|
||||
exclude_field=attrs.get('relation_field', None))
|
||||
self.screen.pre_validate = bool(int(attrs.get('pre_validate', 0)))
|
||||
self.screen.signal_connect(self, 'record-message', self._sig_label)
|
||||
@@ -501,16 +500,13 @@ class One2Many(Widget):
|
||||
if (self.screen.current_view.view_type == 'tree') \
|
||||
and self.screen.current_view.editable:
|
||||
self.screen.current_record = None
|
||||
readonly = False
|
||||
domain = []
|
||||
size_limit = None
|
||||
if record:
|
||||
readonly = field.get_state_attrs(record).get('readonly', False)
|
||||
domain = field.domain_get(record)
|
||||
size_limit = record.expr_eval(self.attrs.get('size'))
|
||||
if self.screen.domain != domain:
|
||||
self.screen.domain = domain
|
||||
self.screen.group.readonly = readonly
|
||||
self.screen.size_limit = size_limit
|
||||
self.screen.display()
|
||||
return True
|
||||
|
||||
Reference in new issue
Block a user