commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r6659 - in trunk: gnue-appserver/src gnue-common/src/datasources/drivers


From: johannes
Subject: r6659 - in trunk: gnue-appserver/src gnue-common/src/datasources/drivers/appserver/appserver
Date: Tue, 9 Nov 2004 04:23:24 -0600 (CST)

Author: johannes
Date: 2004-11-09 04:23:23 -0600 (Tue, 09 Nov 2004)
New Revision: 6659

Modified:
   trunk/gnue-appserver/src/geasFilter.py
   trunk/gnue-appserver/src/geasSession.py
   trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py
Log:
Filters can be specified in connections.conf by name now


Modified: trunk/gnue-appserver/src/geasFilter.py
===================================================================
--- trunk/gnue-appserver/src/geasFilter.py      2004-11-09 08:23:12 UTC (rev 
6658)
+++ trunk/gnue-appserver/src/geasFilter.py      2004-11-09 10:23:23 UTC (rev 
6659)
@@ -63,11 +63,11 @@
     in a requested language and all their possible values. The result is a
     sequence of tuples, where a tuple is constructed as follows:
 
-      (filter-id, labels, master, data)
+      (filter-class, labels, master, data)
 
-    filter-id: the gnue-id of the filter class
+    filter-class: the name of the filter class
     labels: a sequence of tuples describing the labels (label, search, field)
-    master: gnue_id of the master-filter or None if no such master is defined
+    master: name of the master-filter or None if no such master is defined
     data: dictionary describing the allowed values of the filter's fields
 
     @return: sequence of tuples as described above.
@@ -87,15 +87,16 @@
       # order sequence by search-value or info-value
       fields.sort ()
 
-      master = self.__sm.classes.find (fId).gnue_filter
+      classdef = self.__sm.classes.find (fId)
+      master   = classdef.gnue_filter
       if master is not None:
-        master = master.gnue_id
+        master = self.__sm.classes.find (master.gnue_id).fullName
 
       labels = [(f [1], f [2]['search'], f [2]['name']) for f in fields]
       names  = [f [2]['name'] for f in fields]
 
       data = self.__getData (fId, master, names)
-      result.append ((fId, labels, master, data))
+      result.append ((classdef.fullName, labels, master, data))
 
     return result
 
@@ -318,7 +319,7 @@
     all fields of the filter plus a gnue_id.
 
     @param filterId: gnue_id of the filter class
-    @param master: gnue_id of the master-filter or None
+    @param master: name of the master-filter or None
     @param fields: sequence with all fieldnames to be fetched
 
     @return: dictionary with the possible filter values. This dictionary has
@@ -334,9 +335,8 @@
     # 'select-all' condition to prevent geasSession.request () of inserting a
     # filter-value
     if master is not None:
-      mClass      = self.__sm.classes.find (master)
-      masterField = "%s.gnue_id" % mClass.fullName
-      condition   = ['like', ['field', mClass.fullName], ['const', '%']]
+      masterField = "%s.gnue_id" % master
+      condition   = ['like', ['field', master], ['const', '%']]
       fields.append (masterField)
 
     else:
@@ -347,7 +347,7 @@
 
     for row in data:
       # use the master-id as dictionary key or None if no master available
-      key = master is not None and row [mClass.fullName].gnue_id or None
+      key = master is not None and row [master].gnue_id or None
 
       if not result.has_key (key):
         result [key] = []

Modified: trunk/gnue-appserver/src/geasSession.py
===================================================================
--- trunk/gnue-appserver/src/geasSession.py     2004-11-09 08:23:12 UTC (rev 
6658)
+++ trunk/gnue-appserver/src/geasSession.py     2004-11-09 10:23:23 UTC (rev 
6659)
@@ -669,8 +669,8 @@
   def __filterValue (self, filterId):
 
     filterName = self.sm.classes.find (filterId).fullName
-    if not self.filters.has_key (filterId):
-      filterValue = self.parameters.get (filterId, None)
+    if not self.filters.has_key (filterName):
+      filterValue = self.parameters.get (filterName, None)
       if filterValue is None:
         raise NoFilterParamError, (filterName)
 
@@ -684,9 +684,9 @@
       elif len (idList) > 1:
         raise MultipleFilterValueError, (filterName, filterValue)
 
-      self.filters [filterId] = idList [0][0]
+      self.filters [filterName] = idList [0][0]
 
-    return self.filters [filterId]
+    return self.filters [filterName]
 
 
   # ---------------------------------------------------------------------------

Modified: 
trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py 
2004-11-09 08:23:12 UTC (rev 6658)
+++ trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py 
2004-11-09 10:23:23 UTC (rev 6659)
@@ -206,6 +206,7 @@
             break
 
         if not found:
+          print "shit"
           raise Exceptions.LoginError, \
               u_("'%(value)s' is not a valid filter-value for '%(filter)s'") \
               % {'value': value,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]