@tiledesk/tiledesk-server 2.3.127 β 2.3.128
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +120 -1
- package/models/profile.js +9 -0
- package/package.json +1 -1
- package/routes/email.js +270 -0
- package/services/emailService.js +114 -30
package/CHANGELOG.md
CHANGED
@@ -5,7 +5,126 @@
|
|
5
5
|
π IN PRODUCTION π
|
6
6
|
(https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
|
7
7
|
|
8
|
-
|
8
|
+
|
9
|
+
|
10
|
+
# 2.3.127
|
11
|
+
- Added Google OAuth Strategy
|
12
|
+
- tiledesk/tiledesk-tybot-connector": "^0.1.76
|
13
|
+
|
14
|
+
|
15
|
+
# 2.3.126
|
16
|
+
- removed secret from faq_kb cache before caching
|
17
|
+
- removed description and attributes from chabot subscription notifier to reduce the payload size
|
18
|
+
|
19
|
+
# 2.3.125
|
20
|
+
- @tiledesk/tiledesk-tybot-connector@0.1.74
|
21
|
+
|
22
|
+
# 2.3.124
|
23
|
+
- tiledesk/tiledesk-messenger-connector 0.1.8
|
24
|
+
|
25
|
+
# 2.3.123
|
26
|
+
- tiledesk/tiledesk-messenger-connector 0.1.7
|
27
|
+
|
28
|
+
# 2.3.122
|
29
|
+
- new stripe
|
30
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.73
|
31
|
+
|
32
|
+
# 2.3.121
|
33
|
+
- trial period to 14 days
|
34
|
+
- tiledesk-ent/tiledesk-server-payments: 1.1.9 with new stripe plan
|
35
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.72
|
36
|
+
|
37
|
+
# 2.3.120
|
38
|
+
- ocf fix
|
39
|
+
|
40
|
+
# 2.3.119
|
41
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.71
|
42
|
+
|
43
|
+
# 2.3.118
|
44
|
+
- tiledesk/tiledesk-messenger-connector 0.1.3
|
45
|
+
|
46
|
+
# 2.3.117
|
47
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.70
|
48
|
+
|
49
|
+
# 2.3.116
|
50
|
+
- tiledesk/tiledesk-dialogflow-connector": "^1.8.4",
|
51
|
+
|
52
|
+
# 2.3.115
|
53
|
+
- github action fix
|
54
|
+
|
55
|
+
# 2.3.113
|
56
|
+
- tiledesk-ent/tiledesk-server-payments: 1.1.7 with new stripe plan
|
57
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.68
|
58
|
+
- tiledesk-whatsapp-connector 0.1.41
|
59
|
+
|
60
|
+
# 2.3.112
|
61
|
+
- fb messenger fix
|
62
|
+
|
63
|
+
# 2.3.111
|
64
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.67
|
65
|
+
- facebook messenger plugin added
|
66
|
+
|
67
|
+
# 2.3.110
|
68
|
+
- websocket fix ATTENTION change value by reference
|
69
|
+
- Bugfix: Cannot read property 'toString' of undefined at /usr/src/app/services/requestService.js:404
|
70
|
+
- Updated tiledesk/tiledesk-whatsapp-connector 0.1.40
|
71
|
+
- Implmented request /agent endpoint (also support request with empty deparment generated by direct agent/bot assignment with participants field)
|
72
|
+
- fixed bug: fields webhook_enabled and webhook_url was ignored on βpublishβ
|
73
|
+
|
74
|
+
# 2.3.109
|
75
|
+
- Added support gif mimetype for image endpoint
|
76
|
+
|
77
|
+
# 2.3.108
|
78
|
+
- BugFix Chat21 event emitter listener changes request attributes values by reference
|
79
|
+
- Restored populate for message endpoint
|
80
|
+
- Test attributes send message
|
81
|
+
|
82
|
+
# 2.3.107
|
83
|
+
- bugfix execPopulate message endpoint wrong attributes
|
84
|
+
- Dependency updated tiledesk-whatsapp-connector 0.1.39
|
85
|
+
|
86
|
+
|
87
|
+
# 2.3.106
|
88
|
+
@tiledesk/tiledesk-tybot-connector 0.1.63
|
89
|
+
{{dateFormat request.createdAt \"DD/MM/YYYY HH:mm:ss\"}}
|
90
|
+
# 2.3.105
|
91
|
+
- tiledesk/tiledesk-apps: 1.0.14
|
92
|
+
|
93
|
+
# 2.3.104
|
94
|
+
- apps module auth fix
|
95
|
+
|
96
|
+
# 2.3.103
|
97
|
+
- Fix image not found bug
|
98
|
+
|
99
|
+
# 2.3.102
|
100
|
+
- Fix image not found bug
|
101
|
+
|
102
|
+
# 2.3.101
|
103
|
+
- created property entity and endpoint
|
104
|
+
- JSON_BODY_LIMIT env variable fix
|
105
|
+
|
106
|
+
# 2.3.100
|
107
|
+
- added filter by tags for lead endpoint
|
108
|
+
|
109
|
+
# 2.3.99
|
110
|
+
- tags field changed to flat object
|
111
|
+
|
112
|
+
# 2.3.98
|
113
|
+
- Ocf fix
|
114
|
+
|
115
|
+
# 2.3.97
|
116
|
+
- Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.62
|
117
|
+
|
118
|
+
# 2.3.96
|
119
|
+
- image endpoint set content type and length headers
|
120
|
+
|
121
|
+
# 2.3.95
|
122
|
+
- Bugfix when a conversation has a first_text with \agent
|
123
|
+
|
124
|
+
# 2.3.94
|
125
|
+
- log fix
|
126
|
+
|
127
|
+
# 2.3.93
|
9
128
|
- subscriptionNotifier secret fix
|
10
129
|
|
11
130
|
# 2.3.92
|
package/models/profile.js
CHANGED
package/package.json
CHANGED
package/routes/email.js
CHANGED
@@ -32,6 +32,276 @@ router.post('/test/send',
|
|
32
32
|
|
33
33
|
});
|
34
34
|
|
35
|
+
|
36
|
+
if (process.env.ENABLE_TEST_EMAIL_ENDPOINT==true || process.env.ENABLE_TEST_EMAIL_ENDPOINT=="true") {
|
37
|
+
|
38
|
+
|
39
|
+
router.post('/test/sendNewAssignedRequestNotification',
|
40
|
+
async (req, res) => {
|
41
|
+
|
42
|
+
let to = req.body.to;
|
43
|
+
winston.debug("to",to);
|
44
|
+
|
45
|
+
let configEmail = req.body.config;
|
46
|
+
winston.debug("configEmail", configEmail);
|
47
|
+
|
48
|
+
let request = {
|
49
|
+
"_id" : "6316fe117c04320341200e8a",
|
50
|
+
"status" : 50,
|
51
|
+
"preflight" : true,
|
52
|
+
"hasBot" : false,
|
53
|
+
"participants" : [],
|
54
|
+
"priority" : "medium",
|
55
|
+
"request_id" : "support-group-123",
|
56
|
+
"first_text" : "first_text"
|
57
|
+
}
|
58
|
+
|
59
|
+
emailService.sendNewAssignedRequestNotification(to, request, req.project);
|
60
|
+
|
61
|
+
res.json({"status":"delivering"});
|
62
|
+
|
63
|
+
});
|
64
|
+
|
65
|
+
|
66
|
+
router.post('/test/sendNewAssignedAgentMessageEmailNotification',
|
67
|
+
async (req, res) => {
|
68
|
+
|
69
|
+
let to = req.body.to;
|
70
|
+
winston.debug("to",to);
|
71
|
+
|
72
|
+
let configEmail = req.body.config;
|
73
|
+
winston.debug("configEmail", configEmail);
|
74
|
+
|
75
|
+
let request = {
|
76
|
+
"_id" : "6316fe117c04320341200e8a",
|
77
|
+
"status" : 50,
|
78
|
+
"preflight" : true,
|
79
|
+
"hasBot" : false,
|
80
|
+
"participants" : [],
|
81
|
+
"priority" : "medium",
|
82
|
+
"request_id" : "support-group-123",
|
83
|
+
"first_text" : "first_text"
|
84
|
+
}
|
85
|
+
let message = {
|
86
|
+
"text": "text",
|
87
|
+
"request": request
|
88
|
+
}
|
89
|
+
//(to, request, project, message)
|
90
|
+
emailService.sendNewAssignedAgentMessageEmailNotification(to, request, req.project, message);
|
91
|
+
|
92
|
+
res.json({"status":"delivering"});
|
93
|
+
|
94
|
+
});
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
router.post('/test/sendNewPooledRequestNotification',
|
101
|
+
async (req, res) => {
|
102
|
+
|
103
|
+
let to = req.body.to;
|
104
|
+
winston.debug("to",to);
|
105
|
+
|
106
|
+
let configEmail = req.body.config;
|
107
|
+
winston.debug("configEmail", configEmail);
|
108
|
+
|
109
|
+
let request = {
|
110
|
+
"_id" : "6316fe117c04320341200e8a",
|
111
|
+
"status" : 50,
|
112
|
+
"preflight" : true,
|
113
|
+
"hasBot" : false,
|
114
|
+
"participants" : [],
|
115
|
+
"priority" : "medium",
|
116
|
+
"request_id" : "support-group-123",
|
117
|
+
"first_text" : "first_text"
|
118
|
+
}
|
119
|
+
|
120
|
+
emailService.sendNewPooledRequestNotification(to, request, req.project);
|
121
|
+
|
122
|
+
res.json({"status":"delivering"});
|
123
|
+
|
124
|
+
});
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
router.post('/test/sendNewPooledMessageEmailNotification',
|
131
|
+
async (req, res) => {
|
132
|
+
|
133
|
+
let to = req.body.to;
|
134
|
+
winston.debug("to",to);
|
135
|
+
|
136
|
+
let configEmail = req.body.config;
|
137
|
+
winston.debug("configEmail", configEmail);
|
138
|
+
|
139
|
+
let request = {
|
140
|
+
"_id" : "6316fe117c04320341200e8a",
|
141
|
+
"status" : 50,
|
142
|
+
"preflight" : true,
|
143
|
+
"hasBot" : false,
|
144
|
+
"participants" : [],
|
145
|
+
"priority" : "medium",
|
146
|
+
"request_id" : "support-group-123",
|
147
|
+
"first_text" : "first_text"
|
148
|
+
}
|
149
|
+
let message = {
|
150
|
+
"text": "text",
|
151
|
+
"request": request
|
152
|
+
}
|
153
|
+
|
154
|
+
emailService.sendNewPooledMessageEmailNotification(to, request, req.project, message);
|
155
|
+
|
156
|
+
res.json({"status":"delivering"});
|
157
|
+
|
158
|
+
});
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
router.post('/test/sendNewMessageNotification',
|
165
|
+
async (req, res) => {
|
166
|
+
|
167
|
+
let to = req.body.to;
|
168
|
+
winston.debug("to",to);
|
169
|
+
|
170
|
+
let configEmail = req.body.config;
|
171
|
+
winston.debug("configEmail", configEmail);
|
172
|
+
|
173
|
+
let request = {
|
174
|
+
"_id" : "6316fe117c04320341200e8a",
|
175
|
+
"status" : 50,
|
176
|
+
"preflight" : true,
|
177
|
+
"hasBot" : false,
|
178
|
+
"participants" : [],
|
179
|
+
"priority" : "medium",
|
180
|
+
"request_id" : "support-group-123",
|
181
|
+
"first_text" : "first_text"
|
182
|
+
}
|
183
|
+
let message = {
|
184
|
+
"text": "text",
|
185
|
+
"request": request
|
186
|
+
}
|
187
|
+
|
188
|
+
// sendNewMessageNotification(to, message, project, tokenQueryString, sourcePage)
|
189
|
+
emailService.sendNewMessageNotification(to, message, req.project, "tokenQueryString", "sourcePage");
|
190
|
+
|
191
|
+
res.json({"status":"delivering"});
|
192
|
+
|
193
|
+
});
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
router.post('/test/sendEmailChannelNotification',
|
198
|
+
async (req, res) => {
|
199
|
+
|
200
|
+
let to = req.body.to;
|
201
|
+
winston.debug("to",to);
|
202
|
+
|
203
|
+
let configEmail = req.body.config;
|
204
|
+
winston.debug("configEmail", configEmail);
|
205
|
+
|
206
|
+
let request = {
|
207
|
+
"_id" : "6316fe117c04320341200e8a",
|
208
|
+
"status" : 50,
|
209
|
+
"preflight" : true,
|
210
|
+
"hasBot" : false,
|
211
|
+
"participants" : [],
|
212
|
+
"priority" : "medium",
|
213
|
+
"request_id" : "support-group-123",
|
214
|
+
"first_text" : "first_text"
|
215
|
+
}
|
216
|
+
let message = {
|
217
|
+
"text": "text",
|
218
|
+
"request": request
|
219
|
+
}
|
220
|
+
|
221
|
+
// (to, message, project, tokenQueryString, sourcePage)
|
222
|
+
emailService.sendEmailChannelNotification(to, message, req.project, "tokenQueryString", "sourcePage");
|
223
|
+
|
224
|
+
res.json({"status":"delivering"});
|
225
|
+
|
226
|
+
});
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
router.post('/test/sendFollowerNotification',
|
232
|
+
async (req, res) => {
|
233
|
+
|
234
|
+
let to = req.body.to;
|
235
|
+
winston.debug("to",to);
|
236
|
+
|
237
|
+
let configEmail = req.body.config;
|
238
|
+
winston.debug("configEmail", configEmail);
|
239
|
+
|
240
|
+
let request = {
|
241
|
+
"_id" : "6316fe117c04320341200e8a",
|
242
|
+
"status" : 50,
|
243
|
+
"preflight" : true,
|
244
|
+
"hasBot" : false,
|
245
|
+
"participants" : [],
|
246
|
+
"priority" : "medium",
|
247
|
+
"request_id" : "support-group-123",
|
248
|
+
"first_text" : "first_text"
|
249
|
+
}
|
250
|
+
let message = {
|
251
|
+
"text": "text",
|
252
|
+
"request": request
|
253
|
+
}
|
254
|
+
|
255
|
+
emailService.sendFollowerNotification(to, message, req.project);
|
256
|
+
|
257
|
+
res.json({"status":"delivering"});
|
258
|
+
|
259
|
+
});
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
router.post('/test/sendRequestTranscript',
|
264
|
+
async (req, res) => {
|
265
|
+
|
266
|
+
let to = req.body.to;
|
267
|
+
winston.debug("to",to);
|
268
|
+
|
269
|
+
let configEmail = req.body.config;
|
270
|
+
winston.debug("configEmail", configEmail);
|
271
|
+
|
272
|
+
let request = {
|
273
|
+
"_id" : "6316fe117c04320341200e8a",
|
274
|
+
"status" : 50,
|
275
|
+
"preflight" : true,
|
276
|
+
"hasBot" : false,
|
277
|
+
"participants" : [],
|
278
|
+
"priority" : "medium",
|
279
|
+
"request_id" : "support-group-123",
|
280
|
+
"first_text" : "first_text",
|
281
|
+
createdAt: new Date()
|
282
|
+
|
283
|
+
}
|
284
|
+
let messages = [{
|
285
|
+
"text": "text",
|
286
|
+
"request": request,
|
287
|
+
createdAt: new Date()
|
288
|
+
}]
|
289
|
+
|
290
|
+
// sendRequestTranscript(to, messages, request, project)
|
291
|
+
|
292
|
+
|
293
|
+
emailService.sendRequestTranscript(to, messages, request, req.project);
|
294
|
+
|
295
|
+
res.json({"status":"delivering"});
|
296
|
+
|
297
|
+
});
|
298
|
+
|
299
|
+
|
300
|
+
}
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
35
305
|
//TODO add cc
|
36
306
|
router.post('/send',
|
37
307
|
async (req, res) => {
|
package/services/emailService.js
CHANGED
@@ -436,12 +436,15 @@ class EmailService {
|
|
436
436
|
// cambiare in [Nicky:Dashboard Support] Assigned Chat
|
437
437
|
// serve per aggiornare native... fai aggiornamento
|
438
438
|
|
439
|
-
let
|
439
|
+
let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New Assigned Chat`;
|
440
440
|
|
441
441
|
if (request.subject) {
|
442
|
-
|
442
|
+
subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
|
443
443
|
}
|
444
444
|
|
445
|
+
let subject = that.formatText("assignedRequestSubject", subjectDef, request, project.settings);
|
446
|
+
|
447
|
+
|
445
448
|
// if (request.ticket_id) {
|
446
449
|
// subject = `[Ticket #${request.ticket_id}] New Assigned Chat`;
|
447
450
|
// }
|
@@ -583,19 +586,21 @@ class EmailService {
|
|
583
586
|
}
|
584
587
|
|
585
588
|
|
586
|
-
let
|
589
|
+
let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New message`;
|
587
590
|
|
588
591
|
if (request.subject) {
|
589
|
-
|
592
|
+
subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
|
590
593
|
}
|
591
594
|
if (request.ticket_id) {
|
592
|
-
|
595
|
+
subjectDef = `[Ticket #${request.ticket_id}] New message`;
|
593
596
|
}
|
594
597
|
|
595
598
|
if (request.ticket_id && request.subject) {
|
596
|
-
|
599
|
+
subjectDef = `[Ticket #${request.ticket_id}] ${request.subject}`;
|
597
600
|
}
|
598
601
|
|
602
|
+
let subject = that.formatText("assignedEmailMessageSubject", subjectDef, request, project.settings);
|
603
|
+
|
599
604
|
|
600
605
|
|
601
606
|
that.send({
|
@@ -727,11 +732,15 @@ class EmailService {
|
|
727
732
|
}
|
728
733
|
}
|
729
734
|
|
730
|
-
let
|
735
|
+
let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New Pooled Chat`;
|
731
736
|
|
732
737
|
if (request.subject) {
|
733
|
-
|
738
|
+
subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
|
734
739
|
}
|
740
|
+
|
741
|
+
let subject = that.formatText("pooledRequestSubject", subjectDef, request, project.settings);
|
742
|
+
|
743
|
+
|
735
744
|
// if (request.ticket_id) {
|
736
745
|
// subject = `[Ticket #${request.ticket_id}] New Pooled Chat`;
|
737
746
|
// }
|
@@ -868,19 +877,21 @@ class EmailService {
|
|
868
877
|
}
|
869
878
|
|
870
879
|
|
871
|
-
let
|
880
|
+
let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New Message`;
|
872
881
|
|
873
882
|
if (request.subject) {
|
874
|
-
|
883
|
+
subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
|
875
884
|
}
|
876
885
|
if (request.ticket_id) {
|
877
|
-
|
886
|
+
subjectDef = `[Ticket #${request.ticket_id}] New Message`;
|
878
887
|
}
|
879
888
|
|
880
889
|
if (request.ticket_id && request.subject) {
|
881
|
-
|
890
|
+
subjectDef = `[Ticket #${request.ticket_id}] ${request.subject}`;
|
882
891
|
}
|
883
892
|
|
893
|
+
let subject = that.formatText("pooledEmailMessageSubject", subjectDef, request, project.settings);
|
894
|
+
|
884
895
|
|
885
896
|
that.send({
|
886
897
|
messageId: messageId,
|
@@ -1012,6 +1023,8 @@ class EmailService {
|
|
1012
1023
|
}
|
1013
1024
|
|
1014
1025
|
|
1026
|
+
let subject = that.formatText("newMessageSubject", `[Tiledesk ${project ? project.name : '-'}] New Offline Message`, message, project.settings);
|
1027
|
+
|
1015
1028
|
that.send({
|
1016
1029
|
messageId: messageId,
|
1017
1030
|
// sender: message.senderFullname, //must be an email
|
@@ -1020,7 +1033,7 @@ class EmailService {
|
|
1020
1033
|
replyTo: replyTo,
|
1021
1034
|
inReplyTo: inReplyTo,
|
1022
1035
|
references: references,
|
1023
|
-
subject
|
1036
|
+
subject:subject, //TODO (anche per il cloud) aggiungere variabile env per cambiare i subjects
|
1024
1037
|
html:html,
|
1025
1038
|
config:configEmail,
|
1026
1039
|
headers: headers
|
@@ -1166,17 +1179,18 @@ class EmailService {
|
|
1166
1179
|
}
|
1167
1180
|
}
|
1168
1181
|
|
1169
|
-
|
1182
|
+
//gmail uses subject
|
1183
|
+
let subject = that.formatText("ticketSubject", `R: ${message.request ? message.request.subject : '-'}`, message, project.settings);
|
1170
1184
|
|
1171
1185
|
//ocf
|
1172
1186
|
//prod //pre
|
1173
|
-
if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
}
|
1187
|
+
// if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
|
1188
|
+
// subject = "Richiesta di supporto #" + message.request.ticket_id;
|
1189
|
+
// if (message.request.subject) {
|
1190
|
+
// subject = subject + " - " + message.request.subject;
|
1191
|
+
// }
|
1192
|
+
// // console.log("subject",subject);
|
1193
|
+
// }
|
1180
1194
|
|
1181
1195
|
// if (message.request && message.request.lead && message.request.lead.email) {
|
1182
1196
|
// winston.info("message.request.lead.email: " + message.request.lead.email);
|
@@ -1349,6 +1363,8 @@ class EmailService {
|
|
1349
1363
|
}
|
1350
1364
|
|
1351
1365
|
|
1366
|
+
let subject = that.formatText("newMessageFollowerSubject", `${message.request ? message.request.ticket_id : '-'}`, message, project.settings);
|
1367
|
+
|
1352
1368
|
|
1353
1369
|
|
1354
1370
|
that.send({
|
@@ -1361,7 +1377,7 @@ class EmailService {
|
|
1361
1377
|
inReplyTo: inReplyTo,
|
1362
1378
|
references: references,
|
1363
1379
|
// subject:`${message.request ? message.request.subject : '-'}`,
|
1364
|
-
subject
|
1380
|
+
subject: subject, //gmail uses subject
|
1365
1381
|
text:html,
|
1366
1382
|
html:html,
|
1367
1383
|
config:configEmail,
|
@@ -1814,15 +1830,17 @@ async sendRequestTranscript(to, messages, request, project) {
|
|
1814
1830
|
|
1815
1831
|
//custom ocf here
|
1816
1832
|
// console.log("ocf",project._id);
|
1817
|
-
let subject = '[Tiledesk] Transcript';
|
1833
|
+
let subject = that.formatText("sendTranscriptSubject", '[Tiledesk] Transcript', request, project.settings);
|
1834
|
+
|
1818
1835
|
//prod //pre
|
1819
|
-
if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
|
1820
|
-
|
1821
|
-
|
1822
|
-
|
1823
|
-
|
1824
|
-
|
1825
|
-
|
1836
|
+
// if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
|
1837
|
+
// subject = "Segnalazione #" + request.ticket_id;
|
1838
|
+
// // subject = "Richiesta di supporto #" + request.ticket_id;
|
1839
|
+
// if (request.subject) {
|
1840
|
+
// subject = subject + " - " + request.subject;
|
1841
|
+
// }
|
1842
|
+
// // console.log("subject",subject);
|
1843
|
+
// }
|
1826
1844
|
// hcustomization.emailTranscript(to, subject, html, configEmail)
|
1827
1845
|
|
1828
1846
|
that.send({from:from, to:to, subject: subject, html:html, config: configEmail});
|
@@ -1830,6 +1848,72 @@ async sendRequestTranscript(to, messages, request, project) {
|
|
1830
1848
|
|
1831
1849
|
}
|
1832
1850
|
|
1851
|
+
formatText(templateName, defaultText, payload, settings) {
|
1852
|
+
|
1853
|
+
let text = defaultText;
|
1854
|
+
winston.verbose("formatText defaultText: "+ defaultText);
|
1855
|
+
|
1856
|
+
let template = this.getTemplate(templateName, settings);
|
1857
|
+
|
1858
|
+
winston.verbose("formatText template: "+ template);
|
1859
|
+
|
1860
|
+
if (template) {
|
1861
|
+
text = template;
|
1862
|
+
}
|
1863
|
+
|
1864
|
+
var baseScope = JSON.parse(JSON.stringify(this));
|
1865
|
+
delete baseScope.pass;
|
1866
|
+
|
1867
|
+
winston.verbose("formatText text: "+ text);
|
1868
|
+
|
1869
|
+
var templateHand = handlebars.compile(text);
|
1870
|
+
|
1871
|
+
var replacements = {
|
1872
|
+
payload: payload,
|
1873
|
+
baseScope: baseScope,
|
1874
|
+
test: "test"
|
1875
|
+
};
|
1876
|
+
|
1877
|
+
var textTemplate = templateHand(replacements);
|
1878
|
+
winston.verbose("formatText textTemplate: "+ textTemplate);
|
1879
|
+
|
1880
|
+
return textTemplate;
|
1881
|
+
|
1882
|
+
}
|
1883
|
+
|
1884
|
+
getTemplate(templateName, settings) {
|
1885
|
+
|
1886
|
+
var that = this;
|
1887
|
+
winston.verbose('getTemplate formatSubject: ' + JSON.stringify(settings));
|
1888
|
+
|
1889
|
+
|
1890
|
+
winston.verbose('getTemplate settings.email.templates: ',settings.email.templates);
|
1891
|
+
if (settings && settings.email && settings.email.templates) {
|
1892
|
+
|
1893
|
+
var templates = settings.email.templates;
|
1894
|
+
winston.verbose('getTemplate templates: ',templates);
|
1895
|
+
|
1896
|
+
var templateDbName = templateName.replace(".subject", "");
|
1897
|
+
winston.verbose('getTemplate templateDbName: '+templateDbName);
|
1898
|
+
|
1899
|
+
|
1900
|
+
var template = templates[templateDbName];
|
1901
|
+
winston.verbose('getTemplate template: '+template);
|
1902
|
+
|
1903
|
+
if (template) {
|
1904
|
+
// that.callback(template);
|
1905
|
+
// return new Promise(function (resolve, reject) {
|
1906
|
+
// return resolve(template);
|
1907
|
+
return template;
|
1908
|
+
// });
|
1909
|
+
}else {
|
1910
|
+
return undefined;
|
1911
|
+
}
|
1912
|
+
} else {
|
1913
|
+
return undefined;
|
1914
|
+
}
|
1915
|
+
|
1916
|
+
}
|
1833
1917
|
|
1834
1918
|
|
1835
1919
|
|