@tiledesk/tiledesk-server 2.4.7 → 2.4.9
Sign up to get free protection for your applications and to get access to all the features.
- package/.circleci/config.yml +1 -1
- package/app.js +11 -0
- package/config/email.js +1 -1
- package/event/botEvent.js +12 -2
- package/middleware/has-role.js +6 -0
- package/middleware/passport.js +1 -0
- package/models/auth.js +9 -1
- package/models/faq_kb.js +4 -0
- package/models/lead.js +5 -0
- package/models/user.js +3 -0
- package/package.json +3 -3
- package/public/wstest/index.html +5 -41
- package/pubmodules/apps/listener.js +3 -3
- package/pubmodules/queue/reconnect.js +24 -0
- package/pubmodules/queue/reconnectFanout.js +17 -0
- package/routes/auth.js +44 -3
- package/routes/faq_kb.js +42 -0
- package/routes/images.js +3 -1
- package/routes/lead.js +51 -0
- package/routes/project.js +12 -0
- package/routes/users.js +2 -0
- package/services/emailService.js +2 -2
- package/services/trainingService.js +7 -2
- package/template/email/assignedEmailMessage.html +253 -149
- package/template/email/assignedRequest.html +273 -173
- package/template/email/beenInvitedExistingUser.html +213 -130
- package/template/email/beenInvitedNewUser.html +200 -119
- package/template/email/emailDirect.html +207 -114
- package/template/email/newMessage.html +250 -157
- package/template/email/newMessageFollower.html +351 -225
- package/template/email/passwordChanged.html +178 -96
- package/template/email/pooledEmailMessage.html +250 -151
- package/template/email/pooledRequest.html +270 -164
- package/template/email/resetPassword.html +201 -115
- package/template/email/sendTranscript.html +299 -197
- package/template/email/ticket.html +263 -160
- package/template/email/verify.html +208 -126
- package/websocket/webSocketServer.js +70 -3
package/routes/users.js
CHANGED
@@ -20,6 +20,7 @@ router.put('/', function (req, res) {
|
|
20
20
|
update.firstname = req.body.firstname;
|
21
21
|
update.lastname = req.body.lastname;
|
22
22
|
update.attributes = req.body.attributes;
|
23
|
+
update.description = req.body.description;
|
23
24
|
|
24
25
|
|
25
26
|
|
@@ -75,6 +76,7 @@ router.delete('/physical', function (req, res) {
|
|
75
76
|
// cancello virtualmente progetti owner
|
76
77
|
winston.debug('delete USER - REQ BODY ', req.body);
|
77
78
|
|
79
|
+
// TODO use findByIdAndRemove otherwise user don't contains label object
|
78
80
|
User.remove({ _id: req.user.id }, function (err, user) {
|
79
81
|
if (err) {
|
80
82
|
winston.error(err);
|
package/services/emailService.js
CHANGED
@@ -1857,7 +1857,7 @@ parseText(text, payload) {
|
|
1857
1857
|
var baseScope = JSON.parse(JSON.stringify(this));
|
1858
1858
|
delete baseScope.pass;
|
1859
1859
|
|
1860
|
-
winston.
|
1860
|
+
winston.debug("parseText text: "+ text);
|
1861
1861
|
|
1862
1862
|
var templateHand = handlebars.compile(text);
|
1863
1863
|
|
@@ -1868,7 +1868,7 @@ parseText(text, payload) {
|
|
1868
1868
|
};
|
1869
1869
|
|
1870
1870
|
var textTemplate = templateHand(replacements);
|
1871
|
-
winston.
|
1871
|
+
winston.debug("parseText textTemplate: "+ textTemplate);
|
1872
1872
|
|
1873
1873
|
return textTemplate;
|
1874
1874
|
|
@@ -3,6 +3,7 @@ const Faq_kb = require('../models/faq_kb');
|
|
3
3
|
const Faq = require('../models/faq');
|
4
4
|
var winston = require('../config/winston');
|
5
5
|
const axios = require("axios").default;
|
6
|
+
var configGlobal = require('../config/global');
|
6
7
|
|
7
8
|
|
8
9
|
let chatbot_training_api_url = "http://34.65.210.38/model/train"
|
@@ -35,14 +36,18 @@ class TrainingService {
|
|
35
36
|
if (err) {
|
36
37
|
winston.error("[Training] find all error: ", err);
|
37
38
|
} else {
|
38
|
-
|
39
|
+
|
39
40
|
let json = {
|
40
41
|
"configuration": {
|
41
42
|
"language": faq_kb.language,
|
42
43
|
"pipeline":["lstm"]
|
43
44
|
},
|
44
45
|
"model": faq_kb._id,
|
45
|
-
"nlu": []
|
46
|
+
"nlu": [],
|
47
|
+
|
48
|
+
// curl -v -X PUT -H 'Content-Type:application/json' -u admin@tiledesk.com:adminadmin -d '{"trained":false}' http://localhost:3000/63ed15febb8a5eb3b247fdfd/bots/64551b3422cdfb93ddb1b784
|
49
|
+
"webhook_url": process.env.API_URL || configGlobal.apiUrl + "/" + faq_kb.id_project + "/bots/" + faq_kb._id+"/training",
|
50
|
+
"token" : process.env.TRAINING_BOT_JWT_TOKEN
|
46
51
|
}
|
47
52
|
|
48
53
|
faqs.forEach((f) => {
|
@@ -1,215 +1,319 @@
|
|
1
1
|
|
2
2
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
|
3
|
+
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
|
4
|
+
style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
4
5
|
|
5
6
|
<head>
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
<meta name="viewport" content="width=device-width" />
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
9
|
+
<title>New message ticket from Tiledesk</title>
|
9
10
|
|
10
|
-
|
11
|
+
<style type="text/css">
|
11
12
|
img {
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
max-width: 100%;
|
14
|
+
margin-left: 16px;
|
15
|
+
text-align: center !important;
|
15
16
|
}
|
17
|
+
|
16
18
|
img.CToWUd {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
margin-bottom: 16px;
|
20
|
+
max-width: 200px !important;
|
21
|
+
width: 200px !important;
|
22
|
+
min-width: 200px !important;
|
23
|
+
outline: none;
|
24
|
+
text-decoration: none;
|
25
|
+
border: none;
|
26
|
+
height: auto;
|
27
|
+
margin-left: 0px;
|
26
28
|
}
|
29
|
+
|
27
30
|
body {
|
28
|
-
|
31
|
+
-webkit-font-smoothing: antialiased;
|
32
|
+
-webkit-text-size-adjust: none;
|
33
|
+
width: 100% !important;
|
34
|
+
height: 100%;
|
35
|
+
line-height: 1.6em;
|
29
36
|
}
|
37
|
+
|
30
38
|
body {
|
31
|
-
|
39
|
+
background-color: #f6f6f6;
|
32
40
|
}
|
33
41
|
|
34
42
|
@media only screen and (max-width: 640px) {
|
35
|
-
|
43
|
+
body {
|
36
44
|
padding: 0 !important;
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
font-weight: 800 !important;
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
45
|
+
}
|
46
|
+
|
47
|
+
h1 {
|
48
|
+
font-weight: 800 !important;
|
49
|
+
margin: 20px 0 5px !important;
|
50
|
+
text-align: center !important;
|
51
|
+
}
|
52
|
+
|
53
|
+
h2 {
|
54
|
+
font-weight: 800 !important;
|
55
|
+
margin: 20px 0 5px !important;
|
56
|
+
}
|
57
|
+
|
58
|
+
h3 {
|
59
|
+
font-weight: 800 !important;
|
60
|
+
margin: 20px 0 5px !important;
|
61
|
+
}
|
62
|
+
|
63
|
+
h4 {
|
64
|
+
font-weight: 800 !important;
|
65
|
+
margin: 20px 0 5px !important;
|
66
|
+
}
|
67
|
+
|
68
|
+
h1 {
|
52
69
|
font-size: 22px !important;
|
53
|
-
|
54
|
-
|
70
|
+
}
|
71
|
+
|
72
|
+
h2 {
|
55
73
|
font-size: 18px !important;
|
56
|
-
|
57
|
-
|
74
|
+
}
|
75
|
+
|
76
|
+
h3 {
|
58
77
|
font-size: 16px !important;
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
78
|
+
}
|
79
|
+
|
80
|
+
.container {
|
81
|
+
padding: 0 !important;
|
82
|
+
width: 100% !important;
|
83
|
+
}
|
84
|
+
|
85
|
+
.content {
|
64
86
|
padding: 0 !important;
|
65
|
-
|
66
|
-
|
87
|
+
}
|
88
|
+
|
89
|
+
.content-wrap {
|
67
90
|
padding: 10px !important;
|
68
|
-
|
69
|
-
|
91
|
+
}
|
92
|
+
|
93
|
+
.invoice {
|
70
94
|
width: 100% !important;
|
71
|
-
|
95
|
+
}
|
72
96
|
}
|
73
|
-
|
97
|
+
</style>
|
74
98
|
</head>
|
75
99
|
|
76
|
-
<body itemscope itemtype="http://schema.org/EmailMessage"
|
100
|
+
<body itemscope itemtype="http://schema.org/EmailMessage"
|
101
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;"
|
102
|
+
bgcolor="#f6f6f6">
|
77
103
|
|
78
|
-
|
79
|
-
|
80
|
-
|
104
|
+
{{#if baseScope.replyEnabled}}
|
105
|
+
<div>\# Please type your reply above this line \#</div>
|
106
|
+
{{/if}}
|
81
107
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
108
|
+
<table class="body-wrap"
|
109
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;"
|
110
|
+
bgcolor="#f6f6f6">
|
111
|
+
<tr
|
112
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
113
|
+
<td
|
114
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
115
|
+
valign="top"></td>
|
116
|
+
<td class="container" width="600"
|
117
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;"
|
118
|
+
valign="top">
|
119
|
+
<div class="content"
|
120
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;">
|
87
121
|
|
88
122
|
|
89
|
-
|
90
|
-
|
91
|
-
|
123
|
+
<table class="main" width="100%" cellpadding="0" cellspacing="0"
|
124
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;"
|
125
|
+
bgcolor="#fff">
|
92
126
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
</a>
|
97
|
-
</div>
|
98
|
-
</tr>
|
127
|
+
<!--
|
128
|
+
<tr
|
129
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
99
130
|
|
100
|
-
|
131
|
+
<div style="text-align:center">
|
132
|
+
<a href="http://www.tiledesk.com"
|
133
|
+
style="color:#2daae1;font-weight:bold;text-decoration:none;word-break:break-word" target="_blank">
|
134
|
+
<img src="https://tiledesk.com/wp-content/uploads/2023/01/tiledesk_log_email_200.png" class="CToWUd">
|
135
|
+
</a>
|
136
|
+
</div>
|
137
|
+
</tr>
|
138
|
+
-->
|
139
|
+
|
140
|
+
<tr
|
141
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
101
142
|
|
102
|
-
|
143
|
+
<td class="alert alert-warning"
|
144
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 16px; vertical-align: top; font-weight: 500; text-align: center; border-radius: 3px 3px 0 0; margin: 0;"
|
145
|
+
align="center" valign="top">
|
103
146
|
<div>
|
104
|
-
|
147
|
+
<h2>New Message from a ticket assigned to you</h2>
|
105
148
|
</div>
|
106
149
|
|
107
|
-
|
150
|
+
</td>
|
108
151
|
</tr>
|
109
|
-
|
110
|
-
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
111
|
-
<td class="content-wrap" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;" valign="top">
|
112
|
-
<table width="100%" cellpadding="0" cellspacing="0" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
113
|
-
|
114
|
-
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
115
|
-
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top">
|
116
|
-
{{#ifEquals message.type "text"}}
|
117
|
-
<div style="white-space: pre-wrap;">{{{msgText}}}</div>
|
118
|
-
{{/ifEquals}}
|
119
|
-
{{#ifEquals message.type "image"}}
|
120
|
-
<img src="{{message.metadata.src}}"/>
|
121
|
-
{{/ifEquals}}
|
122
|
-
{{#ifEquals message.type "file"}}
|
123
|
-
<a href="{{message.metadata.src}}">{{message.metadata.name}}</a>
|
124
|
-
{{/ifEquals}}
|
125
152
|
|
126
|
-
|
127
|
-
|
153
|
+
<tr
|
154
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
155
|
+
<td class="content-wrap"
|
156
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;"
|
157
|
+
valign="top">
|
158
|
+
<table width="100%" cellpadding="0" cellspacing="0"
|
159
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
128
160
|
|
129
|
-
|
161
|
+
<tr
|
162
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
163
|
+
<td class="content-block"
|
164
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
165
|
+
valign="top">
|
166
|
+
{{#ifEquals message.type "text"}}
|
167
|
+
<div style="white-space: pre-wrap;">{{{msgText}}}</div>
|
168
|
+
{{/ifEquals}}
|
169
|
+
{{#ifEquals message.type "image"}}
|
170
|
+
<img src="{{message.metadata.src}}" />
|
171
|
+
{{/ifEquals}}
|
172
|
+
{{#ifEquals message.type "file"}}
|
173
|
+
<a href="{{message.metadata.src}}">{{message.metadata.name}}</a>
|
174
|
+
{{/ifEquals}}
|
130
175
|
|
176
|
+
</td>
|
177
|
+
</tr>
|
131
178
|
|
132
|
-
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
133
|
-
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top">
|
134
|
-
Project name : <strong style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{project.name}}</strong>
|
135
|
-
</td>
|
136
|
-
</tr>
|
137
|
-
|
138
179
|
|
139
|
-
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
140
|
-
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top">
|
141
|
-
Department name : <strong style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{request.department.name}}</strong>
|
142
|
-
</td>
|
143
|
-
</tr>
|
144
180
|
|
145
|
-
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
146
|
-
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top">
|
147
|
-
From email : <strong style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{request.lead.email}}</strong>
|
148
|
-
</td>
|
149
|
-
</tr>
|
150
181
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
182
|
+
<tr
|
183
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
184
|
+
<td class="content-block"
|
185
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
186
|
+
valign="top">
|
187
|
+
Project name : <strong
|
188
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{project.name}}</strong>
|
189
|
+
</td>
|
190
|
+
</tr>
|
191
|
+
|
192
|
+
|
193
|
+
<tr
|
194
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
195
|
+
<td class="content-block"
|
196
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
197
|
+
valign="top">
|
198
|
+
Department name : <strong
|
199
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{request.department.name}}</strong>
|
200
|
+
</td>
|
201
|
+
</tr>
|
156
202
|
|
157
|
-
|
203
|
+
<tr
|
204
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
205
|
+
<td class="content-block"
|
206
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
207
|
+
valign="top">
|
208
|
+
From email : <strong
|
209
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{request.lead.email}}</strong>
|
210
|
+
</td>
|
211
|
+
</tr>
|
212
|
+
|
213
|
+
<tr
|
214
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
215
|
+
<td class="content-block"
|
216
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
217
|
+
valign="top">
|
218
|
+
Contact name : <strong
|
219
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{request.lead.fullname}}</strong>
|
220
|
+
</td>
|
221
|
+
</tr>
|
222
|
+
|
223
|
+
<!-- <tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
158
224
|
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;" valign="top">
|
159
225
|
Assignee : <strong style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;"></strong>
|
160
226
|
</td>
|
161
227
|
</tr> -->
|
162
228
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
229
|
+
<tr
|
230
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
231
|
+
<td class="content-block"
|
232
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
233
|
+
valign="top">
|
234
|
+
Channel : <strong
|
235
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
236
|
+
{{#ifEquals request.channel.name "chat21"}}
|
167
237
|
Chat
|
168
|
-
|
238
|
+
{{else}}
|
169
239
|
{{request.channel.name}}
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
240
|
+
{{/ifEquals}}
|
241
|
+
</strong>
|
242
|
+
</td>
|
243
|
+
</tr>
|
174
244
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
245
|
+
<tr
|
246
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
247
|
+
<td class="content-block"
|
248
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
249
|
+
valign="top">
|
250
|
+
<a
|
251
|
+
href="{{baseScope.baseUrl}}/#/project/{{request.id_project}}/wsrequest/{{request.request_id}}/messages">Open
|
252
|
+
the dashboard</a>.
|
253
|
+
|
254
|
+
</td>
|
255
|
+
</tr>
|
182
256
|
|
183
|
-
|
184
257
|
|
185
|
-
|
186
|
-
|
187
|
-
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
<tr
|
262
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
263
|
+
<td class="content-block"
|
264
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
265
|
+
valign="top">
|
188
266
|
</td>
|
189
|
-
|
267
|
+
</tr>
|
190
268
|
</table>
|
191
|
-
|
269
|
+
</td>
|
192
270
|
</tr>
|
193
|
-
|
194
|
-
<
|
195
|
-
|
196
|
-
<
|
197
|
-
|
198
|
-
|
199
|
-
|
271
|
+
|
272
|
+
<tr>
|
273
|
+
<td>
|
274
|
+
<hr style="width:94%;height:1px;border:none;background-color: #cacaca;">
|
275
|
+
|
276
|
+
<div style="display: flex; padding: 20px 18px; color: #888888;">
|
277
|
+
<span>Powered by </span>
|
278
|
+
<span style="display: flex;"><img
|
279
|
+
src="https://panel.tiledesk.com/v3/dashboard/assets/img/logos/tiledesk-solo_logo_new_gray.svg"
|
280
|
+
width="18" height="auto" style="margin-left: 6px;" /></span>
|
281
|
+
<span style="font-weight: bold; margin-left: 2px;">Tiledesk</span>
|
282
|
+
</div>
|
283
|
+
|
284
|
+
</td>
|
285
|
+
</tr>
|
286
|
+
</table>
|
287
|
+
|
288
|
+
<div class="footer"
|
289
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;">
|
290
|
+
<table width="100%"
|
291
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
292
|
+
<tr
|
293
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
294
|
+
<td class="aligncenter content-block"
|
295
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0;"
|
296
|
+
align="center" valign="top">
|
297
|
+
<span><a href="http://www.tiledesk.com"
|
298
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">
|
299
|
+
Tiledesk.com </a></span>
|
300
|
+
<br><span><a href="%unsubscribe_url%"
|
301
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">Unsubscribe</a></span>
|
200
302
|
</td>
|
201
|
-
|
303
|
+
</tr>
|
202
304
|
</table>
|
203
305
|
|
204
306
|
|
205
307
|
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
308
|
+
</div>
|
309
|
+
</td>
|
310
|
+
<td
|
311
|
+
style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
|
312
|
+
valign="top"></td>
|
210
313
|
</tr>
|
211
|
-
|
212
|
-
|
314
|
+
</table>
|
315
|
+
</div>
|
213
316
|
|
214
317
|
</body>
|
318
|
+
|
215
319
|
</html>
|