From 92f28179727bbc94da0d720e01cdff6129ed2cfe Mon Sep 17 00:00:00 2001 From: Bertrand Chenal Date: Tue, 25 Nov 2008 23:21:40 +0100 Subject: [PATCH] Added test on model before expr_eval call --- tryton/gui/window/view_form/model/field.py | 1 - .../gui/window/view_form/view/form_gtk/parser.py | 15 ++++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index e103be56e4..d2b4132901 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -134,7 +134,6 @@ class CharField(object): log = logging.getLogger('record') log.error("Unable to eval %s for field %s (record id: %s)."% \ (state_changes['value'], self.name, model.id)) - return if value: self.set(model, value, modified=True) diff --git a/tryton/gui/window/view_form/view/form_gtk/parser.py b/tryton/gui/window/view_form/view/form_gtk/parser.py index 0bac809a7d..58305365ec 100644 --- a/tryton/gui/window/view_form/view/form_gtk/parser.py +++ b/tryton/gui/window/view_form/view/form_gtk/parser.py @@ -95,7 +95,7 @@ class Button(object): return if 'invisible' in state_changes: try: - if model.expr_eval(state_changes['invisible'], + if model and model.expr_eval(state_changes['invisible'], check_load=False): self.widget.hide() else: @@ -111,7 +111,7 @@ class Button(object): self.widget.show() if 'readonly' in state_changes: try: - if model.expr_eval(state_changes['readonly'], + if model and model.expr_eval(state_changes['readonly'], check_load=False): self.widget.set_sensitive(False) else: @@ -128,7 +128,8 @@ class Button(object): self.widget.set_sensitive(True) if 'icon' in state_changes: try: - stock = model.expr_eval(state_changes['icon'], check_load=False) + stock = model and model.expr_eval( + state_changes['icon'], check_load=False) if stock: try: icon = gtk.Image() @@ -159,7 +160,7 @@ class Label(gtk.Label): if isinstance(state_changes, basestring): state_changes = eval(state_changes) if 'invisible' in state_changes: - if model.expr_eval(state_changes['invisible'], + if model and model.expr_eval(state_changes['invisible'], check_load=False): self.hide() else: @@ -187,7 +188,7 @@ class VBox(gtk.VBox): if isinstance(state_changes, basestring): state_changes = eval(state_changes) if 'invisible' in state_changes: - if model.expr_eval(state_changes['invisible'], + if model and model.expr_eval(state_changes['invisible'], check_load=False): self.hide() else: @@ -214,7 +215,7 @@ class Image(gtk.Image): if isinstance(state_changes, basestring): state_changes = eval(state_changes) if 'invisible' in state_changes: - if mode.expr_eval(state_changes['invisible'], + if model and model.expr_eval(state_changes['invisible'], check_load=False): self.hide() else: @@ -271,7 +272,7 @@ class ScrolledWindow(gtk.ScrolledWindow): if isinstance(state_changes, basestring): state_changes = eval(state_changes) if 'invisible' in state_changes: - if model.expr_eval(state_changes['invisible'], + if model and model.expr_eval(state_changes['invisible'], check_load=False): self.hide() else: