diff --git a/client/src/views/email/fields/email-address-varchar.js b/client/src/views/email/fields/email-address-varchar.js index 3f73f5b121..00ee11e873 100644 --- a/client/src/views/email/fields/email-address-varchar.js +++ b/client/src/views/email/fields/email-address-varchar.js @@ -391,42 +391,50 @@ function (Dep, From, EmailAddress) { return ''; } - var name = this.nameHash[address] || null; - var entityType = this.typeHash[address] || null; - var id = this.idHash[address] || null; - - var addressHtml = this.getHelper().escapeString(address); - - if (name) { - name = this.getHelper().escapeString(name); - } - - var lineHtml; + let name = this.nameHash[address] || null; + let entityType = this.typeHash[address] || null; + let id = this.idHash[address] || null; if (id) { - lineHtml = '
' + '' + - name + ' ' + addressHtml + '
'; + return $('
') + .append( + $('') + .attr('href', '#' + entityType + '/view/' + id) + .text(name), + ' ', + $('').text(address) + ) + .get(0).outerHTML; + } + + let $div = $('
'); + + if (name) { + $div.append( + $('') + .addClass('email-address-line') + .text(name) + .append(' ') + .append( + $('').text(address) + ) + ); } else { - if (name) { - lineHtml = ''; - } - else { - lineHtml = ''; - } + $div.append( + $('') + .addClass('email-address-line') + .text(address) + ); } - if (!id) { - if (this.getAcl().check('Contact', 'edit')) { - lineHtml = From.prototype.getCreateHtml.call(this, address) + lineHtml; - } + if (this.getAcl().check('Contact', 'create') || this.getAcl().check('Lead', 'create')) { + $div.prepend( + From.prototype.getCreateHtml.call(this, address) + ); } - lineHtml = '
' + lineHtml + '
'; - - return lineHtml; + return $div.get(0).outerHTML; }, validateRequired: function () { diff --git a/client/src/views/email/fields/from-address-varchar.js b/client/src/views/email/fields/from-address-varchar.js index 6cf03aa092..63e1ac9e6d 100644 --- a/client/src/views/email/fields/from-address-varchar.js +++ b/client/src/views/email/fields/from-address-varchar.js @@ -288,8 +288,6 @@ define( }, createPerson: function (scope, address) { - address = address; - var fromString = this.model.get('fromString') || this.model.get('fromName'); var name = this.nameHash[address] || null; @@ -360,8 +358,6 @@ define( }, addToPerson: function (scope, address) { - var address = address; - var fromString = this.model.get('fromString') || this.model.get('fromName'); var name = this.nameHash[address] || null; @@ -395,7 +391,7 @@ define( filters['name'] = { type: 'equals', field: 'name', - value: name + value: name, }; } @@ -466,31 +462,34 @@ define( var value = this.$element.val().trim(); if (value) { - var data = { + return { type: 'equals', value: value, } - return data; } - return false; + return null; }, validateEmail: function () { var address = this.model.get(this.name); - if (!address) return; + + if (!address) { + return; + } + var addressLowerCase = String(address).toLowerCase(); var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (!re.test(addressLowerCase) && address.indexOf(this.erasedPlaceholder) !== 0) { - var msg = this.translate('fieldShouldBeEmail', 'messages').replace('{field}', this.getLabelText()); + var msg = this.translate('fieldShouldBeEmail', 'messages') + .replace('{field}', this.getLabelText()); this.showValidationMessage(msg); return true; } }, - }); });