aboutsummaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
authorNassim Bounouas <NassimBounouas@users.noreply.github.com>2019-06-21 08:49:35 +0200
committerChocobozzz <me@florianbigard.com>2019-06-21 08:49:35 +0200
commit4e9fa5b7e9ca6030a5fe2e9b0520bf8fa18e5877 (patch)
treef7fb09aa655f954b8d9833cd2215f6fada5721a6 /server
parentd1ea2a988d05e1eca4066efb99c5f943f5267a78 (diff)
downloadPeerTube-4e9fa5b7e9ca6030a5fe2e9b0520bf8fa18e5877.tar.gz
PeerTube-4e9fa5b7e9ca6030a5fe2e9b0520bf8fa18e5877.tar.zst
PeerTube-4e9fa5b7e9ca6030a5fe2e9b0520bf8fa18e5877.zip
Feature/subject in contact form (#1926)
* #1915 Add a subject to contact form and add it to email sent * #1915 Add subject to contact form tests * #1915 Contact form test corrected && tslint correction
Diffstat (limited to 'server')
-rw-r--r--server/controllers/api/server/contact.ts2
-rw-r--r--server/lib/emailer.ts4
-rw-r--r--server/tests/api/check-params/contact-form.ts1
-rw-r--r--server/tests/api/server/contact-form.ts10
4 files changed, 11 insertions, 6 deletions
diff --git a/server/controllers/api/server/contact.ts b/server/controllers/api/server/contact.ts
index b1144c94e..de02ffc0b 100644
--- a/server/controllers/api/server/contact.ts
+++ b/server/controllers/api/server/contact.ts
@@ -14,7 +14,7 @@ contactRouter.post('/contact',
14async function contactAdministrator (req: express.Request, res: express.Response) { 14async function contactAdministrator (req: express.Request, res: express.Response) {
15 const data = req.body as ContactForm 15 const data = req.body as ContactForm
16 16
17 await Emailer.Instance.addContactFormJob(data.fromEmail, data.fromName, data.body) 17 await Emailer.Instance.addContactFormJob(data.fromEmail, data.fromName, data.subject, data.body)
18 18
19 await Redis.Instance.setContactFormIp(req.ip) 19 await Redis.Instance.setContactFormIp(req.ip)
20 20
diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts
index c4a5a5853..73c2bcb1b 100644
--- a/server/lib/emailer.ts
+++ b/server/lib/emailer.ts
@@ -402,7 +402,7 @@ class Emailer {
402 return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) 402 return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
403 } 403 }
404 404
405 addContactFormJob (fromEmail: string, fromName: string, body: string) { 405 addContactFormJob (fromEmail: string, fromName: string, subject: string, body: string) {
406 const text = 'Hello dear admin,\n\n' + 406 const text = 'Hello dear admin,\n\n' +
407 fromName + ' sent you a message' + 407 fromName + ' sent you a message' +
408 '\n\n---------------------------------------\n\n' + 408 '\n\n---------------------------------------\n\n' +
@@ -415,7 +415,7 @@ class Emailer {
415 fromDisplayName: fromEmail, 415 fromDisplayName: fromEmail,
416 replyTo: fromEmail, 416 replyTo: fromEmail,
417 to: [ CONFIG.ADMIN.EMAIL ], 417 to: [ CONFIG.ADMIN.EMAIL ],
418 subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Contact form submitted', 418 subject: CONFIG.EMAIL.OBJECT.PREFIX + subject,
419 text 419 text
420 } 420 }
421 421
diff --git a/server/tests/api/check-params/contact-form.ts b/server/tests/api/check-params/contact-form.ts
index dbdd3a8a6..b3051945e 100644
--- a/server/tests/api/check-params/contact-form.ts
+++ b/server/tests/api/check-params/contact-form.ts
@@ -26,6 +26,7 @@ describe('Test contact form API validators', function () {
26 const defaultBody = { 26 const defaultBody = {
27 fromName: 'super name', 27 fromName: 'super name',
28 fromEmail: 'toto@example.com', 28 fromEmail: 'toto@example.com',
29 subject: 'my subject',
29 body: 'Hello, how are you?' 30 body: 'Hello, how are you?'
30 } 31 }
31 let emailPort: number 32 let emailPort: number
diff --git a/server/tests/api/server/contact-form.ts b/server/tests/api/server/contact-form.ts
index 87e55060c..e4e895acb 100644
--- a/server/tests/api/server/contact-form.ts
+++ b/server/tests/api/server/contact-form.ts
@@ -43,6 +43,7 @@ describe('Test contact form', function () {
43 url: server.url, 43 url: server.url,
44 fromEmail: 'toto@example.com', 44 fromEmail: 'toto@example.com',
45 body: 'my super message', 45 body: 'my super message',
46 subject: 'my subject',
46 fromName: 'Super toto' 47 fromName: 'Super toto'
47 }) 48 })
48 49
@@ -55,7 +56,7 @@ describe('Test contact form', function () {
55 expect(email['from'][0]['address']).equal('test-admin@localhost') 56 expect(email['from'][0]['address']).equal('test-admin@localhost')
56 expect(email['from'][0]['name']).equal('toto@example.com') 57 expect(email['from'][0]['name']).equal('toto@example.com')
57 expect(email['to'][0]['address']).equal('admin' + server.internalServerNumber + '@example.com') 58 expect(email['to'][0]['address']).equal('admin' + server.internalServerNumber + '@example.com')
58 expect(email['subject']).contains('Contact form') 59 expect(email['subject']).contains('my subject')
59 expect(email['text']).contains('my super message') 60 expect(email['text']).contains('my super message')
60 }) 61 })
61 62
@@ -64,6 +65,7 @@ describe('Test contact form', function () {
64 url: server.url, 65 url: server.url,
65 fromEmail: 'toto@example.com', 66 fromEmail: 'toto@example.com',
66 body: 'my super message', 67 body: 'my super message',
68 subject: 'my subject',
67 fromName: 'Super toto' 69 fromName: 'Super toto'
68 }) 70 })
69 71
@@ -72,6 +74,7 @@ describe('Test contact form', function () {
72 fromEmail: 'toto@example.com', 74 fromEmail: 'toto@example.com',
73 body: 'my super message', 75 body: 'my super message',
74 fromName: 'Super toto', 76 fromName: 'Super toto',
77 subject: 'my subject',
75 expectedStatus: 403 78 expectedStatus: 403
76 }) 79 })
77 }) 80 })
@@ -82,8 +85,9 @@ describe('Test contact form', function () {
82 await sendContactForm({ 85 await sendContactForm({
83 url: server.url, 86 url: server.url,
84 fromEmail: 'toto@example.com', 87 fromEmail: 'toto@example.com',
85 body: 'my super message', 88 fromName: 'Super toto',
86 fromName: 'Super toto' 89 subject: 'my subject',
90 body: 'my super message'
87 }) 91 })
88 }) 92 })
89 93