[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r10126 - trunk/gnue-forms/src/GFObjects
From: |
johannes |
Subject: |
[gnue] r10126 - trunk/gnue-forms/src/GFObjects |
Date: |
Sat, 12 Dec 2009 08:29:05 -0600 (CST) |
Author: johannes
Date: 2009-12-12 08:29:05 -0600 (Sat, 12 Dec 2009)
New Revision: 10126
Modified:
trunk/gnue-forms/src/GFObjects/GFField.py
Log:
Split fk_description only on commas which are not within braces. This way we
can use SQL functions within fk_description
Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py 2009-12-11 17:58:25 UTC (rev
10125)
+++ trunk/gnue-forms/src/GFObjects/GFField.py 2009-12-12 14:29:05 UTC (rev
10126)
@@ -201,7 +201,7 @@
if not hasattr (self, 'fk_description'):
self.fk_description = self.fk_key
- self._fk_descr = self.fk_description.split (',')
+ self._fk_descr = self.__split_fields(self.fk_description)
source = self.fk_source.lower()
if not source in self._block._form._datasourceDictionary:
@@ -244,6 +244,38 @@
# -------------------------------------------------------------------------
+
+ def __split_fields(self, value):
+ parts = []
+ brace_level = 0
+ current = ''
+
+ for c in value:
+ if c == '(':
+ brace_level += 1
+ current += c
+
+ elif c == ')':
+ brace_level -= 1
+ current += c
+
+ elif c == ',':
+ if brace_level:
+ current += c
+ else:
+ parts.append(current)
+ current = ''
+
+ else:
+ current += c
+
+ if current:
+ parts.append(current)
+
+ return parts
+
+
+ # -------------------------------------------------------------------------
# Determine wether a field is editable or not
# -------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r10126 - trunk/gnue-forms/src/GFObjects,
johannes <=