details:   /erp/devel/pi/rev/02f28176ed17
changeset: 13111:02f28176ed17
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Wed Jul 06 10:51:48 2011 +0200
summary:   fixed bug 17913: Navigation to blank tab

details:   /erp/devel/pi/rev/d9a6f9688511
changeset: 13112:d9a6f9688511
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Wed Jul 06 11:01:20 2011 +0200
summary:   fixed bug 17903: Error when displaying a record created/modified by 
a deleted user

diffstat:

 
modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
    |  10 +++++++++-
 
modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java
 |   9 +++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diffs (50 lines):

diff -r 85f9a3b6d9e7 -r d9a6f9688511 
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 05 16:42:36 2011 +0200
+++ 
b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
        Wed Jul 06 11:01:20 2011 +0200
@@ -28,6 +28,7 @@
 
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
+import org.hibernate.ObjectNotFoundException;
 import org.openbravo.base.model.Entity;
 import org.openbravo.base.model.Property;
 import org.openbravo.base.model.domaintype.EncryptedStringDomainType;
@@ -215,7 +216,14 @@
       String propertyName, Property referencedProperty, BaseOBObject obObject) 
throws JSONException {
     // jsonObject.put(propertyName, toJsonObject(obObject, 
DataResolvingMode.SHORT));
     if (referencedProperty != null) {
-      jsonObject.put(propertyName, obObject.get(referencedProperty.getName()));
+      try {
+        jsonObject.put(propertyName, 
obObject.get(referencedProperty.getName()));
+      } catch (ObjectNotFoundException e) {
+        // Referenced object does not exist, set UUID
+        jsonObject.put(propertyName, e.getIdentifier());
+        jsonObject.put(propertyName + "." + JsonConstants.IDENTIFIER, 
e.getIdentifier());
+        return;
+      }
     } else {
       jsonObject.put(propertyName, obObject.getId());
     }
diff -r 85f9a3b6d9e7 -r d9a6f9688511 
modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java
--- 
a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java
     Tue Jul 05 16:42:36 2011 +0200
+++ 
b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java
     Wed Jul 06 11:01:20 2011 +0200
@@ -241,12 +241,17 @@
     }
 
     final String sortBy = parameters.get(JsonConstants.SORTBY_PARAMETER);
+    String orderBy = "";
     if (sortBy != null) {
-      queryService.setOrderBy(sortBy);
+      orderBy = sortBy;
     } else if (parameters.get(JsonConstants.ORDERBY_PARAMETER) != null) {
-      queryService.setOrderBy(parameters.get(JsonConstants.ORDERBY_PARAMETER));
+      orderBy = parameters.get(JsonConstants.ORDERBY_PARAMETER);
     }
 
+    // Always append id to the orderby to make a predictable sorting
+    orderBy += (orderBy.isEmpty() ? "" : ",") + "id";
+    queryService.setOrderBy(orderBy);
+
     // compute a new startrow if the targetrecordid was passed in
     int targetRowNumber = -1;
     if (parameters.containsKey(JsonConstants.TARGETRECORDID_PARAMETER)) {

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to