Reviewers: ,
Please review this at http://codereview.tryton.org/590006/
Affected files:
M tryton/gui/window/view_form/screen/screen.py
M tryton/gui/window/view_form/view/form_gtk/one2many.py
M tryton/gui/window/view_form/view/list_gtk/editabletree.py
Index: tryton/gui/window/view_form/screen/screen.py
===================================================================
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -57,6 +57,7 @@
else:
self.row_activate = row_activate
self.domain = domain
+ self.size_limit = None
self.views_preload = views_preload
self.model_name = model_name
self.context = context
Index: tryton/gui/window/view_form/view/form_gtk/one2many.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -439,10 +439,13 @@
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
if not self.screen.group.readonly and readonly:
self.screen.group.readonly = readonly
+ if self.screen.size_limit != size_limit:
+ self.screen.size_limit = size_limit
self.screen.display()
return True
Index: tryton/gui/window/view_form/view/list_gtk/editabletree.py
===================================================================
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -86,9 +86,9 @@
def on_create_line(self):
access = MODELACCESS[self.screen.model_name]
- if not access['create']:
+ model = self.get_model()
+ if not access['create'] or len(model) >= self.screen.size_limit:
return
- model = self.get_model()
if self.editable == 'top':
method = model.prepend
else:
--
--
[email protected] mailing list