From d1301c71281c7b499d294022ae8a3e8ea3192bef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 30 Jun 2016 21:42:54 +0200 Subject: [PATCH] Limit readonly state for xxx2Many issue5041 review25221002 --- CHANGELOG | 1 + tryton/gui/window/view_form/model/field.py | 4 ---- tryton/gui/window/view_form/view/form_gtk/many2many.py | 1 - tryton/gui/window/view_form/view/form_gtk/one2many.py | 4 ---- 4 files changed, 1 insertion(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index d7dfb71617..decf5c00dd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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 diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index c9038b2257..d674a7874c 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -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] diff --git a/tryton/gui/window/view_form/view/form_gtk/many2many.py b/tryton/gui/window/view_form/view/form_gtk/many2many.py index f2f13cd719..8fb8281cf7 100644 --- a/tryton/gui/window/view_form/view/form_gtk/many2many.py +++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py @@ -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]) diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py index 27ab6881c1..7d526aadb8 100644 --- a/tryton/gui/window/view_form/view/form_gtk/one2many.py +++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py @@ -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