');
diff --git a/client/src/views/list.js b/client/src/views/list.js
index f53c32fbe6..23ecb9ca47 100644
--- a/client/src/views/list.js
+++ b/client/src/views/list.js
@@ -76,10 +76,16 @@ define('views/list', ['views/main', 'search-manager'], function (Dep, SearchMana
this.setViewMode(this.viewMode);
- if (this.getMetadata().get('clientDefs.' + this.scope + '.searchPanelDisabled')) {
+ if (this.getMetadata().get(['clientDefs', this.scope, 'searchPanelDisabled'])) {
this.searchPanel = false;
}
+ if (this.getUser().isPortal()) {
+ if (this.getMetadata().get(['clientDefs', this.scope, 'searchPanelInPortalDisabled'])) {
+ this.searchPanel = false;
+ }
+ }
+
if (this.getMetadata().get(['clientDefs', this.scope, 'createDisabled'])) {
this.createButton = false;
}
diff --git a/client/src/views/notification/items/assign.js b/client/src/views/notification/items/assign.js
index e8de5a0056..4469acda7c 100644
--- a/client/src/views/notification/items/assign.js
+++ b/client/src/views/notification/items/assign.js
@@ -40,7 +40,7 @@ Espo.define('views/notification/items/assign', 'views/notification/items/base',
this.userId = data.userId;
this.messageData['entityType'] = Espo.Utils.upperCaseFirst((this.translate(data.entityType, 'scopeNames') || '').toLowerCase());
- this.messageData['entity'] = '
' + data.entityName + '';
+ this.messageData['entity'] = '
' + this.getHelper().escapeString(data.entityName) + '';
this.createMessage();
},
diff --git a/client/src/views/notification/items/email-received.js b/client/src/views/notification/items/email-received.js
index 8f6fa64d28..fb0f59e713 100644
--- a/client/src/views/notification/items/email-received.js
+++ b/client/src/views/notification/items/email-received.js
@@ -46,19 +46,18 @@ Espo.define('views/notification/items/email-received', 'views/notification/items
this.userId = data.userId;
- this.messageData['entityType'] = Espo.Utils.upperCaseFirst((this.translate(data.entityType, 'scopeNames') || '').toLowerCase());
+ this.messageData['entityType'] = this.getHelper().escapeString(Espo.Utils.upperCaseFirst((this.translate(data.entityType, 'scopeNames') || '').toLowerCase()));
if (data.personEntityId) {
- this.messageData['from'] = '
' + data.personEntityName + '';
+ this.messageData['from'] = '
' + this.getHelper().escapeString(data.personEntityName) + '';
} else {
- this.messageData['from'] = data.fromString || this.translate('empty address');
+ this.messageData['from'] = this.getHelper().escapeString(data.fromString || this.translate('empty address'));
}
- this.emailId = data.emailId;
- this.emailName = data.emailName;
+ this.emailId = this.getHelper().escapeString(data.emailId);
+ this.emailName = this.getHelper().escapeString(data.emailName);
this.createMessage();
}
});
});
-
diff --git a/client/src/views/notification/items/entity-removed.js b/client/src/views/notification/items/entity-removed.js
index 217dd41616..ca2e54fbd2 100644
--- a/client/src/views/notification/items/entity-removed.js
+++ b/client/src/views/notification/items/entity-removed.js
@@ -39,10 +39,10 @@ Espo.define('views/notification/items/entity-removed', 'views/notification/items
this.userId = data.userId;
- this.messageData['entityType'] = (this.translate(data.entityType, 'scopeNames') || '').toLowerCase();
+ this.messageData['entityType'] = this.getHelper().escapeString((this.translate(data.entityType, 'scopeNames') || '').toLowerCase());
- this.messageData['user'] = '
' + data.userName + '';
- this.messageData['entity'] = '
' + data.entityName + '';
+ this.messageData['user'] = '
' + this.getHelper().escapeString(data.userName) + '';
+ this.messageData['entity'] = '
' + this.getHelper().escapeString(data.entityName) + '';
this.createMessage();
}
diff --git a/client/src/views/notification/items/message.js b/client/src/views/notification/items/message.js
index a75b2c13f7..fa5a88a764 100644
--- a/client/src/views/notification/items/message.js
+++ b/client/src/views/notification/items/message.js
@@ -47,10 +47,10 @@ Espo.define('views/notification/items/message', 'views/notification/items/base',
this.userId = data.userId;
- this.messageData['entityType'] = Espo.Utils.upperCaseFirst((this.translate(data.entityType, 'scopeNames') || '').toLowerCase());
+ this.messageData['entityType'] = this.getHelper().escapeString(Espo.Utils.upperCaseFirst((this.translate(data.entityType, 'scopeNames') || '').toLowerCase()));
- this.messageData['user'] = '
' + data.userName + '';
- this.messageData['entity'] = '
' + data.entityName + '';
+ this.messageData['user'] = '
' + this.getHelper().escapeString(data.userName) + '';
+ this.messageData['entity'] = '
' + this.getHelper().escapeString(data.entityName) + '';
this.createMessage();
}
diff --git a/client/src/views/site-portal/navbar.js b/client/src/views/site-portal/navbar.js
index 578e390fa4..b1a4af8af5 100644
--- a/client/src/views/site-portal/navbar.js
+++ b/client/src/views/site-portal/navbar.js
@@ -42,7 +42,7 @@ define('views/site-portal/navbar', 'views/site/navbar', function (Dep) {
var tabList = this.getConfig().get('tabList') || [];
tabList = Espo.Utils.clone(tabList || []);
- if (this.getThemeManager().getParam('navbarIsVertical')) {
+ if (this.getThemeManager().getParam('navbarIsVertical') || tabList.length) {
tabList.unshift('Home');
}
return tabList;
diff --git a/client/src/views/site/navbar.js b/client/src/views/site/navbar.js
index 069b4e01f4..25a48a4477 100644
--- a/client/src/views/site/navbar.js
+++ b/client/src/views/site/navbar.js
@@ -41,7 +41,6 @@ Espo.define('views/site/navbar', 'view', function (Dep) {
menuDataList: this.getMenuDataList(),
quickCreateList: this.quickCreateList,
enableQuickCreate: this.quickCreateList.length > 0,
- userName: this.getUser().get('name'),
userId: this.getUser().id,
logoSrc: this.getLogoSrc()
};
@@ -528,7 +527,7 @@ Espo.define('views/site/navbar', 'view', function (Dep) {
var list = [
{
link: '#User/view/' + this.getUser().id,
- html: avatarHtml + this.getUser().get('name')
+ html: avatarHtml + this.getHelper().escapeString(this.getUser().get('name')),
},
{divider: true}
];
diff --git a/client/src/views/stream/note.js b/client/src/views/stream/note.js
index 46d74a674c..4e2de43044 100644
--- a/client/src/views/stream/note.js
+++ b/client/src/views/stream/note.js
@@ -85,7 +85,7 @@ Espo.define('views/stream/note', 'view', function (Dep) {
this.messageData = {
'user': 'field:createdBy',
'entity': 'field:parent',
- 'entityType': this.translateEntityType(this.model.get('parentType')),
+ 'entityType': this.getHelper().escapeString(this.translateEntityType(this.model.get('parentType'))),
};
if (!this.options.noEdit && (this.isEditable || this.isRemovable)) {
diff --git a/client/src/views/stream/notes/assign.js b/client/src/views/stream/notes/assign.js
index 147605badc..649dbacf48 100644
--- a/client/src/views/stream/notes/assign.js
+++ b/client/src/views/stream/notes/assign.js
@@ -52,7 +52,7 @@ Espo.define('views/stream/notes/assign', 'views/stream/note', function (Dep) {
this.assignedUserId = data.assignedUserId || null;
this.assignedUserName = data.assignedUserName || null;
- this.messageData['assignee'] = '
' + data.assignedUserName + '';
+ this.messageData['assignee'] = '
' + this.getHelper().escapeString(data.assignedUserName) + '';
if (this.isUserStream) {
if (this.assignedUserId) {
diff --git a/client/src/views/stream/notes/create-related.js b/client/src/views/stream/notes/create-related.js
index b269f4eed1..1d6ab2ba4d 100644
--- a/client/src/views/stream/notes/create-related.js
+++ b/client/src/views/stream/notes/create-related.js
@@ -56,7 +56,7 @@ Espo.define('views/stream/notes/create-related', 'views/stream/note', function (
this.entityName = this.model.get('relatedName') || data.entityName || null;
this.messageData['relatedEntityType'] = this.translateEntityType(this.entityType);
- this.messageData['relatedEntity'] = '
' + this.entityName +'';
+ this.messageData['relatedEntity'] = '
' + this.getHelper().escapeString(this.entityName) +'';
this.createMessage();
}
diff --git a/client/src/views/stream/notes/create.js b/client/src/views/stream/notes/create.js
index cda35873a8..60c2021a5c 100644
--- a/client/src/views/stream/notes/create.js
+++ b/client/src/views/stream/notes/create.js
@@ -52,7 +52,7 @@ Espo.define('views/stream/notes/create', 'views/stream/note', function (Dep) {
this.assignedUserId = data.assignedUserId || null;
this.assignedUserName = data.assignedUserName || null;
- this.messageData['assignee'] = '
' + this.assignedUserName + '';
+ this.messageData['assignee'] = '
' + this.getHelper().escapeString(this.assignedUserName) + '';
var isYou = false;
if (this.isUserStream) {
diff --git a/client/src/views/stream/notes/email-received.js b/client/src/views/stream/notes/email-received.js
index 1987018083..5cbd5d5b32 100644
--- a/client/src/views/stream/notes/email-received.js
+++ b/client/src/views/stream/notes/email-received.js
@@ -67,7 +67,7 @@ Espo.define('views/stream/notes/email-received', 'views/stream/note', function (
}
}
- this.messageData['email'] = '
' + data.emailName + '';
+ this.messageData['email'] = '
' + this.getHelper().escapeString(data.emailName) + '';
this.messageName = 'emailReceived';
@@ -77,7 +77,7 @@ Espo.define('views/stream/notes/email-received', 'views/stream/note', function (
if (data.personEntityId) {
this.messageName += 'From';
- this.messageData['from'] = '
' + data.personEntityName + '';
+ this.messageData['from'] = '
' + this.getHelper().escapeString(data.personEntityName) + '';
}
if (this.model.get('parentType') === data.personEntityType && this.model.get('parentId') == data.personEntityId) {
diff --git a/client/src/views/stream/notes/email-sent.js b/client/src/views/stream/notes/email-sent.js
index c033fee552..fb56a0b636 100644
--- a/client/src/views/stream/notes/email-sent.js
+++ b/client/src/views/stream/notes/email-sent.js
@@ -65,11 +65,11 @@ Espo.define('views/stream/notes/email-sent', 'views/stream/note', function (Dep)
}
}
- this.messageData['email'] = '
' + data.emailName + '';
+ this.messageData['email'] = '
' + this.getHelper().escapeString(data.emailName) + '';
this.messageName = 'emailSent';
- this.messageData['by'] = '
' + data.personEntityName + '';
+ this.messageData['by'] = '
' + this.getHelper().escapeString(data.personEntityName) + '';
if (this.isThis) {
diff --git a/client/src/views/stream/notes/mention-in-post.js b/client/src/views/stream/notes/mention-in-post.js
index 2ea90e7979..80d98cf559 100644
--- a/client/src/views/stream/notes/mention-in-post.js
+++ b/client/src/views/stream/notes/mention-in-post.js
@@ -76,7 +76,7 @@ Espo.define('views/stream/notes/mention-in-post', 'views/stream/note', function
teamIdList.forEach(function (teamId) {
var teamName = teamNameHash[teamId];
if (teamName) {
- teamHtmlList.push('
' + teamName + '');
+ teamHtmlList.push('
' + this.getHelper().escapeString(teamName) + '');
}
}, this);
@@ -93,7 +93,7 @@ Espo.define('views/stream/notes/mention-in-post', 'views/stream/note', function
userIdList.forEach(function (userId) {
var userName = userNameHash[userId];
if (userName) {
- userHtmlList.push('
' + userName + '');
+ userHtmlList.push('
' + this.getHelper().escapeString(userName) + '');
}
}, this);
this.messageData['target'] = userHtmlList.join(', ');
@@ -113,4 +113,3 @@ Espo.define('views/stream/notes/mention-in-post', 'views/stream/note', function
});
});
-
diff --git a/client/src/views/stream/notes/post.js b/client/src/views/stream/notes/post.js
index 96c6a6c748..a50af61e3d 100644
--- a/client/src/views/stream/notes/post.js
+++ b/client/src/views/stream/notes/post.js
@@ -85,7 +85,7 @@ Espo.define('views/stream/notes/post', 'views/stream/note', function (Dep) {
teamIdList.forEach(function (teamId) {
var teamName = teamNameHash[teamId];
if (teamName) {
- teamHtmlList.push('
' + teamName + '');
+ teamHtmlList.push('
' + this.getHelper().escapeString(teamName) + '');
}
}, this);
@@ -103,7 +103,7 @@ Espo.define('views/stream/notes/post', 'views/stream/note', function (Dep) {
portalIdList.forEach(function (portalId) {
var portalName = portalNameHash[portalId];
if (portalName) {
- portalHtmlList.push('
' + portalName + '');
+ portalHtmlList.push('
' + this.getHelper().escapeString(portalName) + '');
}
}, this);
@@ -135,7 +135,7 @@ Espo.define('views/stream/notes/post', 'views/stream/note', function (Dep) {
} else {
var userName = userNameHash[userId];
if (userName) {
- userHtmlList.push('
' + userName + '');
+ userHtmlList.push('
' + this.getHelper().escapeString(userName) + '');
}
}
}
diff --git a/client/src/views/stream/notes/relate.js b/client/src/views/stream/notes/relate.js
index 261a8eb963..0ae91a4198 100644
--- a/client/src/views/stream/notes/relate.js
+++ b/client/src/views/stream/notes/relate.js
@@ -55,7 +55,7 @@ Espo.define('views/stream/notes/relate', 'views/stream/note', function (Dep) {
this.entityName = this.model.get('relatedName') || data.entityName || null;
this.messageData['relatedEntityType'] = this.translateEntityType(this.entityType);
- this.messageData['relatedEntity'] = '
' + this.entityName +'';
+ this.messageData['relatedEntity'] = '
' + this.getHelper().escapeString(this.entityName) +'';
this.createMessage();
},
diff --git a/client/src/views/stream/notes/status.js b/client/src/views/stream/notes/status.js
index 571eb40381..4723ede35f 100644
--- a/client/src/views/stream/notes/status.js
+++ b/client/src/views/stream/notes/status.js
@@ -56,7 +56,7 @@ Espo.define('views/stream/notes/status', 'views/stream/note', function (Dep) {
this.style = data.style || 'default';
- this.statusText = this.getLanguage().translateOption(value, field, this.model.get('parentType'));
+ this.statusText = this.getHelper().escapeString(this.getLanguage().translateOption(value, field, this.model.get('parentType')));
this.messageData['field'] = this.translate(field, 'fields', this.model.get('parentType')).toLowerCase();
diff --git a/package.json b/package.json
index 17a5f80f33..10f9f58e59 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "espocrm",
- "version": "5.6.5",
+ "version": "5.6.6",
"description": "",
"main": "index.php",
"repository": {