Inbound action getting skipped

Maria DeLaCruz
Tera Guru

Hello,

Need some help with an Inbound action.   I have a catalog item that asks for an email address.   A notification is sent to that email, and there's an "I Agree" link on that notification, and when they click that, it emails the instance that the user has agreed to the terms of use, etc, then a field gets updated on the RITM record.   However, I noticed that if someone enters an email address (which is not the one on their user profile) that has upper-case letters, the inbound action gets skipped.   Below is my inbound action.   I've tried to add .toLowerCase() after the variable, but that didn't help.

function validUser() {

if (current.request.requested_for == email.from_sys_id || current.variables.u_sra_email.toLowerCase() == email.from || current.variables.u_webmail_email.toLowerCase() == email.from)

  return true;

}

if (validUser()){

  if (email.subject.indexOf('I Agree') >= 0)

  current.u_sra_agreement = 'I Agree';

  if (email.subject.indexOf('I Disagree') >= 0)

  current.u_sra_agreement = 'I Disagree';

  }

  current.update();

Please help.   Thanks!

Maria

1 ACCEPTED SOLUTION

Hi Maria



Assuming your code is returning false from validUser() function...



Can you please put this in your 2nd IF loop in validUser() function (assuming that is the one expected to return TRUE, otherwise update it where ever is necessary)



var r = new RegExp(current.variables.u_sra_email, "i");


return r.test(email.from);


View solution in original post

20 REPLIES 20

Chuck Tomasi
Tera Patron

Hi Maria,



Have you tried applying toLowerCase() on the email.from as well to ensure you have like-for-like comparisons?



current.variables.u_sra_email.toLowerCase() == email.from.toLowerCase()


Hi Chuck!



Yes, I actually tried that as well.   Any other suggestions?



Maria


I would throw a couple debug statements in there just to make sure the values are identical (or identify where differences are.)



gs.log('u_sra_email=/' + current.variables.u_sra_email.toLowerCase() + '/');


gs.log('email.from=/' + email.from.toLowerCase() + '/');


I always trim them as well on both sides in addition to like to like case comparison (concatenate them with a zero length string as well to be on the safer side in case anything turns up to be null)