details:   https://code.openbravo.com/erp/devel/pi/rev/4c9e4abdefee
changeset: 20690:4c9e4abdefee
user:      Shankar Balachandran <shankar.balachandran <at> openbravo.com>
date:      Sun Jun 30 11:50:57 2013 +0530
summary:   Fixes Issue 0024092: Newly initiated client does not appear in 
profile list

When a new client is created, an information is shown which provides a link to 
reload the context so that the newly created client will appear in the user 
profile widget.
When a client is deleted from delete client and accessed immediately from user 
profile widget an error is thrown instead of null pointer exception.

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
 |  10 ++++
 src-db/database/sourcedata/AD_MESSAGE.xml                                      
                                                        |  24 ++++++++++
 src/org/openbravo/erpCommon/ad_forms/InitialClientSetup.java                   
                                                        |  13 ++++-
 3 files changed, 45 insertions(+), 2 deletions(-)

diffs (91 lines):

diff -r 7c9b6e8a8f85 -r 4c9e4abdefee 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
    Tue Jul 02 18:27:52 2013 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
    Sun Jun 30 11:50:57 2013 +0530
@@ -48,6 +48,7 @@
 import org.openbravo.dal.service.OBQuery;
 import org.openbravo.erpCommon.obps.ActivationKey;
 import org.openbravo.erpCommon.obps.ActivationKey.LicenseRestriction;
+import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.model.ad.access.Role;
 import org.openbravo.model.ad.access.RoleOrganization;
 import org.openbravo.model.ad.access.User;
@@ -340,6 +341,15 @@
     }
 
     final Role role = OBDal.getInstance().get(Role.class, roleId);
+
+    // In case the client is deleted using 'Delete Client' and immediately 
accessed from the profile
+    // widget throw error. Refer https://issues.openbravo.com/view.php?id=24092
+    if (role == null || role.getClient() == null) {
+      String errorMessage = Utility.messageBD(new 
DalConnectionProvider(false), "ClientDeleted",
+          OBContext.getOBContext().getLanguage().getLanguage());
+      throw new OBException(errorMessage);
+    }
+
     final String clientId = role.getClient().getId();
 
     String warehouseId = getStringValue(json, "warehouse");
diff -r 7c9b6e8a8f85 -r 4c9e4abdefee src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Tue Jul 02 18:27:52 2013 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Sun Jun 30 11:50:57 2013 +0530
@@ -19939,6 +19939,18 @@
 <!--7483DF96F3C34BB38C67B66BFAC79404-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--7483DF96F3C34BB38C67B66BFAC79404--></AD_MESSAGE>
 
+<!--750BD7EF580544768D8DEC762753A24D--><AD_MESSAGE>
+<!--750BD7EF580544768D8DEC762753A24D-->  
<AD_MESSAGE_ID><![CDATA[750BD7EF580544768D8DEC762753A24D]]></AD_MESSAGE_ID>
+<!--750BD7EF580544768D8DEC762753A24D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--750BD7EF580544768D8DEC762753A24D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--750BD7EF580544768D8DEC762753A24D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--750BD7EF580544768D8DEC762753A24D-->  
<VALUE><![CDATA[ReloadClientContext]]></VALUE>
+<!--750BD7EF580544768D8DEC762753A24D-->  <MSGTEXT><![CDATA[To access the newly 
created client the context needs to be reloaded. Unsaved changes will be 
lost.]]></MSGTEXT>
+<!--750BD7EF580544768D8DEC762753A24D-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--750BD7EF580544768D8DEC762753A24D-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--750BD7EF580544768D8DEC762753A24D-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--750BD7EF580544768D8DEC762753A24D--></AD_MESSAGE>
+
 <!--76044028A6A54026900ABC05910E2216--><AD_MESSAGE>
 <!--76044028A6A54026900ABC05910E2216-->  
<AD_MESSAGE_ID><![CDATA[76044028A6A54026900ABC05910E2216]]></AD_MESSAGE_ID>
 <!--76044028A6A54026900ABC05910E2216-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -20989,6 +21001,18 @@
 <!--926CA161FD5F49E5A993BED838A423D6-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--926CA161FD5F49E5A993BED838A423D6--></AD_MESSAGE>
 
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE--><AD_MESSAGE>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  
<AD_MESSAGE_ID><![CDATA[92B1EEF0AB18416DB602DD1B8CE55ACE]]></AD_MESSAGE_ID>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  
<VALUE><![CDATA[ClientDeleted]]></VALUE>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  <MSGTEXT><![CDATA[Client 
Deleted]]></MSGTEXT>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--92B1EEF0AB18416DB602DD1B8CE55ACE--></AD_MESSAGE>
+
 <!--93C32F538F1B46FE828624B1AD63F01E--><AD_MESSAGE>
 <!--93C32F538F1B46FE828624B1AD63F01E-->  
<AD_MESSAGE_ID><![CDATA[93C32F538F1B46FE828624B1AD63F01E]]></AD_MESSAGE_ID>
 <!--93C32F538F1B46FE828624B1AD63F01E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 7c9b6e8a8f85 -r 4c9e4abdefee 
src/org/openbravo/erpCommon/ad_forms/InitialClientSetup.java
--- a/src/org/openbravo/erpCommon/ad_forms/InitialClientSetup.java      Tue Jul 
02 18:27:52 2013 +0200
+++ b/src/org/openbravo/erpCommon/ad_forms/InitialClientSetup.java      Sun Jun 
30 11:50:57 2013 +0530
@@ -144,8 +144,17 @@
     xmlDocument.setParameter("messageType", obeResult.getType());
     xmlDocument.setParameter("messageTitle",
         Utility.parseTranslation(this, vars, strLanguage, 
obeResult.getTitle()));
-    xmlDocument.setParameter("messageMessage",
-        Utility.parseTranslation(this, vars, strLanguage, 
obeResult.getMessage()));
+    // In case the client creation is successful, the context has to be 
reloaded to use the created
+    // client in user profile widget. Refer 
https://issues.openbravo.com/view.php?id=24092
+    if (obeResult.getType().equalsIgnoreCase("success")) {
+      xmlDocument.setParameter("messageMessage",
+          Utility.parseTranslation(this, vars, strLanguage, 
obeResult.getMessage()) + "<br> "
+              + Utility.parseTranslation(this, vars, strLanguage, 
"@ReloadClientContext@")
+              + " <a href='#' 
onclick='window.parent.parent.location.reload();'> Reload </a>");
+    } else {
+      xmlDocument.setParameter("messageMessage",
+          Utility.parseTranslation(this, vars, strLanguage, 
obeResult.getMessage()));
+    }
 
     response.setContentType("text/html; charset=UTF-8");
     PrintWriter out = response.getWriter();

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to