details:   https://code.openbravo.com/erp/devel/pi/rev/cfdcbfbfb91a
changeset: 13150:cfdcbfbfb91a
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Wed Jul 13 13:10:23 2011 +0200
summary:   fixed bug 017915: Multiple level table reference not shown properly 
in grid

  Allowing 2 levels deep

diffstat:

 
modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
 |  16 ++++++++-
 1 files changed, 14 insertions(+), 2 deletions(-)

diffs (27 lines):

diff -r 2de13e5d42cf -r cfdcbfbfb91a 
modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
--- 
a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
        Tue Jul 12 14:21:19 2011 +0200
+++ 
b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
        Wed Jul 13 13:10:23 2011 +0200
@@ -228,9 +228,21 @@
       jsonObject.put(propertyName, obObject.getId());
     }
     // jsonObject.put(propertyName + "." + JsonConstants.ID, obObject.getId());
+
     if (referencingProperty != null && referencingProperty.hasDisplayColumn()) 
{
-      jsonObject.put(propertyName + "." + JsonConstants.IDENTIFIER,
-          obObject.get(referencingProperty.getDisplayPropertyName()));
+
+      Property displayColumnProperty = 
DalUtil.getPropertyFromPath(referencedProperty.getEntity(),
+          referencingProperty.getDisplayPropertyName());
+
+      if (displayColumnProperty.hasDisplayColumn()) {
+        // Allowing one level deep of displayed column pointing to references 
with display column
+        jsonObject.put(propertyName + "." + JsonConstants.IDENTIFIER, 
((BaseOBObject) obObject
+            
.get(referencingProperty.getDisplayPropertyName())).get(displayColumnProperty
+            .getDisplayPropertyName()));
+      } else {
+        jsonObject.put(propertyName + "." + JsonConstants.IDENTIFIER,
+            obObject.get(referencingProperty.getDisplayPropertyName()));
+      }
     } else {
       jsonObject.put(propertyName + "." + JsonConstants.IDENTIFIER, 
obObject.getIdentifier());
     }

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to