[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5739 - trunk/gnue-appserver/src
From: |
reinhard |
Subject: |
r5739 - trunk/gnue-appserver/src |
Date: |
Sun, 18 Apr 2004 15:43:42 -0500 (CDT) |
Author: reinhard
Date: 2004-04-18 15:43:42 -0500 (Sun, 18 Apr 2004)
New Revision: 5739
Modified:
trunk/gnue-appserver/src/geasInstance.py
Log:
Some fixes.
Modified: trunk/gnue-appserver/src/geasInstance.py
===================================================================
--- trunk/gnue-appserver/src/geasInstance.py 2004-04-18 20:31:50 UTC (rev
5738)
+++ trunk/gnue-appserver/src/geasInstance.py 2004-04-18 20:43:42 UTC (rev
5739)
@@ -169,21 +169,26 @@
def __getValue (self, propertyname):
+ #resolve indirect properties
elements = string.split (propertyname, '.')
-
- c = self.__classdef
- r = self.__record
+ classdef = self.__classdef
+ record = self.__record
for e in elements [:-1]:
- p = c.properties [e]
- if not '_' in p.gnue_type:
+ propertydef = classdef.properties [e]
+ if not '_' in propertydef.gnue_type:
raise gException, u_("Cannot resolve property name '%(name)s' because "
"'%(part)s' is not a reference property")
- c = self.__session.sm.classes [p.gnue_type]
- r = self.__connection.findRecord (c.table, r.getField (p.column), [])
+ classdef = self.__session.sm.classes [propertydef.gnue_type]
+ key = record.getField (propertydef.column)
+ # if any reference on the way through the property name is None, assume
+ # the indirect property is None.
+ if key is None:
+ return None
+ record = self.__connection.findRecord (classdef.table, key, [])
- propertydef = c.properties [elements [-1]]
+ propertydef = classdef.properties [elements [-1]]
- value = r.getField (propertydef.column)
+ value = record.getField (propertydef.column)
return self.__convert (value, propertydef, DbValueError)
@@ -281,13 +286,8 @@
print _("Error occured during method invokation: %s") % msg
result = None
- # Save changes made by the procedure
- # obj.store ()
-
- # return value of '1' to make XMLRPC happy
return result
-
# ---------------------------------------------------------------------------
# Validate all properties of an instance
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5739 - trunk/gnue-appserver/src,
reinhard <=