diff --git a/application/Espo/Modules/Crm/Resources/i18n/en_US/InboundEmail.json b/application/Espo/Modules/Crm/Resources/i18n/en_US/InboundEmail.json index 97939758ff..e267840372 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/en_US/InboundEmail.json +++ b/application/Espo/Modules/Crm/Resources/i18n/en_US/InboundEmail.json @@ -19,6 +19,14 @@ "replyToAddress": "Reply To Address", "replyFromName": "Reply From Name" }, + "tooltipls": { + "reply": "Notify email senders that their emails has been received.", + "createCase": "Automatically create case from incoming emails", + "replyToAddress": "Specify email address of this mailbox to make response come here.", + "caseDistribution": "How cases will be assigned to. Assigned directly to the user or among the team.", + "assignToUser": "User emails/cases will be assigned to", + "team": "Team emails/cases will be related to" + }, "links": { }, "options": { diff --git a/application/Espo/Modules/Crm/Resources/metadata/clientDefs/InboundEmail.json b/application/Espo/Modules/Crm/Resources/metadata/clientDefs/InboundEmail.json index 59bcf2cb4d..fd349f94a5 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/clientDefs/InboundEmail.json +++ b/application/Espo/Modules/Crm/Resources/metadata/clientDefs/InboundEmail.json @@ -28,7 +28,7 @@ "fields": ["replyEmailTemplate", "replyFromAddress", "replyFromName", "replyToAddress"] }, { "action": "setRequired", - "fields": ["replyToAddress", "replyEmailTemplate"] + "fields": ["replyEmailTemplate"] } ] }, @@ -38,7 +38,7 @@ "fields": ["replyEmailTemplate", "replyFromAddress", "replyFromName", "replyToAddress"] }, { "action": "setNotRequired", - "fields": ["replyToAddress", "replyEmailTemplate"] + "fields": ["replyEmailTemplate"] } ] } diff --git a/application/Espo/Modules/Crm/Resources/metadata/entityDefs/InboundEmail.json b/application/Espo/Modules/Crm/Resources/metadata/entityDefs/InboundEmail.json index 2906053320..6016e38c8d 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/entityDefs/InboundEmail.json +++ b/application/Espo/Modules/Crm/Resources/metadata/entityDefs/InboundEmail.json @@ -39,21 +39,26 @@ "view": "Crm:InboundEmail.Fields.Folder" }, "assignToUser": { - "type": "link" + "type": "link", + "tooltip": true }, "team": { - "type": "link" + "type": "link", + "tooltip": true }, "createCase": { - "type": "bool" + "type": "bool", + "tooltip": true }, "caseDistribution": { "type": "enum", "options": ["Direct-Assignment", "Round-Robin", "Least-Busy"], - "default": "Direct-Assignment" + "default": "Direct-Assignment", + "tooltip": true }, "reply": { - "type": "bool" + "type": "bool", + "tooltip": true }, "replyEmailTemplate": { "type": "link" @@ -62,7 +67,8 @@ "type": "varchar" }, "replyToAddress": { - "type": "varchar" + "type": "varchar", + "tooltip": true }, "replyFromName": { "type": "varchar" diff --git a/application/Espo/Resources/i18n/en_US/Team.json b/application/Espo/Resources/i18n/en_US/Team.json index d6f14dfb64..1243d3ef01 100644 --- a/application/Espo/Resources/i18n/en_US/Team.json +++ b/application/Espo/Resources/i18n/en_US/Team.json @@ -6,6 +6,9 @@ "links": { "users": "Users" }, + "tooltipls": { + "roles": "All users from this team will get access settings from selected roles." + }, "labels": { "Create Team": "Create Team" } diff --git a/application/Espo/Resources/i18n/en_US/User.json b/application/Espo/Resources/i18n/en_US/User.json index 4a061c4b96..dd5f37acc6 100644 --- a/application/Espo/Resources/i18n/en_US/User.json +++ b/application/Espo/Resources/i18n/en_US/User.json @@ -23,6 +23,9 @@ "Preferences": "Preferences", "Change Password": "Change Password" }, + "tooltipls": { + "defaultTeam": "All records created by this user will be related to this team by default." + }, "messages": { "passwordWillBeSent": "Password will be sent to user's email address.", "accountInfoEmailSubject": "Account info", diff --git a/application/Espo/Resources/layouts/Role/relationships.json b/application/Espo/Resources/layouts/Role/relationships.json index f87087a017..fe51488c70 100644 --- a/application/Espo/Resources/layouts/Role/relationships.json +++ b/application/Espo/Resources/layouts/Role/relationships.json @@ -1 +1 @@ -["users", "teams"] +[] diff --git a/application/Espo/Resources/metadata/entityDefs/Team.json b/application/Espo/Resources/metadata/entityDefs/Team.json index 341394f6cf..dd24fe86d7 100644 --- a/application/Espo/Resources/metadata/entityDefs/Team.json +++ b/application/Espo/Resources/metadata/entityDefs/Team.json @@ -5,7 +5,8 @@ "maxLength": 100 }, "roles": { - "type": "linkMultiple" + "type": "linkMultiple", + "tooltip": true } }, "links": { diff --git a/application/Espo/Resources/metadata/entityDefs/User.json b/application/Espo/Resources/metadata/entityDefs/User.json index 54480eba67..b9e139ce15 100644 --- a/application/Espo/Resources/metadata/entityDefs/User.json +++ b/application/Espo/Resources/metadata/entityDefs/User.json @@ -49,7 +49,8 @@ "notStorable": true }, "defaultTeam": { - "type": "link" + "type": "link", + "tooltip": true }, "teams": { "type": "linkMultiple" diff --git a/frontend/client/res/templates/record/panels/side.tpl b/frontend/client/res/templates/record/panels/side.tpl index 691879ab2e..cbfd7aa091 100644 --- a/frontend/client/res/templates/record/panels/side.tpl +++ b/frontend/client/res/templates/record/panels/side.tpl @@ -1,7 +1,9 @@
{{#each fields}}
- +
{{{var this ../this}}}
diff --git a/frontend/client/src/views/fields/base.js b/frontend/client/src/views/fields/base.js index c47130996b..b0c75c386b 100644 --- a/frontend/client/src/views/fields/base.js +++ b/frontend/client/src/views/fields/base.js @@ -202,6 +202,23 @@ Espo.define('Views.Fields.Base', 'View', function (Dep) { this.getLabelElement().append(' *'); }, this); } + + if ((this.mode == 'detail' || this.mode == 'edit') && this.model.getFieldParam(this.name, 'tooltip')) { + this.once('after:render', function () { + var $a = $(''); + this.getLabelElement().append($a); + $a.popover({ + placement: 'bottom', + container: 'body', + content: this.translate(this.name, 'tooltipls', this.model.name), + trigger: 'click focus', + }).on('shown.bs.popover', function () { + $('body').one('click', function () { + $a.popover('hide'); + }); + }); + }, this); + } if (this.mode == 'detail') { var self = this;