details:   /erp/devel/pi/rev/bddb50a59643
changeset: 11555:bddb50a59643
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Apr 08 08:07:51 2011 +0200
summary:   Fixes issue 16702: Not possible to create a purchase invoice by 
using Create Lines From

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
 |  27 +++++----
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
                   |   4 +-
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/NumberUIDefinition.java
                 |   2 +-
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/TimeUIDefinition.java
                   |   2 +-
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
                       |   2 +-
 5 files changed, 21 insertions(+), 16 deletions(-)

diffs (117 lines):

diff -r 42d7a70d0558 -r bddb50a59643 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Fri Apr 08 00:19:29 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Fri Apr 08 08:07:51 2011 +0200
@@ -387,11 +387,16 @@
           }
 
           if (prop.isPrimitive()) {
-            final Object propValue = JsonToDataConverter
-                .convertJsonToPropertyValue(prop, jsonValue);
-            final String classicStr = uiDef.convertToClassicString(propValue);
-            jsCol.put("value", jsonValue);
-            jsCol.put("classicValue", classicStr);
+            if (JSONObject.NULL.equals(jsonValue)) {
+              jsonValue = null;
+            }
+            if (jsonValue instanceof String) {
+              jsCol.put("value", uiDef.createFromClassicString((String) 
jsonValue));
+              jsCol.put("classicValue", jsonValue);
+            } else {
+              jsCol.put("value", jsonValue);
+              jsCol.put("classicValue", 
uiDef.convertToClassicString(jsonValue));
+            }
             value = jsCol.toString();
           } else {
             jsCol.put("value", jsonValue);
@@ -563,19 +568,18 @@
             + 
Sqlc.TransformaNombreColumna(field.getColumn().getDBColumnName());
         try {
           if (jsContent.has(inpColName)) {
+            final Object jsonValue = jsContent.get(inpColName);
             String value;
-            if (jsContent.get(inpColName) == null
-                || jsContent.get(inpColName).toString().equals("null")) {
+            if (jsonValue == null || jsonValue.toString().equals("null")) {
               value = null;
-            } else if (prop.isPrimitive()) {
-              // convert to a dal value
+            } else if (!(jsonValue instanceof String)) {
               final Object propValue = 
JsonToDataConverter.convertJsonToPropertyValue(prop,
                   jsContent.get(inpColName));
               // convert to a valid classic string
               value = UIDefinitionController.getInstance().getUIDefinition(
                   field.getColumn().getId()).convertToClassicString(propValue);
             } else {
-              value = (String) jsContent.get(inpColName);
+              value = (String) jsonValue;
             }
 
             if (value != null && value.equals("null")) {
@@ -594,9 +598,8 @@
     addSpecialParameters(tab, jsContent);
   }
 
-  @SuppressWarnings("unchecked")
   private void addSpecialParameters(Tab tab, JSONObject jsContent) {
-    Iterator it = jsContent.keys();
+    Iterator<?> it = jsContent.keys();
     while (it.hasNext()) {
       String key = it.next().toString();
       try {
diff -r 42d7a70d0558 -r bddb50a59643 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
       Fri Apr 08 00:19:29 2011 +0200
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
       Fri Apr 08 08:07:51 2011 +0200
@@ -85,7 +85,7 @@
   }
 
   @Override
-  protected synchronized Object createFromClassicString(String value) {
+  public synchronized Object createFromClassicString(String value) {
     try {
       if (value == null || value.length() == 0 || value.equals("null")) {
         return null;
@@ -110,6 +110,8 @@
     sb.append("shortDisplayFormatter: function(value, field, component, 
record) {"
         + "return OB.Utilities.Date.JSToOB(value, OB.Format.date);" + "},"
         + "normalDisplayFormatter: function(value, field, component, record) {"
+        + "return OB.Utilities.Date.JSToOB(value, OB.Format.date);" + "},"
+        + "createClassicString: function(value) {"
         + "return OB.Utilities.Date.JSToOB(value, OB.Format.date);" + "},");
     return sb.toString();
   }
diff -r 42d7a70d0558 -r bddb50a59643 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/NumberUIDefinition.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/NumberUIDefinition.java
     Fri Apr 08 00:19:29 2011 +0200
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/NumberUIDefinition.java
     Fri Apr 08 08:07:51 2011 +0200
@@ -121,7 +121,7 @@
   }
 
   @Override
-  protected Object createFromClassicString(String value) {
+  public Object createFromClassicString(String value) {
     if (value == null || value.length() == 0) {
       return "";
     }
diff -r 42d7a70d0558 -r bddb50a59643 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/TimeUIDefinition.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/TimeUIDefinition.java
       Fri Apr 08 00:19:29 2011 +0200
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/TimeUIDefinition.java
       Fri Apr 08 08:07:51 2011 +0200
@@ -61,7 +61,7 @@
   }
 
   @Override
-  protected synchronized Object createFromClassicString(String value) {
+  public synchronized Object createFromClassicString(String value) {
     try {
       if (value == null || value.length() == 0 || value.equals("null")) {
         return null;
diff -r 42d7a70d0558 -r bddb50a59643 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
   Fri Apr 08 00:19:29 2011 +0200
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
   Fri Apr 08 08:07:51 2011 +0200
@@ -244,7 +244,7 @@
    * 
    * @see PrimitiveDomainType#createFromString(String)
    */
-  protected Object createFromClassicString(String value) {
+  public Object createFromClassicString(String value) {
     if (getDomainType() instanceof PrimitiveDomainType) {
       return ((PrimitiveDomainType) getDomainType()).createFromString(value);
     } else {

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to