diff --git a/ChangeLog b/ChangeLog index 5056fc01e..f1794eed5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,10 @@ 2011-10-14 Francis Lachapelle + * UI/WebServerResources/UIxMailToSelection.js + (addressFieldChanged): we now split on commas only if no email + address is detected. + * UI/WebServerResources/SOGoMailDataSource.js (load): associated a unique id to the source using the url and its parameters. diff --git a/UI/WebServerResources/UIxMailToSelection.js b/UI/WebServerResources/UIxMailToSelection.js index 1f7c7e470..aae4f32fc 100644 --- a/UI/WebServerResources/UIxMailToSelection.js +++ b/UI/WebServerResources/UIxMailToSelection.js @@ -145,7 +145,13 @@ function addressFieldLostFocus(event) { } function addressFieldChanged(event) { - var addresses = this.value.split(/[,;]/); + // We first split by semi-colon and then by comma only if there's no + // email address detected. + // Examples: + // "dude, buddy dude@domain.com; bro" => "dude, buddy " + "bro" + // "dude, buddy, bro " => "dude, buddy, bro " + // "dude, buddy, bro" => "dude" + "buddy" + "bro" + var addresses = this.value.split(';'); if (addresses.length > 0) { var first = true; for (var i = 0; i < addresses.length; i++) { @@ -171,12 +177,16 @@ function addressFieldChanged(event) { } } if (phrase.length > 0) { - if (first) { - this.value = phrase.join(' '); - first = false; + words = phrase.join(' ').split(','); + for (var j = 0; j < words.length; j++) { + word = words[j]; + if (first) { + this.value = word; + first = false; + } + else + fancyAddRow(word, $(this).up("tr").down("select").value); } - else - fancyAddRow(phrase.join(' '), $(this).up("tr").down("select").value); phrase = new Array(); }