From 10fcd7915581826d6b7f61cc093a68e5e5798dd5 Mon Sep 17 00:00:00 2001 From: yuri Date: Tue, 23 Jul 2019 11:35:12 +0300 Subject: [PATCH 1/4] portal home tab --- client/src/views/site-portal/navbar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; From 49fa22fa3d90738eb82fdafa6634e79975ef62f6 Mon Sep 17 00:00:00 2001 From: yuri Date: Tue, 23 Jul 2019 11:37:07 +0300 Subject: [PATCH 2/4] v --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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": { From 34e33bd13a255a0a69d3c374f989828d691d42b4 Mon Sep 17 00:00:00 2001 From: yuri Date: Tue, 23 Jul 2019 13:29:01 +0300 Subject: [PATCH 3/4] searchPanelInPortalDisabled --- client/src/views/list.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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; } From 4ab7d19776011288b875abd3eef1e1f6f75289e2 Mon Sep 17 00:00:00 2001 From: yuri Date: Tue, 23 Jul 2019 17:50:02 +0300 Subject: [PATCH 4/4] xss fixes --- .../views/email/fields/email-address-varchar.js | 15 +++++++++++++++ .../views/email/fields/from-address-varchar.js | 15 +++++++++++++++ .../views/fields/link-multiple-with-primary.js | 2 +- client/src/views/notification/items/assign.js | 2 +- .../views/notification/items/email-received.js | 11 +++++------ .../views/notification/items/entity-removed.js | 6 +++--- client/src/views/notification/items/message.js | 6 +++--- client/src/views/site/navbar.js | 3 +-- client/src/views/stream/note.js | 2 +- client/src/views/stream/notes/assign.js | 2 +- client/src/views/stream/notes/create-related.js | 2 +- client/src/views/stream/notes/create.js | 2 +- client/src/views/stream/notes/email-received.js | 4 ++-- client/src/views/stream/notes/email-sent.js | 4 ++-- client/src/views/stream/notes/mention-in-post.js | 5 ++--- client/src/views/stream/notes/post.js | 6 +++--- client/src/views/stream/notes/relate.js | 2 +- client/src/views/stream/notes/status.js | 2 +- 18 files changed, 59 insertions(+), 32 deletions(-) diff --git a/client/src/views/email/fields/email-address-varchar.js b/client/src/views/email/fields/email-address-varchar.js index 16bde39ac5..6fdb69540f 100644 --- a/client/src/views/email/fields/email-address-varchar.js +++ b/client/src/views/email/fields/email-address-varchar.js @@ -203,6 +203,10 @@ Espo.define('views/email/fields/email-address-varchar', ['views/fields/varchar', }, addAddress: function (address, name, type, id) { + if (name) { + name = this.getHelper().escapeString(name); + } + if (this.justAddedAddress) { this.deleteAddress(this.justAddedAddress); } @@ -236,6 +240,13 @@ Espo.define('views/email/fields/email-address-varchar', ['views/fields/varchar', }, addAddressHtml: function (address, name) { + if (name) { + name = this.getHelper().escapeString(name); + } + if (address) { + name = this.getHelper().escapeString(address); + } + var conteiner = this.$el.find('.link-container'); var html = '
' + @@ -288,6 +299,10 @@ Espo.define('views/email/fields/email-address-varchar', ['views/fields/varchar', var addressHtml = '' + address + ''; + if (name) { + name = this.getHelper().escapeString(name); + } + var lineHtml; if (id) { lineHtml = '
' + '' + name + ' » ' + addressHtml + '
'; diff --git a/client/src/views/email/fields/from-address-varchar.js b/client/src/views/email/fields/from-address-varchar.js index 7ee43b3314..8c12df447d 100644 --- a/client/src/views/email/fields/from-address-varchar.js +++ b/client/src/views/email/fields/from-address-varchar.js @@ -106,6 +106,11 @@ Espo.define('views/email/fields/from-address-varchar', 'views/fields/varchar', f var fromString = this.model.get('fromString') || this.model.get('fromName'); var name = this.nameHash[address] || this.parseNameFromStringAddress(fromString) || null; + + if (name) { + name = this.getHelper().escapeString(name); + } + var entityType = this.typeHash[address] || null; var id = this.idHash[address] || null; @@ -129,6 +134,8 @@ Espo.define('views/email/fields/from-address-varchar', 'views/fields/varchar', f }, getCreateHtml: function (address) { + address = this.getHelper().escapeString(address); + var html = '