Author: ashish
Date: Sat Mar 27 09:17:14 2010
New Revision: 928176
URL:
http://svn.apache.org/viewvc?rev=928176&view=revLog:
It may happen that the value returned from communicationEvent.note.indexOf(nameString) is -1.
So if this is the case then we should not do anything. The previous code was giving unexpected values in email address, lastname & firstname text box and it may create confusion for the end user.
I observed this case when: I was fetching emails from my personal account inside OFBiz using JavaMailContainer Api. And my personal email was not available in the system so the values fetched in the above mentioned field was not correct.
Modified:
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/getPartyEmailFromCommEventInfo.groovy
Modified: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/getPartyEmailFromCommEventInfo.groovy
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/getPartyEmailFromCommEventInfo.groovy?rev=928176&r1=928175&r2=928176&view=diff==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/getPartyEmailFromCommEventInfo.groovy (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/getPartyEmailFromCommEventInfo.groovy Sat Mar 27 09:17:14 2010
@@ -25,12 +25,16 @@ communicationEvent = delegator.findOne("
if (!communicationEvent.note) return;
nameString = "Sent from: ";
-int startEmail = communicationEvent.note.indexOf(nameString) + nameString.length();
+nameStringIndexValue = communicationEvent.note.indexOf(nameString);
+if (nameStringIndexValue == -1) return;
+int startEmail = nameStringIndexValue + nameString.length();
int endEmail = communicationEvent.note.indexOf(";", startEmail);
context.emailAddress = communicationEvent.note.substring(startEmail, endEmail);
nameString = "Sent Name from: ";
-int startName = communicationEvent.note.indexOf(nameString) + nameString.length();
+nameStringIndexValue = communicationEvent.note.indexOf(nameString);
+if (nameStringIndexValue == -1) return;
+int startName = nameStringIndexValue + nameString.length();
int endName = communicationEvent.note.indexOf(";", startName);
name = communicationEvent.note.substring(startName, endName);
if (name) {