From 2c2c7ea745c92f87bc0ca601fe481a721e630c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 18 Jun 2008 15:32:41 +0200 Subject: [PATCH] Improve rpc exception in record function Try again after the first exception and if failed raise the exception --- tryton/gui/window/view_form/model/record.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py index 4e5f75f4d2..84d426ff19 100644 --- a/tryton/gui/window/view_form/model/record.py +++ b/tryton/gui/window/view_form/model/record.py @@ -161,7 +161,7 @@ class ModelRecord(SignalEvent): val = self.rpc.default_get(self.mgroup.fields.keys(), context) except Exception, exception: common.process_exception(exception, self.window) - return + val = self.rpc.default_get(self.mgroup.fields.keys(), context) for clause in domain: if clause[0] in self.mgroup.fields: if clause[1] == '=': @@ -175,7 +175,7 @@ class ModelRecord(SignalEvent): name = self.rpc.name_get([self.id], rpc.CONTEXT)[0] except Exception, exception: common.process_exception(exception, self.window) - return False + name = self.rpc.name_get([self.id], rpc.CONTEXT)[0] return name def validate_set(self): @@ -249,7 +249,7 @@ class ModelRecord(SignalEvent): res = self.rpc.read([self.id], self.mgroup.mfields.keys(), ctx) except Exception, exception: common.process_exception(exception, self.window) - return + res = self.rpc.read([self.id], self.mgroup.mfields.keys(), ctx) if res: value = res[0] self.read_time = time.time() @@ -290,7 +290,8 @@ class ModelRecord(SignalEvent): ctx) except Exception, exception: common.process_exception(exception, self.window) - return + res = getattr(self.rpc, 'on_change_' + fieldname)(ids, args, + ctx) if res: later = {} for fieldname, value in res.items(): @@ -313,7 +314,8 @@ class ModelRecord(SignalEvent): field_name + '=' + str(value), ctx)) except Exception, exception: common.process_exception(exception, self.window) - return False + self.set_default(ir_default.get_default(self.resource, + field_name + '=' + str(value), ctx)) def get_attachment_count(self, reload=False): if not self.id: