1
|
package eu.dnetlib.goldoa.service.utils;
|
2
|
|
3
|
import eu.dnetlib.goldoa.domain.*;
|
4
|
import eu.dnetlib.goldoa.service.dao.UserDAO;
|
5
|
import org.apache.log4j.Logger;
|
6
|
import org.springframework.beans.factory.annotation.Autowired;
|
7
|
import org.springframework.beans.factory.annotation.Value;
|
8
|
import org.springframework.stereotype.Service;
|
9
|
|
10
|
import javax.mail.MessagingException;
|
11
|
import java.text.SimpleDateFormat;
|
12
|
import java.util.List;
|
13
|
|
14
|
/*
|
15
|
* Created by antleb on 3/9/15.
|
16
|
*/
|
17
|
|
18
|
|
19
|
@Service("emailUtils")
|
20
|
public class EmailUtilsImpl implements EmailUtils {
|
21
|
private static Logger logger = Logger.getLogger(EmailUtilsImpl.class);
|
22
|
|
23
|
@Autowired
|
24
|
UserDAO UserDAO;
|
25
|
@Autowired
|
26
|
private MailLibrary mailLibrary;
|
27
|
|
28
|
|
29
|
@Value("${goldoa.baseAddress}")
|
30
|
private String baseAddress;
|
31
|
@Value("${goldoa.termsOfAgreementUrl}")
|
32
|
private String termsOfAgreementUrl;
|
33
|
|
34
|
String contactLink = "postgrantpilotinfo@openaire.eu";
|
35
|
|
36
|
@Override
|
37
|
public void sendActivationEmail(User user, String token) throws MessagingException {
|
38
|
String link = baseAddress + "/GoldOAPortal.html?token=" + token + "&email=" + user.getEmail() + "#activate";
|
39
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Account activation";
|
40
|
|
41
|
String message = "Dear " + user.getFirstname() + " " + user.getLastname() + ",\n" +
|
42
|
"Welcome to the OpenAIRE FP7 post-grant Gold OA Pilot service, \n" +
|
43
|
"\n" +
|
44
|
"Thank you for signing up. To verify your account, please click on the link below:\n" +
|
45
|
link + "\n" +
|
46
|
"\n" +
|
47
|
"Best,\n" +
|
48
|
"The OpenAIRE team";
|
49
|
mailLibrary.sendEmail(user.getEmail(), subject, message);
|
50
|
}
|
51
|
|
52
|
@Override
|
53
|
public void sendResetPasswordEmail(User user, String password) throws MessagingException {
|
54
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] New password";
|
55
|
String message = "Dear " + user.getFirstname() + " " + user.getLastname() + ",\n" +
|
56
|
"Your new password is '" + password + "'. You can change it to one of your liking by editing your profile.\n" +
|
57
|
"\n" +
|
58
|
"Best,\n" +
|
59
|
"The OpenAIRE team";
|
60
|
|
61
|
mailLibrary.sendEmail(user.getEmail(), subject, message);
|
62
|
}
|
63
|
|
64
|
@Override
|
65
|
public void sendRequesterOKEmail(Request request) throws MessagingException {
|
66
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request at " + new SimpleDateFormat("yyyy-MM-dd").format(request.getDate());
|
67
|
String link = baseAddress + "/#existingFundingRequests";
|
68
|
|
69
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
70
|
"\n" +
|
71
|
"We have received a request to fund for the following:\n" +
|
72
|
"\n" +
|
73
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
74
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
75
|
|
76
|
if (request.getPublication().getJournal() != null) {
|
77
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
78
|
|
79
|
if (request.getPublication().getJournal().getPublisher() != null)
|
80
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
81
|
|
82
|
text += "\n";
|
83
|
} else if (request.getPublication().getPublisher() != null)
|
84
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
85
|
|
86
|
|
87
|
String currencyName = null;
|
88
|
if(request.getCurrency() != null )
|
89
|
currencyName = request.getCurrency().getName();
|
90
|
|
91
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
92
|
"\n" +
|
93
|
"At a first glance it seems that this is an eligible request and it will be processed asap. We will notify you if you need to take further actions and we will you keep you posted on its status.\n" +
|
94
|
"\n" +
|
95
|
"You may click on the link below at any time to follow the status of your request:\n" +
|
96
|
link + "\n" +
|
97
|
" \n" +
|
98
|
"Best,\n" +
|
99
|
"The OpenAIRE team";
|
100
|
|
101
|
mailLibrary.sendEmail(request.getUser().getEmail(), subject, text);
|
102
|
}
|
103
|
|
104
|
@Override
|
105
|
public void sendModeratorOKEmail(Request request, User moderator) throws MessagingException {
|
106
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] New funding request (" + request.getId() + ")";
|
107
|
String link = baseAddress + "/#monitorFundingRequests";
|
108
|
|
109
|
|
110
|
String text = "Dear moderator,\n" +
|
111
|
"\n" +
|
112
|
"We have received a request to fund for the following:\n" +
|
113
|
"\n" +
|
114
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
115
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
116
|
|
117
|
if (request.getPublication().getJournal() != null) {
|
118
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
119
|
|
120
|
if (request.getPublication().getJournal().getPublisher() != null)
|
121
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
122
|
|
123
|
text += "\n";
|
124
|
} else if (request.getPublication().getPublisher() != null)
|
125
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
126
|
|
127
|
|
128
|
String currencyName = null;
|
129
|
if(request.getCurrency() != null )
|
130
|
currencyName = request.getCurrency().getName();
|
131
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
132
|
"\n" +
|
133
|
"At a first glance it seems that this is an eligible request. Please visit the link below to validate and process the request:\n" +
|
134
|
link + "\n" +
|
135
|
" \n" +
|
136
|
"Best,\n" +
|
137
|
"The OpenAIRE team";
|
138
|
|
139
|
mailLibrary.sendEmail(moderator.getEmail(), subject, text);
|
140
|
}
|
141
|
|
142
|
@Override
|
143
|
public void sendRequesterIFFYEmail(Request request) throws MessagingException {
|
144
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request at " + new SimpleDateFormat("yyyy-MM-dd").format(request.getDate());
|
145
|
|
146
|
String text = "Hello " + request.getUser().getFirstname() + ",\n" +
|
147
|
" your request will be processed soon.The terms of agreement can be found here: " + termsOfAgreementUrl + "\n" +
|
148
|
" The OpenAIRE Gold Open Access team.";
|
149
|
|
150
|
mailLibrary.sendEmail(request.getUser().getEmail(), subject, text);
|
151
|
}
|
152
|
|
153
|
@Override
|
154
|
public void sendModeratorIFFYEmail(Request request, User moderator) throws MessagingException {
|
155
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] New funding request (" + request.getId() + ")";
|
156
|
String link = baseAddress + "/#monitorFundingRequests";
|
157
|
|
158
|
|
159
|
String text = "Dear moderator,\n" +
|
160
|
"\n" +
|
161
|
"A new request has been submitted that needs your intervention:\n" +
|
162
|
"\n" +
|
163
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
164
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
165
|
|
166
|
if (request.getPublication().getJournal() != null) {
|
167
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
168
|
|
169
|
if (request.getPublication().getJournal().getPublisher() != null)
|
170
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
171
|
|
172
|
text += "\n";
|
173
|
} else if (request.getPublication().getPublisher() != null)
|
174
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
175
|
|
176
|
|
177
|
String currencyName = null;
|
178
|
if(request.getCurrency() != null )
|
179
|
currencyName = request.getCurrency().getName();
|
180
|
|
181
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
182
|
"\n" +
|
183
|
"At a first glance it seems that this is an eligible request. Please visit the link below to validate and process the request:\n" +
|
184
|
link + "\n" +
|
185
|
" \n" +
|
186
|
"Best,\n" +
|
187
|
"The OpenAIRE team";
|
188
|
|
189
|
mailLibrary.sendEmail(moderator.getEmail(), subject, text);
|
190
|
}
|
191
|
|
192
|
@Override
|
193
|
public void sendRequesterInitiallyApprovedEmail(Request request) throws MessagingException {
|
194
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request at " + new SimpleDateFormat("yyyy-MM-dd").format(request.getDate()) + " has been initially approved";
|
195
|
String link = baseAddress + "/#existingFundingRequests";
|
196
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
197
|
"\n" +
|
198
|
"The following request is eligible and has been initially approved for funding but you must edit it before its final approval. Please, see the moderator's comments below.\n" +
|
199
|
"\n" +
|
200
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
201
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
202
|
|
203
|
if (request.getPublication().getJournal() != null) {
|
204
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
205
|
|
206
|
if (request.getPublication().getJournal().getPublisher() != null)
|
207
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
208
|
|
209
|
text += "\n";
|
210
|
} else if (request.getPublication().getPublisher() != null)
|
211
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
212
|
|
213
|
|
214
|
String currencyName = null;
|
215
|
if(request.getCurrency() != null )
|
216
|
currencyName = request.getCurrency().getName();
|
217
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
218
|
"\n" +
|
219
|
"If no invoice has been uploaded, or the publisher bank information is missing, our accounting office may put the request on hold until all information is in the system.\n" +
|
220
|
"\n";
|
221
|
|
222
|
text += formatComments(request);
|
223
|
text += "You may click on the link below at any time to follow the status of your request:\n" +
|
224
|
link + "\n" +
|
225
|
" \n" +
|
226
|
"Best,\n" +
|
227
|
"The OpenAIRE team";
|
228
|
|
229
|
mailLibrary.sendEmail(request.getUser().getEmail(), subject, text);
|
230
|
}
|
231
|
|
232
|
@Override
|
233
|
public void sendRequesterApprovedEmail(Request request) throws MessagingException {
|
234
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request at " + new SimpleDateFormat("yyyy-MM-dd").format(request.getDate()) + " has been approved";
|
235
|
String link = baseAddress + "/#existingFundingRequests";
|
236
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
237
|
"\n" +
|
238
|
"The following request is eligible and has been approved for funding:\n" +
|
239
|
"\n" +
|
240
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
241
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
242
|
|
243
|
if (request.getPublication().getJournal() != null) {
|
244
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
245
|
|
246
|
if (request.getPublication().getJournal().getPublisher() != null)
|
247
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
248
|
|
249
|
text += "\n";
|
250
|
} else if (request.getPublication().getPublisher() != null)
|
251
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
252
|
|
253
|
|
254
|
String currencyName = null;
|
255
|
if(request.getCurrency() != null )
|
256
|
currencyName = request.getCurrency().getName();
|
257
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
258
|
"\n" +
|
259
|
"If no invoice has been uploaded, or the publisher bank information is missing, our accounting office may put the request on hold until all information is in the system.\n" +
|
260
|
"\n";
|
261
|
|
262
|
text += formatComments(request);
|
263
|
text += "You may click on the link below at any time to follow the status of your request:\n" +
|
264
|
link + "\n" +
|
265
|
" \n" +
|
266
|
"Best,\n" +
|
267
|
"The OpenAIRE team";
|
268
|
System.out.println(text);
|
269
|
mailLibrary.sendEmail(request.getUser().getEmail(), subject, text);
|
270
|
}
|
271
|
|
272
|
@Override
|
273
|
public void sendRequesterRejectedEmail(Request request) throws MessagingException {
|
274
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request at " + new SimpleDateFormat("yyyy-MM-dd").format(request.getDate()) + " has been rejected";
|
275
|
String link = baseAddress + "/#existingFundingRequests";
|
276
|
|
277
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
278
|
"\n" +
|
279
|
"The following request has been rejected:\n" +
|
280
|
"\n" +
|
281
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
282
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
283
|
|
284
|
if (request.getPublication().getJournal() != null) {
|
285
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
286
|
|
287
|
if (request.getPublication().getJournal().getPublisher() != null)
|
288
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
289
|
|
290
|
text += "\n";
|
291
|
} else if (request.getPublication().getPublisher() != null)
|
292
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
293
|
|
294
|
String currencyName = null;
|
295
|
if(request.getCurrency() != null )
|
296
|
currencyName = request.getCurrency().getName();
|
297
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
298
|
"\n";
|
299
|
text += formatComments(request);
|
300
|
text += "You may click on the link below at any time to find more information:\n" +
|
301
|
link + "\n" +
|
302
|
" \n" +
|
303
|
"Best,\n" +
|
304
|
"The OpenAIRE team";
|
305
|
|
306
|
mailLibrary.sendEmail(request.getUser().getEmail(), subject, text);
|
307
|
}
|
308
|
|
309
|
@Override
|
310
|
public void sendModeratorNewBudgetEmail(User moderator, Budget budget) throws MessagingException {
|
311
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] New budget request";
|
312
|
|
313
|
String text = "Hello " + moderator.getFirstname() + ",\n" +
|
314
|
" A new budget request by " + budget.getUser().getFirstname() + " " + budget.getUser().getLastname() + " has been submitted!\n" +
|
315
|
" The OpenAIRE Gold Open Access team.";
|
316
|
|
317
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
318
|
}
|
319
|
|
320
|
@Override
|
321
|
public void sendUserNewBudgetEmail(Budget budget) throws MessagingException {
|
322
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] New budget request";
|
323
|
|
324
|
String text = "Hello " + budget.getUser().getFirstname() + ",\n" +
|
325
|
" Your budget request has been submitted. We'll process it as soon as possible!\n" +
|
326
|
" The OpenAIRE Gold Open Access team.";
|
327
|
|
328
|
mailLibrary.sendEmail(new String[]{budget.getUser().getEmail()}, subject, text);
|
329
|
}
|
330
|
|
331
|
@Override
|
332
|
public void sendUserAcceptedBudgetEmail(Budget budget) throws MessagingException {
|
333
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your budget request";
|
334
|
|
335
|
String text = "Hello " + budget.getUser().getFirstname() + ",\n" +
|
336
|
" Your budget request has been accepted! Spend them wisely!\n" +
|
337
|
" The OpenAIRE Gold Open Access team.";
|
338
|
|
339
|
mailLibrary.sendEmail(new String[]{budget.getUser().getEmail()}, subject, text);
|
340
|
}
|
341
|
|
342
|
@Override
|
343
|
public void sendModeratorAcceptedBudgetEmail(User moderator, Budget budget) throws MessagingException {
|
344
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Budget request accepted";
|
345
|
|
346
|
String text = "Hello " + moderator.getFirstname() + ",\n" +
|
347
|
" A budget request by " + budget.getUser().getFirstname() + " " + budget.getUser().getLastname() + " has been accepted!\n" +
|
348
|
" The OpenAIRE Gold Open Access team.";
|
349
|
|
350
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
351
|
}
|
352
|
|
353
|
@Override
|
354
|
public void sendUserRejectedBudgetEmail(Budget budget) throws MessagingException {
|
355
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your budget request";
|
356
|
|
357
|
String text = "Hello " + budget.getUser().getFirstname() + ",\n" +
|
358
|
" Your budget request has been rejected :(\n" +
|
359
|
" The OpenAIRE Gold Open Access team.";
|
360
|
|
361
|
mailLibrary.sendEmail(new String[]{budget.getUser().getEmail()}, subject, text);
|
362
|
}
|
363
|
|
364
|
@Override
|
365
|
public void sendModeratorRejectedBudgetEmail(User moderator, Budget budget) throws MessagingException {
|
366
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Budget request rejected";
|
367
|
|
368
|
String text = "Hello " + moderator.getFirstname() + ",\n" +
|
369
|
" A budget request by " + budget.getUser().getFirstname() + " " + budget.getUser().getLastname() + " has been rejected.\n" +
|
370
|
" The OpenAIRE Gold Open Access team.";
|
371
|
|
372
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
373
|
}
|
374
|
|
375
|
@Override
|
376
|
public void sendUserRoleAcceptedEmail(User user, Role role) throws MessagingException {
|
377
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] " + role.getRole() + " status granted";
|
378
|
|
379
|
String text = "Dear " + user.getFirstname() + " " + user.getLastname() + ",\n" +
|
380
|
"\n" +
|
381
|
"You have been upgraded/granted to the " + role.getRole() + " status.\n" +
|
382
|
"\n" +
|
383
|
"Best,\n" +
|
384
|
"The OpenAIRE team";
|
385
|
|
386
|
mailLibrary.sendEmail(new String[]{user.getEmail()}, subject, text);
|
387
|
}
|
388
|
|
389
|
@Override
|
390
|
public void sendModeratorRoleAcceptedEmail(User moderator, User user, Role role) throws MessagingException {
|
391
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] " + role.getRole() + " status granted to user " + user.getFirstname() + " " + user.getLastname();
|
392
|
|
393
|
String text = "Dear moderator,\n" +
|
394
|
"\n" +
|
395
|
"User " + user.getFirstname() + " " + user.getLastname();
|
396
|
if (user.getAffiliations().size() > 0 && user.getAffiliations().get(0).getOrganization() != null &&
|
397
|
user.getAffiliations().get(0).getOrganization().getName() != null)
|
398
|
text += " from organization " + user.getAffiliations().get(0).getOrganization().getName();
|
399
|
text += " has been upgraded/granted the " + role.getRole() + " status.\n" +
|
400
|
" \n" +
|
401
|
"Best,\n" +
|
402
|
"The OpenAIRE team";
|
403
|
|
404
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
405
|
}
|
406
|
|
407
|
@Override
|
408
|
public void sendUserRoleRejectedEmail(User user, Role role) throws MessagingException {
|
409
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] " + role.getRole() + " status not granted";
|
410
|
// TODO use contact us link when ready
|
411
|
String link = baseAddress + "/#home";
|
412
|
|
413
|
String text = "Dear " + user.getFirstname() + " " + user.getLastname() + ",\n" +
|
414
|
"\n" +
|
415
|
"You have not been upgraded/granted the " + role.getRole() + " status.\n" +
|
416
|
"\n" +
|
417
|
"Contact us at " + link + " if you need further information.\n" +
|
418
|
" \n" +
|
419
|
"Best,\n" +
|
420
|
"The OpenAIRE team";
|
421
|
|
422
|
mailLibrary.sendEmail(new String[]{user.getEmail()}, subject, text);
|
423
|
}
|
424
|
|
425
|
@Override
|
426
|
public void sendModeratorRoleRejectedEmail(User moderator, User user, Role role) throws MessagingException {
|
427
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] " + role.getRole() + " status NOT granted to user " + user.getFirstname() + " " + user.getLastname();
|
428
|
|
429
|
String text = "Dear moderator,\n" +
|
430
|
"\n" +
|
431
|
"User " + user.getFirstname() + " " + user.getLastname();
|
432
|
if (user.getAffiliations().size() > 0 && user.getAffiliations().get(0).getOrganization() != null
|
433
|
&& user.getAffiliations().get(0).getOrganization().getName() != null)
|
434
|
text += " from organization " + user.getAffiliations().get(0).getOrganization().getName();
|
435
|
text += "has not been upgraded/granted the " + role.getRole() + " status.\n" +
|
436
|
" \n" +
|
437
|
"Best,\n" +
|
438
|
"The OpenAIRE team";
|
439
|
|
440
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
441
|
}
|
442
|
|
443
|
@Override
|
444
|
public void sendUserRoleRequestedEmail(User user, List<Role> roles) throws MessagingException {
|
445
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] ";
|
446
|
for (Role role : roles) {
|
447
|
subject += role.getRole() + ", ";
|
448
|
}
|
449
|
subject = subject.substring(0, subject.length() - 2);
|
450
|
subject += " status upgrade requested";
|
451
|
// TODO use contact us link when ready
|
452
|
String link = baseAddress + "/#home";
|
453
|
|
454
|
String text = "Dear " + user.getFirstname() + " " + user.getLastname() + ",\n" +
|
455
|
"\n" +
|
456
|
"You have requested to upgrade your status to ";
|
457
|
for (Role role : roles) {
|
458
|
text += role.getRole() + ", ";
|
459
|
}
|
460
|
text = text.substring(0, text.length() - 2);
|
461
|
text += "\n" +
|
462
|
"We will process your request asap.\n" +
|
463
|
"\n" +
|
464
|
"If you don't hear us from us within the next few days, or need further information do not hesitate to contact us at " + link + ".\n" +
|
465
|
" \n" +
|
466
|
"Best,\n" +
|
467
|
"The OpenAIRE team";
|
468
|
|
469
|
System.out.println(text);
|
470
|
mailLibrary.sendEmail(new String[]{user.getEmail()}, subject, text);
|
471
|
}
|
472
|
|
473
|
@Override
|
474
|
public void sendModeratorRoleRequestedEmail(User moderator, User user, List<Role> roles) throws MessagingException {
|
475
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] ";
|
476
|
for (Role role : roles) {
|
477
|
subject += role.getRole() + ", ";
|
478
|
}
|
479
|
subject = subject.substring(0, subject.length() - 2);
|
480
|
subject += " status upgrade requested by user " + user.getFirstname() + " " + user.getLastname();
|
481
|
|
482
|
String text = "Dear moderator,\n" +
|
483
|
"\n" +
|
484
|
"User " + user.getFirstname() + " " + user.getLastname();
|
485
|
if (user.getAffiliations().size() > 0 && user.getAffiliations().get(0).getOrganization() != null
|
486
|
&& user.getAffiliations().get(0).getOrganization().getName() != null)
|
487
|
text += " from organization " + user.getAffiliations().get(0).getOrganization().getName();
|
488
|
text += " has requested to upgraded/be granted the ";
|
489
|
for (Role role : roles) {
|
490
|
text += role.getRole() + ", ";
|
491
|
}
|
492
|
text = text.substring(0, text.length() - 2);
|
493
|
text += " status.\n\n" +
|
494
|
"Best,\n" +
|
495
|
"The OpenAIRE team";
|
496
|
|
497
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
498
|
}
|
499
|
|
500
|
@Override
|
501
|
public void sendRequesterInvoiceNotification(Request request) throws MessagingException {
|
502
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request " + request.getId() + " - missing invoice";
|
503
|
// TODO use contact us link when ready
|
504
|
String requestLink = baseAddress + "/#existingFundingRequests";
|
505
|
|
506
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
507
|
"\n" +
|
508
|
"The following request has been approved for funding but we are missing the invoice:\n" +
|
509
|
"\n" +
|
510
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
511
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
512
|
|
513
|
if (request.getPublication().getJournal() != null) {
|
514
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
515
|
|
516
|
if (request.getPublication().getJournal().getPublisher() != null)
|
517
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
518
|
|
519
|
text += "\n";
|
520
|
} else if (request.getPublication().getPublisher() != null)
|
521
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
522
|
|
523
|
String currencyName = null;
|
524
|
if(request.getCurrency() != null )
|
525
|
currencyName = request.getCurrency().getName();
|
526
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
527
|
"\n" +
|
528
|
"Please make sure that either you or the publisher uploads the invoice in our system. Unless you do so, the request will be left in a pending state.\n" +
|
529
|
"\n" +
|
530
|
"All invoices must be addressed to: \n" +
|
531
|
"\"\"Athena\"\" Research Centre\n" +
|
532
|
"Artemidos 6 & Epidavrou\n" +
|
533
|
"GR-151 25, Athens - GREECE\n" +
|
534
|
"Phone: +30 210 6875 300 Fax +30 210 6875 485\n" +
|
535
|
"VAT NUMBER: EL999723442\n" +
|
536
|
"\n";
|
537
|
text += formatComments(request);
|
538
|
text += "Click on the link below at any time to follow the status of your request:\n" +
|
539
|
requestLink + "\n" +
|
540
|
"\n" +
|
541
|
"Feel free to contact us at " + contactLink + " if you need further information.\n" +
|
542
|
" \n" +
|
543
|
"Best,\n" +
|
544
|
"The OpenAIRE team";
|
545
|
|
546
|
mailLibrary.sendEmail(new String[]{request.getUser().getEmail()}, subject, text);
|
547
|
}
|
548
|
|
549
|
@Override
|
550
|
public void sendPublisherInvoiceNotification(Request request) throws MessagingException {
|
551
|
Publisher publisher = request.getPublication().getPublisher() != null ? request.getPublication().getPublisher() : request.getPublication().getJournal().getPublisher();
|
552
|
String publisherEmail = null;
|
553
|
|
554
|
if (request.getPublisher().getEmail() != null)
|
555
|
publisherEmail = request.getPublisher().getEmail();
|
556
|
else {
|
557
|
if (publisher != null)
|
558
|
publisherEmail = publisher.getEmail();
|
559
|
}
|
560
|
|
561
|
if (publisherEmail != null) {
|
562
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Funding request " + request.getId() + " - missing invoice";
|
563
|
// TODO use contact us link when ready
|
564
|
String requestLink = baseAddress + "/#existingFundingRequests";
|
565
|
User contact;
|
566
|
String text;
|
567
|
|
568
|
if (publisher != null && publisher.getContacts().get(0) != null && publisher.getContacts().get(0).getEmail() != null) {
|
569
|
contact = UserDAO.getUserByEmail(publisher.getContacts().get(0).getEmail());
|
570
|
text = "Dear " + contact.getFirstname() + " " + contact.getLastname() + ",\n";
|
571
|
} else {
|
572
|
text = "Dear Madame/Sir,\n";
|
573
|
}
|
574
|
|
575
|
text += "The following request by " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + " has been approved for funding but we are missing the invoice:\n" +
|
576
|
"\n" +
|
577
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
578
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
579
|
|
580
|
if (request.getPublication().getJournal() != null) {
|
581
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
582
|
|
583
|
if (request.getPublication().getJournal().getPublisher() != null)
|
584
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
585
|
|
586
|
text += "\n";
|
587
|
} else if (request.getPublication().getPublisher() != null)
|
588
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
589
|
|
590
|
text += "Requested funding: " + request.getFundingrequested() + " " + request.getCurrency().getName() + "\n" +
|
591
|
"\n" +
|
592
|
"If you haven't done so already, sign in our system and see how to upload the invoice. Unless you or do so, the request will be left in a pending state.\n" +
|
593
|
"\n" +
|
594
|
"All invoices must be addressed to: \n" +
|
595
|
"\"\"Athena\"\" Research Centre\n" +
|
596
|
"Artemidos 6 & Epidavrou\n" +
|
597
|
"GR-151 25, Athens - GREECE\n" +
|
598
|
"Phone: +30 210 6875 300 Fax +30 210 6875 485\n" +
|
599
|
"VAT NUMBER: EL999723442\n" +
|
600
|
"\n";
|
601
|
|
602
|
text += formatComments(request);
|
603
|
text += "Click on the link below at any time to follow the status of this request:\n" +
|
604
|
requestLink + "\n" +
|
605
|
"\n" +
|
606
|
"Feel free to contact us at " + contactLink + " if you need further information.\n" +
|
607
|
" \n" +
|
608
|
"Best,\n" +
|
609
|
"The OpenAIRE team";
|
610
|
|
611
|
mailLibrary.sendEmail(new String[]{publisherEmail}, subject, text);
|
612
|
}
|
613
|
}
|
614
|
|
615
|
@Override
|
616
|
public void sendAccountingRequestApprovedEmail(User User, Request request) throws MessagingException {
|
617
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Funding request " + request.getId() + " approved";
|
618
|
// TODO use contact us link when ready
|
619
|
String requestLink = baseAddress + "/#accountingMonitorFundingRequests";
|
620
|
|
621
|
String text = "Dear Accounting Officer,\n" +
|
622
|
"\n" +
|
623
|
"The following request has been approved for funding:\n" +
|
624
|
"\n" +
|
625
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
626
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
627
|
|
628
|
if (request.getPublication().getJournal() != null) {
|
629
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
630
|
|
631
|
if (request.getPublication().getJournal().getPublisher() != null)
|
632
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
633
|
|
634
|
text += "\n";
|
635
|
} else if (request.getPublication().getPublisher() != null)
|
636
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
637
|
|
638
|
String currencyName = null;
|
639
|
if(request.getCurrency() != null )
|
640
|
currencyName = request.getCurrency().getName();
|
641
|
|
642
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
643
|
"\n";
|
644
|
text += "Click on the link below to visit the publication data and related accounting info:\n" +
|
645
|
requestLink + "\n" +
|
646
|
"\n" +
|
647
|
"Best,\n" +
|
648
|
"The OpenAIRE team";
|
649
|
|
650
|
mailLibrary.sendEmail(new String[]{User.getEmail()}, subject, text);
|
651
|
}
|
652
|
|
653
|
@Override
|
654
|
public void sendRequesterPaidEmail(Request request) throws MessagingException {
|
655
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request " + request.getId() + " has been paid";
|
656
|
|
657
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
658
|
"\n" +
|
659
|
"The following request has been completed and APCs have been paid:\n" +
|
660
|
"\n" +
|
661
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
662
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
663
|
|
664
|
if (request.getPublication().getJournal() != null) {
|
665
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
666
|
|
667
|
if (request.getPublication().getJournal().getPublisher() != null)
|
668
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
669
|
|
670
|
text += "\n";
|
671
|
} else if (request.getPublication().getPublisher() != null)
|
672
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
673
|
|
674
|
|
675
|
String currencyName = null;
|
676
|
if(request.getCurrency() != null )
|
677
|
currencyName = request.getCurrency().getName();
|
678
|
|
679
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
680
|
"\n";
|
681
|
text += "APC paid: " + request.getApcPaid() + " Euro\n";
|
682
|
text += "Additional costs: " + (request.getOtherCost() + request.getTransferCost()) + " Euro\n";
|
683
|
text += "Bank Transfer Document: " + baseAddress + "/GoldOAPortal/bankTransfer?requestId=" + request.getId() + "\n\n";
|
684
|
text += "Please make sure that you or the researcher\n" +
|
685
|
"1. update the DOI in our system, and \n" +
|
686
|
"2. deposit the final manuscript in an OpenAIRE compliant repository (see list here: " +
|
687
|
"https://www.openaire.eu/search/data-providers#pubRepo#comp3#comp2plus)\n";
|
688
|
|
689
|
text += formatComments(request);
|
690
|
text += "Feel free to contact us at " + contactLink + " if you need further information.\n\n" +
|
691
|
"Best,\n" +
|
692
|
"The OpenAIRE team";
|
693
|
|
694
|
mailLibrary.sendEmail(new String[]{request.getUser().getEmail()}, subject, text);
|
695
|
}
|
696
|
|
697
|
@Override
|
698
|
public void sendEvaPaidEmail(String evaEmail, Request request) throws MessagingException {
|
699
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Funding request " + request.getId() + " has been paid";
|
700
|
|
701
|
String text = "Dear Eva,\n" +
|
702
|
"\n" +
|
703
|
"The following request has been completed and APCs have been paid:\n" +
|
704
|
"\n" +
|
705
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
706
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
707
|
|
708
|
if (request.getPublication().getJournal() != null) {
|
709
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
710
|
|
711
|
if (request.getPublication().getJournal().getPublisher() != null)
|
712
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
713
|
|
714
|
text += "\n";
|
715
|
} else if (request.getPublication().getPublisher() != null)
|
716
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
717
|
|
718
|
text += "Requested funding: " + request.getFundingrequested() + " " + request.getCurrency().getName() + "\n" +
|
719
|
"\n";
|
720
|
text += "APC paid: " + request.getApcPaid() + " Euro\n";
|
721
|
text += "Additional costs: " + (request.getOtherCost() + request.getTransferCost()) + " Euro\n\n";
|
722
|
text += "Invoice: " + baseAddress + "/GoldOAPortal/invoice?invoiceId=" + request.getInvoice().getId() + "\n";
|
723
|
text += "Bank Transfer Document: " + baseAddress + "/GoldOAPortal/bankTransfer?requestId=" + request.getId() + "\n\n";
|
724
|
|
725
|
text += formatComments(request);
|
726
|
text += "Feel free to contact us at " + contactLink + " if you need further information.\n\n" +
|
727
|
"Best,\n" +
|
728
|
"The OpenAIRE team";
|
729
|
|
730
|
mailLibrary.sendEmail(new String[]{evaEmail}, subject, text);
|
731
|
}
|
732
|
|
733
|
@Override
|
734
|
public void sendPublisherPaidEmail(Request request) throws MessagingException {
|
735
|
Publisher publisher = request.getPublication().getPublisher() != null ? request.getPublication().getPublisher() : request.getPublication().getJournal().getPublisher();
|
736
|
String publisherEmail = null;
|
737
|
|
738
|
if (request.getPublisher().getEmail() != null)
|
739
|
publisherEmail = request.getPublisher().getEmail();
|
740
|
else {
|
741
|
if (publisher != null)
|
742
|
publisherEmail = publisher.getEmail();
|
743
|
}
|
744
|
|
745
|
if (publisherEmail != null) {
|
746
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Funding request " + request.getId() + " for invoice " + request.getInvoice().getNumber() + " has been paid";
|
747
|
String text;
|
748
|
User contact;
|
749
|
|
750
|
if (publisher != null && publisher.getContacts().get(0).getEmail() != null && publisher.getContacts().get(0).getEmail() != null) {
|
751
|
contact = UserDAO.getUserByEmail(publisher.getContacts().get(0).getEmail());
|
752
|
text = "Dear " + contact.getFirstname() + " " + contact.getLastname() + ",\n";
|
753
|
} else {
|
754
|
text = "Dear Madame/Sir,\n";
|
755
|
}
|
756
|
|
757
|
text += "\n" +
|
758
|
"The following request has been completed and APCs have been paid:\n" +
|
759
|
"\n" +
|
760
|
"Invoice #: " + request.getInvoice().getNumber() + "\n" +
|
761
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
762
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
763
|
|
764
|
if (request.getPublication().getJournal() != null) {
|
765
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
766
|
|
767
|
if (request.getPublication().getJournal().getPublisher() != null)
|
768
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
769
|
|
770
|
text += "\n";
|
771
|
} else if (request.getPublication().getPublisher() != null)
|
772
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
773
|
|
774
|
|
775
|
String currencyName = null;
|
776
|
if(request.getCurrency() != null )
|
777
|
currencyName = request.getCurrency().getName();
|
778
|
|
779
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
780
|
"\n";
|
781
|
text += "APC paid: " + request.getApcPaid() + " Euro\n";
|
782
|
text += "Additional costs: " + (request.getOtherCost() + request.getTransferCost()) + " Euro\n";
|
783
|
text += "Bank Transfer Document: " + baseAddress + "/GoldOAPortal/bankTransfer?requestId=" + request.getId() + "\n\n";
|
784
|
text += "Please make sure that you or the researcher\n" +
|
785
|
"1. update the DOI in our system, and \n" +
|
786
|
"2. deposit the final manuscript in an OpenAIRE compliant repository (see list here)\n" +
|
787
|
"\n";
|
788
|
text += formatComments(request);
|
789
|
text += "Feel free to contact us at " + contactLink + " if you need further information.\n\n" +
|
790
|
"Best,\n" +
|
791
|
"The OpenAIRE team";
|
792
|
|
793
|
mailLibrary.sendEmail(new String[]{publisherEmail}, subject, text);
|
794
|
}
|
795
|
}
|
796
|
|
797
|
@Override
|
798
|
public void sendModeratorPaidEmail(User moderator, Request request) throws MessagingException {
|
799
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Funding request " + request.getId() + " for invoice " + request.getInvoice().getNumber() + " has been paid";
|
800
|
String text;
|
801
|
|
802
|
text = "Dear moderator,\n";
|
803
|
text += "\n" +
|
804
|
"The following request has been completed and APCs have been paid:\n" +
|
805
|
"\n" +
|
806
|
"Invoice #: " + request.getInvoice().getNumber() + "\n" +
|
807
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
808
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
809
|
|
810
|
if (request.getPublication().getJournal() != null) {
|
811
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
812
|
|
813
|
if (request.getPublication().getJournal().getPublisher() != null)
|
814
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
815
|
|
816
|
text += "\n";
|
817
|
} else if (request.getPublication().getPublisher() != null)
|
818
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
819
|
|
820
|
String currencyName = null;
|
821
|
if(request.getCurrency() != null )
|
822
|
currencyName = request.getCurrency().getName();
|
823
|
|
824
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
825
|
"\n";
|
826
|
text += "APC paid: " + request.getApcPaid() + " Euro\n";
|
827
|
text += "Additional costs: " + (request.getOtherCost() + request.getTransferCost()) + " Euro\n";
|
828
|
text += "Bank Transfer Document: " + baseAddress + "/GoldOAPortal/bankTransfer?requestId=" + request.getId() + "\n\n";
|
829
|
|
830
|
text += "Best,\n" +
|
831
|
"The OpenAIRE team";
|
832
|
|
833
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
834
|
}
|
835
|
|
836
|
@Override
|
837
|
public void sendRequesterOnHoldEmail(Request request) throws MessagingException {
|
838
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request " + request.getId() + " has been put on hold";
|
839
|
String requestLink = baseAddress + "/#existingFundingRequests";
|
840
|
|
841
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
842
|
"\n" +
|
843
|
"The following request has been put on hold by our accounting office:\n" +
|
844
|
"\n" +
|
845
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
846
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
847
|
|
848
|
if (request.getPublication().getJournal() != null) {
|
849
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
850
|
|
851
|
if (request.getPublication().getJournal().getPublisher() != null)
|
852
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
853
|
|
854
|
text += "\n";
|
855
|
} else if (request.getPublication().getPublisher() != null)
|
856
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
857
|
|
858
|
String currencyName = null;
|
859
|
if(request.getCurrency() != null )
|
860
|
currencyName = request.getCurrency().getName();
|
861
|
|
862
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
863
|
"\n";
|
864
|
text += formatComments(request);
|
865
|
text += "Click on the link below at any time to follow the status of your request:\n" +
|
866
|
requestLink + "\n" +
|
867
|
"\n" +
|
868
|
"Feel free to contact us at " + contactLink + " if you need further information.\n\n" +
|
869
|
"Best,\n" +
|
870
|
"The OpenAIRE team";
|
871
|
|
872
|
mailLibrary.sendEmail(new String[]{request.getUser().getEmail()}, subject, text);
|
873
|
}
|
874
|
|
875
|
@Override
|
876
|
public void sendModeratorOnHoldEmail(User moderator, Request request) throws MessagingException {
|
877
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] The funding request " + request.getId() + " has been put on hold";
|
878
|
|
879
|
String text = "Dear Moderator,\n" +
|
880
|
"\n" +
|
881
|
"The following request has been put on hold by our accounting office:\n" +
|
882
|
"\n" +
|
883
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
884
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
885
|
|
886
|
if (request.getPublication().getJournal() != null) {
|
887
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
888
|
|
889
|
if (request.getPublication().getJournal().getPublisher() != null)
|
890
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
891
|
|
892
|
text += "\n";
|
893
|
} else if (request.getPublication().getPublisher() != null)
|
894
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
895
|
|
896
|
|
897
|
String currencyName = null;
|
898
|
if(request.getCurrency() != null )
|
899
|
currencyName = request.getCurrency().getName();
|
900
|
|
901
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
902
|
"\n";
|
903
|
text += formatComments(request);
|
904
|
text += "Best,\n" +
|
905
|
"The OpenAIRE team";
|
906
|
|
907
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
908
|
}
|
909
|
|
910
|
private String formatComments(Request request) {
|
911
|
String text = "";
|
912
|
|
913
|
if (request.getRequestComments() != null && request.getRequestComments().size() > 0) {
|
914
|
text = "IMPORTANT:\n";
|
915
|
|
916
|
for (int i = 0; i < request.getRequestComments().size(); i++) {
|
917
|
Comment comment = request.getRequestComments().get(i);
|
918
|
|
919
|
if (i > 0)
|
920
|
text += "\n";
|
921
|
|
922
|
text += comment.getComment() + " -" + comment.getUser().getFirstname() + " " + comment.getUser().getLastname() + " @ " + new SimpleDateFormat("yyyy-MM-dd").format(comment.getDate());
|
923
|
}
|
924
|
|
925
|
//Comment comment = request.getRequestComments().get(request.getRequestComments().size() - 1);
|
926
|
|
927
|
//text += comment.getComment() + " -" + comment.getUser().getFirstname() + " " + comment.getUser().getLastname() + " @ " + new SimpleDateFormat("yyyy-MM-dd").format(comment.getDate());
|
928
|
text += "\n\n";
|
929
|
}
|
930
|
|
931
|
return text;
|
932
|
}
|
933
|
|
934
|
@Override
|
935
|
public void sendPublisherOnHoldEmail(Request request) throws MessagingException {
|
936
|
Publisher publisher = request.getPublication().getPublisher() != null ? request.getPublication().getPublisher() : request.getPublication().getJournal().getPublisher();
|
937
|
String publisherEmail = null;
|
938
|
|
939
|
if (request.getPublisher().getEmail() != null)
|
940
|
publisherEmail = request.getPublisher().getEmail();
|
941
|
else {
|
942
|
if (publisher != null)
|
943
|
publisherEmail = publisher.getEmail();
|
944
|
}
|
945
|
|
946
|
if (publisherEmail != null) {
|
947
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Funding request " + request.getId() + " for invoice " + request.getInvoice().getNumber() + " has been put on hold";
|
948
|
String requestLink = baseAddress + "/#existingFundingRequests";
|
949
|
String text;
|
950
|
User contact;
|
951
|
|
952
|
if (publisher != null && publisher.getContacts() != null && publisher.getContacts().get(0).getEmail() != null) {
|
953
|
contact = UserDAO.getUserByEmail(publisher.getContacts().get(0).getEmail());
|
954
|
text = "Dear " + contact.getFirstname() + " " + contact.getLastname() + ",\n";
|
955
|
} else {
|
956
|
text = "Dear Madame/Sir,\n";
|
957
|
}
|
958
|
|
959
|
text += "\n" +
|
960
|
"The following request has been put on hold by our accounting office:\n" +
|
961
|
"\n" +
|
962
|
"Invoice #: " + request.getInvoice().getNumber() + "\n" +
|
963
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
964
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
965
|
|
966
|
if (request.getPublication().getJournal() != null) {
|
967
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
968
|
|
969
|
if (request.getPublication().getJournal().getPublisher() != null)
|
970
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
971
|
|
972
|
text += "\n";
|
973
|
} else if (request.getPublication().getPublisher() != null)
|
974
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
975
|
|
976
|
String currencyName = null;
|
977
|
if(request.getCurrency() != null )
|
978
|
currencyName = request.getCurrency().getName();
|
979
|
|
980
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
981
|
"\n";
|
982
|
text += formatComments(request);
|
983
|
text += "Click on the link below at any time to follow the status of your request:\n" +
|
984
|
requestLink + "\n" +
|
985
|
"\n" +
|
986
|
"Feel free to contact us at " + contactLink + " if you need further information.\n\n" +
|
987
|
"Best,\n" +
|
988
|
"The OpenAIRE team";
|
989
|
|
990
|
mailLibrary.sendEmail(new String[]{publisherEmail}, subject, text);
|
991
|
}
|
992
|
}
|
993
|
|
994
|
@Override
|
995
|
public void sendRequesterDeniedEmail(Request request) throws MessagingException {
|
996
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Your funding request " + request.getId() + " has been denied payment";
|
997
|
String requestLink = baseAddress + "/#existingFundingRequests";
|
998
|
|
999
|
String text = "Dear " + request.getUser().getFirstname() + " " + request.getUser().getLastname() + ",\n" +
|
1000
|
"\n" +
|
1001
|
"The following request has been denied payment by our accounting office:\n" +
|
1002
|
"\n" +
|
1003
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
1004
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
1005
|
|
1006
|
if (request.getPublication().getJournal() != null) {
|
1007
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
1008
|
|
1009
|
if (request.getPublication().getJournal().getPublisher() != null)
|
1010
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
1011
|
|
1012
|
text += "\n";
|
1013
|
} else if (request.getPublication().getPublisher() != null)
|
1014
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
1015
|
|
1016
|
text += "Requested funding: " + request.getFundingrequested() + " " + request.getCurrency().getName() + "\n" +
|
1017
|
"\n";
|
1018
|
text += formatComments(request);
|
1019
|
text += "Click on the link below at any time to follow the status of your request:\n" +
|
1020
|
requestLink + "\n" +
|
1021
|
"\n" +
|
1022
|
"Feel free to contact us at " + contactLink + " if you need further information.\n\n" +
|
1023
|
"Best,\n" +
|
1024
|
"The OpenAIRE team";
|
1025
|
|
1026
|
mailLibrary.sendEmail(new String[]{request.getUser().getEmail()}, subject, text);
|
1027
|
}
|
1028
|
|
1029
|
@Override
|
1030
|
public void sendModeratorDeniedEmail(User moderator, Request request) throws MessagingException {
|
1031
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] The funding request " + request.getId() + " has been denied payment";
|
1032
|
|
1033
|
String text = "Dear Moderator,\n" +
|
1034
|
"\n" +
|
1035
|
"The following request has been denied payment by our accounting office:\n" +
|
1036
|
"\n" +
|
1037
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
1038
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
1039
|
|
1040
|
if (request.getPublication().getJournal() != null) {
|
1041
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
1042
|
|
1043
|
if (request.getPublication().getJournal().getPublisher() != null)
|
1044
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
1045
|
|
1046
|
text += "\n";
|
1047
|
} else if (request.getPublication().getPublisher() != null)
|
1048
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
1049
|
|
1050
|
String currencyName = null;
|
1051
|
if(request.getCurrency() != null )
|
1052
|
currencyName = request.getCurrency().getName();
|
1053
|
|
1054
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
1055
|
"\n";
|
1056
|
text += formatComments(request);
|
1057
|
text += "Best,\n" +
|
1058
|
"The OpenAIRE team";
|
1059
|
|
1060
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
1061
|
}
|
1062
|
|
1063
|
@Override
|
1064
|
public void sendModeratorProcessingEmail(User moderator, Request request) throws MessagingException {
|
1065
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] The funding request " + request.getId() + " is being processed";
|
1066
|
|
1067
|
String text = "Dear Moderator,\n" +
|
1068
|
"\n" +
|
1069
|
"The following request is being processed by our accounting office:\n" +
|
1070
|
"\n" +
|
1071
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
1072
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
1073
|
|
1074
|
if (request.getPublication().getJournal() != null) {
|
1075
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
1076
|
|
1077
|
if (request.getPublication().getJournal().getPublisher() != null)
|
1078
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
1079
|
|
1080
|
text += "\n";
|
1081
|
} else if (request.getPublication().getPublisher() != null)
|
1082
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
1083
|
|
1084
|
String currencyName = null;
|
1085
|
if(request.getCurrency() != null )
|
1086
|
currencyName = request.getCurrency().getName();
|
1087
|
|
1088
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
1089
|
"\n";
|
1090
|
text += formatComments(request);
|
1091
|
text += "Best,\n" +
|
1092
|
"The OpenAIRE team";
|
1093
|
|
1094
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
1095
|
}
|
1096
|
|
1097
|
@Override
|
1098
|
public void sendModeratorInvoiceUploaded(User moderator, Request request) throws MessagingException {
|
1099
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] Invoice for funding request " + request.getId() + " has been uploaded";
|
1100
|
|
1101
|
String text = "Dear Moderator,\n" +
|
1102
|
"\n" +
|
1103
|
"The invoice for the following request has been uploaded:\n" +
|
1104
|
"\n" +
|
1105
|
"Project: " + request.getProject().getAcronym() + " - " + request.getProject().getGrant() + "\n" +
|
1106
|
"Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
1107
|
|
1108
|
if (request.getPublication().getJournal() != null) {
|
1109
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
1110
|
|
1111
|
if (request.getPublication().getJournal().getPublisher() != null)
|
1112
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
1113
|
|
1114
|
text += "\n";
|
1115
|
} else if (request.getPublication().getPublisher() != null)
|
1116
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
1117
|
|
1118
|
String currencyName = null;
|
1119
|
if(request.getCurrency() != null )
|
1120
|
currencyName = request.getCurrency().getName();
|
1121
|
|
1122
|
|
1123
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
1124
|
"\n";
|
1125
|
text += formatComments(request);
|
1126
|
text += "Best,\n" +
|
1127
|
"The OpenAIRE team";
|
1128
|
|
1129
|
mailLibrary.sendEmail(new String[]{moderator.getEmail()}, subject, text);
|
1130
|
}
|
1131
|
|
1132
|
@Override
|
1133
|
public void sendPublisherDeniedEmail(Request request) throws MessagingException {
|
1134
|
//
|
1135
|
}
|
1136
|
|
1137
|
@Override
|
1138
|
public void sendCoordinatorRequestSubmittedEmail(User coordinator, Request request) throws MessagingException {
|
1139
|
String subject = "[OpenAIRE-FP7-Post-Grant-OA-Pilot] A new funding request (" + request.getId() + ") has been submitted";
|
1140
|
String portalLink = baseAddress + "/#home";
|
1141
|
|
1142
|
String text = "Dear " + coordinator.getFirstname() + " " + coordinator.getLastname() + ",\n" +
|
1143
|
"We are contacting you in your capacity of project coordinator for project " + request.getProject().getAcronym() + ".\n" +
|
1144
|
"As you may already know your project is eligible for publising funds from the OpenAIRE FP7 post-grant Gold Open Access Pilot " + portalLink + ".\n";
|
1145
|
|
1146
|
|
1147
|
if (!request.getUser().getId().equals(request.getResearcher().getId())) {
|
1148
|
text += request.getUser().getFirstname() + " " + request.getUser().getLastname() + " from " + request.getUser().getAffiliations().get(0).getOrganization().getName() +
|
1149
|
" has requested on behalf of " + request.getResearcher().getFirstname() + " " + request.getResearcher().getLastname() +
|
1150
|
" the funding of the following publication:\n";
|
1151
|
} else {
|
1152
|
text += request.getResearcher().getFirstname() + " " + request.getResearcher().getLastname() + " from " + request.getUser().getAffiliations().get(0).getOrganization().getName() +
|
1153
|
" has requested the funding of the following publication:\n";
|
1154
|
}
|
1155
|
|
1156
|
text += "\n";
|
1157
|
text += "Publication: " + request.getPublication().getTitle() + "\n"; // TODO add authors
|
1158
|
|
1159
|
if (request.getPublication().getJournal() != null) {
|
1160
|
text += "Journal: " + request.getPublication().getJournal().getTitle();
|
1161
|
|
1162
|
if (request.getPublication().getJournal().getPublisher() != null)
|
1163
|
text += " , " + request.getPublication().getJournal().getPublisher().getName();
|
1164
|
|
1165
|
text += "\n";
|
1166
|
} else if (request.getPublication().getPublisher() != null)
|
1167
|
text += "Publisher: " + request.getPublication().getPublisher().getName() + "\n";
|
1168
|
|
1169
|
String currencyName = null;
|
1170
|
if(request.getCurrency() != null )
|
1171
|
currencyName = request.getCurrency().getName();
|
1172
|
|
1173
|
text += "Requested funding: " + request.getFundingrequested() + " " + currencyName + "\n" +
|
1174
|
"\n";
|
1175
|
|
1176
|
text += "As there is a limit of 3 publications from each project from this Pilot and would like to ensure a fair use of the fund. For the project's best interests, please let us know if there is any reason why we should not proceed with the requestd funding within the next 3 working days.\n";
|
1177
|
text += "Feel free to contact us at " + this.contactLink + " if you need further information.\n\n" +
|
1178
|
"Best,\n" +
|
1179
|
"The OpenAIRE team";
|
1180
|
|
1181
|
mailLibrary.sendEmail(coordinator.getEmail(), subject, text);
|
1182
|
}
|
1183
|
|
1184
|
public String getBaseAddress() {
|
1185
|
return baseAddress;
|
1186
|
}
|
1187
|
|
1188
|
public void setBaseAddress(String baseAddress) {
|
1189
|
this.baseAddress = baseAddress;
|
1190
|
}
|
1191
|
|
1192
|
public String getTermsOfAgreementUrl() {
|
1193
|
return termsOfAgreementUrl;
|
1194
|
}
|
1195
|
|
1196
|
public void setTermsOfAgreementUrl(String termsOfAgreementUrl) {
|
1197
|
this.termsOfAgreementUrl = termsOfAgreementUrl;
|
1198
|
}
|
1199
|
}
|