From 8c336a97d7431056c2369c22ddf22ad6f9afd19c Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Wed, 11 Sep 2019 12:27:56 +0100
Subject: [PATCH 0001/1807] install mustache
---
backend/package.json | 7 ++++---
backend/yarn.lock | 5 +++++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/backend/package.json b/backend/package.json
index dd75b54d9..fecfe3441 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -89,6 +89,7 @@
"metascraper-video": "^5.6.5",
"metascraper-youtube": "^5.6.7",
"minimatch": "^3.0.4",
+ "mustache": "^3.0.3",
"neo4j-driver": "~1.7.6",
"neo4j-graphql-js": "^2.7.2",
"neode": "^0.3.3",
@@ -100,8 +101,8 @@
"slug": "~1.1.0",
"trunc-html": "~1.1.2",
"uuid": "~3.3.3",
- "xregexp": "^4.2.4",
- "wait-on": "~3.3.0"
+ "wait-on": "~3.3.0",
+ "xregexp": "^4.2.4"
},
"devDependencies": {
"@babel/cli": "~7.6.0",
@@ -131,4 +132,4 @@
"prettier": "~1.18.2",
"supertest": "~4.0.2"
}
-}
\ No newline at end of file
+}
diff --git a/backend/yarn.lock b/backend/yarn.lock
index b1a1e0368..d59891c1c 100644
--- a/backend/yarn.lock
+++ b/backend/yarn.lock
@@ -6104,6 +6104,11 @@ ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+mustache@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/mustache/-/mustache-3.0.3.tgz#ee4fb971887fa6cc1b6b6d219a74b5e3c7535f32"
+ integrity sha512-vM5FkMHamTYmVYeAujypihuPrJQDtaUIlKeeVb1AMJ73OZLtWiF7GprqrjxD0gJWT53W9JfqXxf97nXQjMQkqA==
+
mute-stream@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
From f802eab27df5a5ee7b6a34f088c40c7b292043d6 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Wed, 11 Sep 2019 12:44:15 +0100
Subject: [PATCH 0002/1807] copy email text to separate file
---
.../src/middleware/email/templates/signup.js | 52 +++----------------
.../src/middleware/email/templates/signup.txt | 42 +++++++++++++++
2 files changed, 50 insertions(+), 44 deletions(-)
create mode 100644 backend/src/middleware/email/templates/signup.txt
diff --git a/backend/src/middleware/email/templates/signup.js b/backend/src/middleware/email/templates/signup.js
index 54cc51be2..25f3681d7 100644
--- a/backend/src/middleware/email/templates/signup.js
+++ b/backend/src/middleware/email/templates/signup.js
@@ -1,4 +1,9 @@
import CONFIG from '../../../config'
+import fs from 'fs'
+import path from 'path'
+import mustache from 'mustache'
+
+const signupText = fs.readFileSync(path.join(__dirname, './signup.txt'), 'utf-8')
export const signupTemplate = options => {
const {
@@ -11,52 +16,11 @@ export const signupTemplate = options => {
actionUrl.searchParams.set('nonce', nonce)
actionUrl.searchParams.set('email', email)
+ console.log(actionUrl)
+
return {
to: email,
subject,
- text: `
-Willkommen bei Human Connection! Klick auf diesen Link, um den
-Registrierungsprozess abzuschließen und um ein Benutzerkonto zu erstellen!
-
-${actionUrl}
-
-Alternativ kannst du diesen Code auch kopieren und im Browserfenster einfügen:
-
-${nonce}
-
-Bitte ignoriere diese Mail, falls du dich nicht bei Human Connection angemeldet
-hast. Bei Fragen kontaktiere gerne unseren Support:
-
-${supportUrl}
-
-Danke,
-Das Human Connection Team
-
-
-English Version
-===============
-
-Welcome to Human Connection! Use this link to complete the registration process
-and create a user account:
-
-${actionUrl}
-
-You can also copy+paste this verification nonce in your browser window:
-
-${nonce}
-
-If you did not signed up for Human Connection, please ignore this email or
-contact support if you have questions:
-
-${supportUrl}
-
-Thanks,
-The Human Connection Team
-
-Human Connection gemeinnützige GmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-Deutschland
- `,
+ text: mustache.render(signupText, { actionUrl, nonce, supportUrl })
}
}
diff --git a/backend/src/middleware/email/templates/signup.txt b/backend/src/middleware/email/templates/signup.txt
new file mode 100644
index 000000000..c3e2ba8c6
--- /dev/null
+++ b/backend/src/middleware/email/templates/signup.txt
@@ -0,0 +1,42 @@
+Willkommen bei Human Connection! Klick auf diesen Link, um den
+Registrierungsprozess abzuschließen und um ein Benutzerkonto zu erstellen!
+
+{{{actionUrl}}}
+
+Alternativ kannst du diesen Code auch kopieren und im Browserfenster einfügen:
+
+{{{nonce}}}
+
+Bitte ignoriere diese Mail, falls du dich nicht bei Human Connection angemeldet
+hast. Bei Fragen kontaktiere gerne unseren Support:
+
+{{{supportUrl}}}
+
+Danke,
+Das Human Connection Team
+
+
+English Version
+===============
+
+Welcome to Human Connection! Use this link to complete the registration process
+and create a user account:
+
+{{{actionUrl}}}
+
+You can also copy+paste this verification nonce in your browser window:
+
+{{{nonce}}}
+
+If you did not signed up for Human Connection, please ignore this email or
+contact support if you have questions:
+
+{{{supportUrl}}}
+
+Thanks,
+The Human Connection Team
+
+Human Connection gemeinnützige GmbH
+Bahnhofstr. 11
+73235 Weilheim / Teck
+Deutschland
From 1cd354ff17dceab55808d23e9101d23bda7b7f66 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Wed, 11 Sep 2019 12:51:27 +0100
Subject: [PATCH 0003/1807] paste html template from TedGoas/Cerberus
---
.../middleware/email/templates/signup.html | 434 ++++++++++++++++++
.../src/middleware/email/templates/signup.js | 4 +-
2 files changed, 437 insertions(+), 1 deletion(-)
create mode 100644 backend/src/middleware/email/templates/signup.html
diff --git a/backend/src/middleware/email/templates/signup.html b/backend/src/middleware/email/templates/signup.html
new file mode 100644
index 000000000..7316dc841
--- /dev/null
+++ b/backend/src/middleware/email/templates/signup.html
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (Optional) This text will appear in the inbox preview, but not the email body. It can be used to supplement the
+ email subject line or even summarize the email's contents. Extended text preheaders (~490 characters) seems like a
+ better UX for anyone using a screenreader or voice-command apps like Siri to dictate the contents of an email. If
+ this text is not included, email clients will automatically populate it using the text (including image alt text)
+ at the start of the email's body.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Praesent laoreet malesuada cursus.
+
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
+ taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
+ malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
+ lobortis rhoncus ut erat.
+ Praesent in felis ut velit pretium lobortis rhoncus ut erat.
+
+
A list item.
+
Another list item here.
+
Everyone gets a list item, list items for
+ everyone!
+
+
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
+ taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
+ malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
+ lobortis rhoncus ut erat.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
+ taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
+ malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
+ lobortis rhoncus ut erat.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ View as a Web Page
+
+
+ Company Name 123 Fake Street, SpringField, OR, 97477
+ US (123) 456-7890
+
+ unsubscribe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
+ taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
+ malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
+ lobortis rhoncus ut erat.
- (Optional) This text will appear in the inbox preview, but not the email body. It can be used to supplement the
- email subject line or even summarize the email's contents. Extended text preheaders (~490 characters) seems like a
- better UX for anyone using a screenreader or voice-command apps like Siri to dictate the contents of an email. If
- this text is not included, email clients will automatically populate it using the text (including image alt text)
- at the start of the email's body.
-
-
-
-
-
-
-
-
-
-
-
@@ -234,8 +213,10 @@
-
@@ -246,14 +227,14 @@
-
+
- Praesent laoreet malesuada cursus.
-
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
- taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
- malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
- lobortis rhoncus ut erat.
Thank you for joining our cause – it's awesome to have you on board. There's
+ just one tiny step missing before we can start shaping the world together: Please confirm your
+ e-mail address by clicking the button below!
- Praesent in felis ut velit pretium lobortis rhoncus ut erat.
-
-
A list item.
-
Another list item here.
-
Everyone gets a list item, list items for
- everyone!
-
-
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
- taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
- malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
- lobortis rhoncus ut erat.
+
+
Or you can copy this code and paste it in your browser window:
@@ -294,52 +264,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor.
-
-
-
-
-
-
-
-
-
-
-
+
@@ -350,11 +277,37 @@
-
-
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
- taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
- malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
- lobortis rhoncus ut erat.
+
+
If you didn't sign up for Human Connection we recommend you to check it out!
+ It's an online platform for people to connect and change the world together.
+
PS: If you ignore this email we will not create an account for
+ you. ;)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Feel free to contact our support team with any questions you might have.
+
Thank you, and see you soon on Human Connection!
+
– The Human Connection Team
@@ -370,14 +323,11 @@
style="margin: auto;">
- View as a Web Page
-
+ style="padding: 20px; font-family: Lato, sans-serif; font-size: 12px; line-height: 15px; text-align: center; color: #888888;">
- Company Name 123 Fake Street, SpringField, OR, 97477
- US (123) 456-7890
+ Human Connection gGmbH Bahnhofstraße 11 73235 Weilheim /
+ Teck Germany
- unsubscribe
@@ -390,39 +340,6 @@
-
-
-
-
-
-
-
-
-
-
Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent
- taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent laoreet
- malesuada cursus. Maecenas scelerisque congue eros eu posuere. Praesent in felis ut velit pretium
- lobortis rhoncus ut erat.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
If you didn't sign up for Human Connection we recommend you to check it out!
+ style="padding: 20px; font-family: Lato, sans-serif; font-size: 16px; line-height: 22px; color: #555555;">
+
If you didn't sign up for Human Connection we recommend you to check it out!
It's an online platform for people to connect and change the world together.
PS: If you ignore this email we will not create an account for
you. ;)
+
+
–––––––––––––––––––––––––––––––––––––––––––––––
+
-
-
-
-
-
-
-
-
-
Feel free to contact our support team with any questions you might have.
If you didn't sign up for Human Connection we recommend you to check it out!
- It's an online platform for people to connect and change the world together.
+ It's a social network from people for people who want to connect and change the world together.
PS: If you ignore this email we will not create an account for
you. ;)
diff --git a/backend/src/middleware/email/templates/signup.js b/backend/src/middleware/email/templates/signup.js
index 2f77d0efa..a6abdf6f2 100644
--- a/backend/src/middleware/email/templates/signup.js
+++ b/backend/src/middleware/email/templates/signup.js
@@ -3,7 +3,6 @@ import fs from 'fs'
import path from 'path'
import mustache from 'mustache'
-const signupText = fs.readFileSync(path.join(__dirname, './signup.txt'), 'utf-8')
const signupHtml = fs.readFileSync(path.join(__dirname, './signup.html'), 'utf-8')
export const signupTemplate = options => {
@@ -20,7 +19,6 @@ export const signupTemplate = options => {
return {
to: email,
subject,
- text: mustache.render(signupText, { actionUrl, nonce, supportUrl }),
html: mustache.render(signupHtml, { actionUrl, nonce, supportUrl }),
}
}
diff --git a/backend/src/middleware/email/templates/signup.txt b/backend/src/middleware/email/templates/signup.txt
deleted file mode 100644
index c3e2ba8c6..000000000
--- a/backend/src/middleware/email/templates/signup.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-Willkommen bei Human Connection! Klick auf diesen Link, um den
-Registrierungsprozess abzuschließen und um ein Benutzerkonto zu erstellen!
-
-{{{actionUrl}}}
-
-Alternativ kannst du diesen Code auch kopieren und im Browserfenster einfügen:
-
-{{{nonce}}}
-
-Bitte ignoriere diese Mail, falls du dich nicht bei Human Connection angemeldet
-hast. Bei Fragen kontaktiere gerne unseren Support:
-
-{{{supportUrl}}}
-
-Danke,
-Das Human Connection Team
-
-
-English Version
-===============
-
-Welcome to Human Connection! Use this link to complete the registration process
-and create a user account:
-
-{{{actionUrl}}}
-
-You can also copy+paste this verification nonce in your browser window:
-
-{{{nonce}}}
-
-If you did not signed up for Human Connection, please ignore this email or
-contact support if you have questions:
-
-{{{supportUrl}}}
-
-Thanks,
-The Human Connection Team
-
-Human Connection gemeinnützige GmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-Deutschland
diff --git a/backend/yarn.lock b/backend/yarn.lock
index d59891c1c..73b67e5ef 100644
--- a/backend/yarn.lock
+++ b/backend/yarn.lock
@@ -4293,6 +4293,11 @@ he@0.5.0:
resolved "https://registry.yarnpkg.com/he/-/he-0.5.0.tgz#2c05ffaef90b68e860f3fd2b54ef580989277ee2"
integrity sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=
+he@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
helmet-crossdomain@0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/helmet-crossdomain/-/helmet-crossdomain-0.4.0.tgz#5f1fe5a836d0325f1da0a78eaa5fd8429078894e"
@@ -4365,7 +4370,17 @@ html-encoding-sniffer@^1.0.2:
dependencies:
whatwg-encoding "^1.0.1"
-htmlparser2@^3.10.0, htmlparser2@^3.9.1:
+html-to-text@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-5.1.1.tgz#2d89db7bf34bc7bcb7d546b1b228991a16926e87"
+ integrity sha512-Bci6bD/JIfZSvG4s0gW/9mMKwBRoe/1RWLxUME/d6WUSZCdY7T60bssf/jFf7EYXRyqU4P5xdClVqiYU0/ypdA==
+ dependencies:
+ he "^1.2.0"
+ htmlparser2 "^3.10.1"
+ lodash "^4.17.11"
+ minimist "^1.2.0"
+
+htmlparser2@^3.10.0, htmlparser2@^3.10.1, htmlparser2@^3.9.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -6299,6 +6314,13 @@ node-releases@^1.1.25:
dependencies:
semver "^5.3.0"
+nodemailer-html-to-text@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/nodemailer-html-to-text/-/nodemailer-html-to-text-3.1.0.tgz#11e4e435eb03e4f3b439aaf294b1bd1377e7f789"
+ integrity sha512-AijyAZgcFb6b53g1oMwdCKyLYQVJzbgZKbs3Bma8zR5hPR1gkajQKGGZbwtuA5JhUqnyC8pjp+tiaS7CkQ8TRg==
+ dependencies:
+ html-to-text "^5.1.1"
+
nodemailer@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.3.0.tgz#a89b0c62d3937bdcdeecbf55687bd7911b627e12"
From a588a7bc125f7cf3bdac1d1fca2640cfeabddfd4 Mon Sep 17 00:00:00 2001
From: ogerly
Date: Tue, 17 Sep 2019 16:11:36 +0200
Subject: [PATCH 0041/1807]
links_to_imprint_and_privacy_policy_changed_to_human-connection.org
---
webapp/components/PageFooter/PageFooter.vue | 12 ++++++++++--
webapp/locales/de.json | 4 ++--
webapp/locales/en.json | 4 ++--
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/webapp/components/PageFooter/PageFooter.vue b/webapp/components/PageFooter/PageFooter.vue
index d970792bb..b3e02fc75 100644
--- a/webapp/components/PageFooter/PageFooter.vue
+++ b/webapp/components/PageFooter/PageFooter.vue
@@ -2,13 +2,21 @@
diff --git a/webapp/locales/de.json b/webapp/locales/de.json
index 381e493f8..aa471d5b9 100644
--- a/webapp/locales/de.json
+++ b/webapp/locales/de.json
@@ -2,7 +2,7 @@
"maintenance": {
"title": "Human Connection befindet sich in der Wartung",
"explanation": "Zurzeit führen wir einige geplante Wartungsarbeiten durch, bitte versuch es später erneut.",
- "questions": "Bei Fragen oder Problemen erreichst du uns per E-Mail an"
+ "questions": "Bei Fragen oder Problemen erreichst du uns per E-Mail an"
},
"index": {
"no-results": "Keine Beiträge gefunden.",
@@ -590,7 +590,7 @@
},
"data-privacy": {
"title": "Du und deine Daten",
- "description": "Bitte beachte, dass wir die Inhalte der Alphaversion zu Werbezwecken, Webpräsentationen usw. verwenden, aber wir glauben, dass das auch in Deinem Interesse ist. Am besten keinen Nachnamen eingeben und bei noch mehr Datensparsamkeit ein Profilfoto ohne Identität verwenden. Mehr in unserer Datenschutzerklärung"
+ "description": "Bitte beachte, dass wir die Inhalte der Alphaversion zu Werbezwecken, Webpräsentationen usw. verwenden, aber wir glauben, dass das auch in Deinem Interesse ist. Am besten keinen Nachnamen eingeben und bei noch mehr Datensparsamkeit ein Profilfoto ohne Identität verwenden. Mehr in unserer Datenschutzerklärung"
},
"work-in-progress": {
"title": "Baustellen",
diff --git a/webapp/locales/en.json b/webapp/locales/en.json
index 66ab4a47b..f4c36e3af 100644
--- a/webapp/locales/en.json
+++ b/webapp/locales/en.json
@@ -2,7 +2,7 @@
"maintenance": {
"title": "Human Connection is under maintenance",
"explanation": "At the moment we are doing some scheduled maintenance, please try again later.",
- "questions": "Any Questions or concerns, send an email to"
+ "questions": "Any Questions or concerns, send an email to"
},
"index": {
"no-results": "No contributions found.",
@@ -591,7 +591,7 @@
},
"data-privacy": {
"title": "You and your data",
- "description": "Please note that the content of the alpha version will be used for public web presentations etc. but we are sure, this is in your interest. Avoid real names and use anonymous profile pictures without your face. You can find more information in our data privacy policy"
+ "description": "Please note that the content of the alpha version will be used for public web presentations etc. but we are sure, this is in your interest. Avoid real names and use anonymous profile pictures without your face. You can find more information in our data privacy policy"
},
"work-in-progress": {
"title": "Work in progress",
From 24fb601739c9c527ae999cc4c74608678c325322 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Tue, 17 Sep 2019 15:17:36 +0100
Subject: [PATCH 0042/1807] clean up email template
---
.../middleware/email/templates/signup.html | 107 +++++-------------
1 file changed, 27 insertions(+), 80 deletions(-)
diff --git a/backend/src/middleware/email/templates/signup.html b/backend/src/middleware/email/templates/signup.html
index fd286a553..9acdd8887 100644
--- a/backend/src/middleware/email/templates/signup.html
+++ b/backend/src/middleware/email/templates/signup.html
@@ -3,37 +3,27 @@
xmlns:o="urn:schemas-microsoft-com:office:office">
-
-
-
-
+
+
+
+
-
- Welcome to Human Connection
+ Welcome to Human Connection
-
-
-
-
+
+
-
-
+
-
-
-
+
-
-
-
-
+
-
-
-
From 3f6cec8e276bfa7a2696529e82c6645dbc5ce2e4 Mon Sep 17 00:00:00 2001
From: Alexander Friedland
Date: Tue, 17 Sep 2019 16:22:12 +0200
Subject: [PATCH 0043/1807] update backslash
---
webapp/locales/de.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/webapp/locales/de.json b/webapp/locales/de.json
index aa471d5b9..86d435b0f 100644
--- a/webapp/locales/de.json
+++ b/webapp/locales/de.json
@@ -2,7 +2,7 @@
"maintenance": {
"title": "Human Connection befindet sich in der Wartung",
"explanation": "Zurzeit führen wir einige geplante Wartungsarbeiten durch, bitte versuch es später erneut.",
- "questions": "Bei Fragen oder Problemen erreichst du uns per E-Mail an"
+ "questions": "Bei Fragen oder Problemen erreichst du uns per E-Mail an"
},
"index": {
"no-results": "Keine Beiträge gefunden.",
@@ -619,4 +619,4 @@
"have-fun": "Jetzt aber viel Spaß mit der Alpha von Human Connection! Für den ersten Weltfrieden. ♥︎",
"closing": "Herzlichst
Euer Human Connection Team"
}
-}
\ No newline at end of file
+}
From 4bed7435eca750655179ca43b66cadf839cd59d9 Mon Sep 17 00:00:00 2001
From: Alexander Friedland
Date: Tue, 17 Sep 2019 16:23:01 +0200
Subject: [PATCH 0044/1807] update add backslash
---
webapp/locales/en.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/webapp/locales/en.json b/webapp/locales/en.json
index f4c36e3af..1932c309a 100644
--- a/webapp/locales/en.json
+++ b/webapp/locales/en.json
@@ -2,7 +2,7 @@
"maintenance": {
"title": "Human Connection is under maintenance",
"explanation": "At the moment we are doing some scheduled maintenance, please try again later.",
- "questions": "Any Questions or concerns, send an email to"
+ "questions": "Any Questions or concerns, send an email to"
},
"index": {
"no-results": "No contributions found.",
@@ -620,4 +620,4 @@
"have-fun": "Now have fun with the alpha version of Human Connection! For the first universal peace. ♥︎",
"closing": "Thank you very much
your Human Connection Team"
}
-}
\ No newline at end of file
+}
From e53609ab14bc5b3a0d76978456038eb2614f6e7c Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Tue, 17 Sep 2019 15:28:24 +0100
Subject: [PATCH 0045/1807] add german translation to signup template
---
.../middleware/email/templates/signup.html | 119 +++++++++++++++++-
1 file changed, 118 insertions(+), 1 deletion(-)
diff --git a/backend/src/middleware/email/templates/signup.html b/backend/src/middleware/email/templates/signup.html
index 9acdd8887..a538f71d1 100644
--- a/backend/src/middleware/email/templates/signup.html
+++ b/backend/src/middleware/email/templates/signup.html
@@ -169,6 +169,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English version below!
+
+ Willkommen bei Human Connection!
+
Danke, dass du dich angemeldet hast – wir freuen uns, dich dabei zu haben. Jetzt
+ fehlt nur noch eine Kleinigkeit, bevor wir gemeinsam die Welt verbessern können... Bitte bestätige
+ deine E-Mail Adresse:
Oder du kopierst diesen Code in dein Browserfenster: {{{ nonce }}}
+
+
+
+
+
–––––––––––––––––––––––––––––––––––––––––––––––
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Falls du dich nicht selbst bei Human Connection angemeldet hast, schau doch mal vorbei!
+ Wir sind ein gemeinnütziges Aktionsnetzwerk – von Menschen für Menschen.
+
PS: Wenn du keinen Account bei uns möchtest, kannst du diese
+ E-Mail einfach ignorieren. ;)
- Human Connection gGmbH bietet über die Internetseite
-
- https://alpha.human-connection.org
-
- den Nutzern und Interessierten umfangreiche Informationen. Dabei liegt uns der
- vertrauensvolle und sichere Umgang mit Deinen personenbezogenen Daten sehr am Herzen.
-
-
-
- Auf Grund von rechtlichen und technischen Veränderungen, passen wir die
- Datenschutzerklärung bei Bedarf an. Es ist jeweils die aktuellste Fassung unserer hier
- veröffentlichten Datenschutzerklärung gültig.
-
-
Verantwortlicher
-
- Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den
- Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer
- Bestimmungen mit datenschutzrechtlichem Charakter ist die:
-
- Die bei der Registrierung oder später von Dir angegebenen personenbezogenen Daten
- verarbeiten wir nur zu den weiter unten genannten Zwecken. Wir übermitteln sie nicht an
- Dritte zu weiteren Zwecken, außer:
-
-
-
wir haben Deine ausdrückliche Einwilligung dazu,
-
die Verarbeitung ist zur Abwicklung eines Vertrages mit Dir erforderlich,
-
- die Verarbeitung ist zur Erfüllung einer rechtlichen Verpflichtung erforderlich oder
-
-
- die Verarbeitung zur Wahrung berechtigter Interessen erforderlich ist und kein Grund zur
- Annahme besteht, dass Du ein überwiegendes schutzwürdiges Interesse an der
- Nichtweitergabe dieser Daten hast.
-
-
-
Deine Registrierung
-
- Im Sinne der Datenminimierung registrierst Du Dich bei unserer Webanwendung einzig mit
- Deiner E-Mail-Adresse. Weitere personenbezogene Daten sind für die Registrierung nicht
- nötig. Die Registrierung ist notwendig, um unser Netzwerk nutzen zu können.
-
-
-
- Über diese E-Mail-Adresse bist Du uns bekannt und ebenso dient diese als Deine Identität.
- D.h., alle Rechte, die Du ausübst, hängen mit dieser Identität zusammen und über sie
- erkennen wir, dass Du wirklich Du bist und nicht ein anderer.
-
-
-
- In der Kommunikation mit uns spielt die von Dir verwendete E-Mail-Adresse also eine
- zentrale Rolle. Daher werden wir alle von Dir ausgeübten Rechte und ggf. Wünsche, die Du
- an uns richtest, immer über Deine E-Mail-Adresse verifizieren. Niemals werden wir auf
- Basis eines Anrufes oder einer sonstigen Information an Deinem Account etwas ändern, ihn
- z.B. Löschen oder Stillegen, ohne diese Verifizierung – außer, wir sind durch ein Gesetz
- dazu gezwungen.
-
-
-
- Gesichert ist Deine Identität in unserem Netzwerk über ein Passwort, was von Dir selbst
- vergeben werden muss und jederzeit geändert werden kann. Weitere Daten, wie Dein
- Pseudonym, ein Avatar-Bildchen oder weitere Angaben, die ggf. auch personenbezogene Daten
- sein können, vergibst Du selbst. Sie sind für die Registrierung selbst nicht nötig.
-
-
Allgemeine Nutzungsinformationen
-
- Beim Abruf unserer Website werden von Deinem Browser Daten übertragen, die für den Abruf
- und die Übermittlung technisch notwendig sind, zum Beispiel Deine IP-Adresse. Die
- IP-Adresse kann zum Beispiel dazu dienen, Dich zu identifizieren und zählt daher zu den
- personenbezogenen Daten.
-
-
-
- Zusätzlich übermittelt Dein Browser mit jeder Anfrage an unseren Webserver weitere
- Informationen ungefragt, zum Beispiel Informationen über Dein Betriebssystem oder Deinen
- Webbrowser, die für eine Abfrage unserer Webseiten überflüssig sind und auch nicht
- ausgewertet werden. Dies sind keine personenbezogenen Daten und lassen keinen Rückschluss
- auf Deine Person zu.
-
-
-
- Letztere Daten werden wir u.U. statistisch auswerten, um für die Nutzer unserer Plattform
- Statistiken bereit zu stellen oder um unsere Plattform weiter zu optimieren,
- beispielsweise um sie für besonders oft genutzte Browser oder Betriebssysteme optimal
- anzupassen.
-
-
Löschung bzw. Sperrung
-
- Wir folgen dem Grundsatz der Datenvermeidung und Datensparsamkeit. Daher speichern wir
- Deine personenbezogenen Daten nur so lange, wie dies zur Erreichung der hier genannten
- Zwecke erforderlich ist oder wie es die ggf. gesetzlich vorgesehenen Speicherfristen
- vorsehen. Ist die Frist abgelaufen oder der Zweck nicht mehr gegeben, sperren oder löschen
- wir diese Daten entsprechend den gesetzlichen Vorschriften.
-
-
Log-Files
-
- Unsere Webserver schreiben Protokolle, um ggf. vorkommende Anwendungsfehler erkennen zu
- können. Diese Protokolle enthalten keine IP-Adressen und werden von uns spätestens nach 7
- Tagen gelöscht.
-
-
Cookies
-
- Wie die meisten anderen Webseiten verwenden auch wir so genannte „Cookies“. Cookies sind
- kleine Textdateien, die von einem Webserver in Deinem Browser gespeichert werden, um dort
- bestimmte Informationen zu hinterlegen. Zum Beispiel, dass Du angemeldet bist, dass Du die
- Website in einer bestimmten Sprache sehen möchtest oder um auf der Website zu navigieren.
- Diese Daten sind nur in Deinem Browser gespeichert und werden von uns nicht weiter
- gegeben. Für die Funktionalität unserer Website sind diese Cookies erforderlich. Sie
- können aber trotzdem jederzeit von Dir gelöscht werden.
-
-
-
- Desweiteren gibt es sogenannte Drittanbieter-Cookies. Cookies von Drittanbietern sind
- Cookies, die durch eingebundene Funktionalitäten anderer Websites angelegt werden, zum
- Beispiel bei Like-Buttons, Landkarten oder Videos-Plugins, obwohl Du nur unsere Website
- besuchst. Diese Drittanbieter können dann Cookies lesen und speichern, genauso, als wenn
- Du deren Seite besuchen würdest.
-
-
-
- Da wir als Social-Network bestimmte Funktionalitäten, wie zum Beispiel eingebettete
- Videos, für die Nutzer zur Verfügung stellen möchten, kommen wir ohne diese Cookies leider
- nicht aus. Cookies von Drittanbietern ermöglichen das sogenannte Tracking. D.h., dass der
- Drittanbieter über Deinen Aufruf unserer Website informiert wird und diese Daten auswerten
- kann.
-
-
-
- Auch diese Cookies können jederzeit gelöscht werden. Auch kannst Du im Browser das Setzen
- von Drittanbietercookies verbieten. Dadurch wird unsere Website aber unter Umständen in
- Ihrer Funktion eingeschränkt sein. Dein Browser kann auch so eingestellt werden, dass Du
- über Cookies informiert wirst und das Speichern einzeln bestätigen oder ablehnen kannst.
- Informationen zu den oft genutzten Browsern findest Du hier:
-
- Unser Netzwerk und alle darin von Dir oder anderen veröffentlichten Daten stehen der
- Öffentlichkeit zur Verfügung, solange Inhalte bzw. Funktionen nicht explizit anders
- gekennzeichnet sind. Überdenke daher, was Du schreibst und wie Du Dich äußerst, denn was
- einmal in der Öffentlichkeit ist, lässt sich nur schwer wieder zurücknehmen, selbst, wenn
- Du oder wir es löschen.
-
-
Du hast Rechte
-
- Damit Du unsere Webanwendung nutzen kannst, verarbeiten wir u.a. personenbezogene Daten
- von Dir. Du bist also eine von dieser Verarbeitung „betroffene Person“. Gemäß der
- europäischen Datenschutzgrundverordnung kannst Du daher uns gegenüber folgende Rechte
- ausüben:
-
-
-
Auskunft über Deine ggf. bei uns verarbeiteten personenbezogenen Daten,
-
Berichtigung unrichtiger personenbezogener Daten,
-
Löschung Deiner bei uns gespeicherten personenbezogenen Daten,
-
- Einschränkung der Datenverarbeitung, sofern wir Deine Daten aufgrund gesetzlicher
- Pflichten noch nicht löschen dürfen,
-
-
Widerspruch gegen die Verarbeitung Deiner Daten bei uns und
-
Datenübertragbarkeit
-
-
-
-
- Sofern Du uns eine Einwilligung zur Verarbeitung Deiner personenbezogenen Daten erteilt
- hast (bei der Registrierung), kannst Du diese jederzeit mit Wirkung für die Zukunft
- widerrufen.
-
-
-
-
-
- Du kannst Dich auch jederzeit bei einer Aufsichtsbehörde über uns beschweren, solltest
- Du der Ansicht sein, dass die Verarbeitung Deiner personenbezogenen Daten gegen die
- europäische Datenschutz-Grundverodnung oder das Bundesdatenschutzgesetz verstößt. Eine
- Möglichkeit ist hier:
-
-
-
-
-
- Landesbeauftragter für Datenschutz und Informationsfreiheit Baden-Württemberg
-
-
- Wir nutzen die Youtube-Einbettungsfunktion zur Anzeige und Wiedergabe von Videos des
- Anbieters „Youtube“, der zu der Google LLC., 1600 Amphitheatre Parkway, Mountain View, CA
- 94043, USA („Google“) gehört.
-
-
-
- Dabei wird der erweiterte Datenschutzmodus verwendet, der nach Angaben von Google eine
- Speicherung von Nutzerinformationen erst bei Wiedergabe des/der Videos in Gang setzt.
-
-
-
- Wenn Du die Wiedergabe eingebetteter Youtube-Videos startest, setzt der Google „Youtube“
- Cookies ein, um Informationen über Dein Nutzungsverhalten zu sammeln. „Youtube“ nach
- dienen diese unter anderem dazu, Videostatistiken zu erfassen, die Nutzerfreundlichkeit zu
- verbessern und Missbrauch zu unterbinden. Bist Du gleichzeitig bei YouTube eingeloggt,
- werden diese Informationen Deinem Mitgliedskonto bei YouTube zugeordnet. Wenn Du die
- Zuordnung mit Deinem Profil bei YouTube nicht wünschst, musst Du Dich vor Aktivierung des
- Buttons ausloggen. Google speichert Deine Daten (selbst für nicht eingeloggte Nutzer) als
- Nutzungsprofile und wertet diese aus. Eine solche Auswertung erfolgt insbesondere gemäß
- Art. 6 Abs. 1 lit.f DSGVO auf Basis der berechtigten Interessen von Google an der
- Einblendung personalisierter Werbung, Marktforschung und/oder bedarfsgerechten Gestaltung
- seiner Website. Dir steht ein Widerspruchsrecht zu gegen die Bildung dieser Nutzerprofile,
- wobei Du Dich zur Ausübung dessen an YouTube richten musst.
-
-
-
- Unabhängig von einer Wiedergabe der eingebetteten Videos wird bei jedem Aufruf dieser
- Website eine Verbindung zum Google-Netzwerk „DoubleClick“ aufgenommen, was ohne unseren
- Einfluss weitere Datenverarbeitungsvorgänge auslösen kann.
-
-
-
- Google LLC mit Sitz in den USA ist für das us-europäische Datenschutzübereinkommen
- „Privacy Shield“ zertifiziert, welches die Einhaltung des in der EU geltenden
- Datenschutzniveaus gewährleistet.
-
- Wir nutzen auch Plugins von Vimeo der Vimeo, LLC, 555 West 18th Street, New York, New York
- 10011, USA.
-
-
- Rufst du eine Seite auf, die ein solches Plugin eingebunden hat, stellt Dein Browser eine
- direkte Verbindung zu den Servern von Vimeo her. Durch diese Einbindung erhält Vimeo die
- Information, dass Du unsere Seite aufgerufen hast, auch wenn Du keinen Vimeo-Account
- besitzt oder gerade nicht bei Vimeo eingeloggt bist. Deine IP-Adresse und noch einige
- Daten, die Dein Browser liefert, werden von Deinem Browser direkt an einen Server von
- Vimeo in die USA übermittelt und dort gespeichert.
-
-
- Wenn Du gerade bei Vimeo eingeloggt bist, kann Vimeo die Nutzung unserer webanwendung
- Deinem Vimeo-Account zuordnen. Wenn Du das Plugin benutzt, wie z.B. beim Start eines
- Videos, werden diese Informationen ebenso an einen Server von Vimeo gesendet und dort
- verarbeitet.
-
-
-
- Diese Verarbeitungsvorgänge erfolgen gem. Art. 6 Abs. 1 lit. f DSGVO auf Grundlage des
- berechtigten Interesses von Vimeo an Marktforschung und der bedarfsgerechten Gestaltung
- des Dienstes.
-
-
-
Wenn Du das nicht möchtest, musst Du Dich vorher bei Vimeo ausloggen.
-
-
- Vimeo informiert über den Zweck, Umfang und die weitere Verarbeitung und Nutzung der
- Daten, sowie Ihre diesbezüglichen Rechte und Einstellungsmöglichkeiten zum Schutz Deiner
- Privatsphäre in den Datenschutzhinweisen:
- https://vimeo.com/privacy
-
-
-
- Bei Vimeo-Videos, die bei uns in Beiträgen eingebunden sind, ist das Trackingtool Google
- Analytics integriert. Auf dieses Tracking seitens Vimeo haben wir leider keinen Einfluss.
- Google Analytics verwendet für das Tracking „Drittanbieter-Cookies“, wie schon oben
- beschrieben. Die erhobenen Daten über Deine Benutzung unserer Website werden an einen
- Server von Google übertragen und dort gespeichert, in der Regel in die USA.
-
-
-
- Dies erfolgt gem. Art. 6 Abs. 1 lit. f DSGVO auf Grundlage des berechtigten Interesses von
- Vimeo an der statistischen Analyse des Nutzerverhaltens zu Optimierungs- und
- Marketingzwecken.
-
-
Sicherheit des Web-Zugriffs
-
- Um die Datenübertragung von unserem Webserver zu Dir und umgekehrt zu schützen, verwenden
- wir eine TLS 1.3 verschlüsselte Verbindung. Dass erkennst Du am grünen Schloss in Deinem
- Browser bzw. daran, dass Deine URL mit „https“ beginnt, statt mit „http“. So kann niemand
- mitlesen, was Du siehst oder was Du eingibst.
-
From e45948f4f0785a455c1ff71f112eb337c26a6b13 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Thu, 19 Sep 2019 00:23:51 +0100
Subject: [PATCH 0083/1807] use password reset template
---
.../email/templates/passwordReset.js | 48 +++++--------------
1 file changed, 13 insertions(+), 35 deletions(-)
diff --git a/backend/src/middleware/email/templates/passwordReset.js b/backend/src/middleware/email/templates/passwordReset.js
index c8617004b..03f697200 100644
--- a/backend/src/middleware/email/templates/passwordReset.js
+++ b/backend/src/middleware/email/templates/passwordReset.js
@@ -1,13 +1,17 @@
+import fs from 'fs'
+import path from 'path'
+import mustache from 'mustache'
import CONFIG from '../../../config'
-export const resetPasswordMail = options => {
- const {
- name,
- email,
- nonce,
- subject = 'Use this link to reset your password. The link is only valid for 24 hours.',
- supportUrl = 'https://human-connection.org/en/contact/',
- } = options
+const passwordResetHtml = fs.readFileSync(path.join(__dirname, './resetPassword.html'), 'utf-8')
+
+export const resetPasswordMail = ({
+ name,
+ email,
+ nonce,
+ subject = 'Neues Passwort / Reset Password',
+ supportUrl = 'https://human-connection.org/en/contact/',
+}) => {
const actionUrl = new URL('/password-reset/change-password', CONFIG.CLIENT_URI)
actionUrl.searchParams.set('nonce', nonce)
actionUrl.searchParams.set('email', email)
@@ -16,33 +20,7 @@ export const resetPasswordMail = options => {
from: '"Human Connection" ',
to: email,
subject,
- text: `
-Hi ${name}!
-
-You recently requested to reset your password for your Human Connection account.
-Use the link below to reset it. This password reset is only valid for the next
-24 hours.
-
-${actionUrl}
-
-If you did not request a password reset, please ignore this email or contact
-support if you have questions:
-
-${supportUrl}
-
-Thanks,
-The Human Connection Team
-
-If you're having trouble with the link above, you can manually copy and
-paste the following code into your browser window:
-
-${nonce}
-
-Human Connection gemeinnützige GmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-Deutschland
- `,
+ html: mustache.render(passwordResetHtml, { actionUrl, name, nonce, supportUrl }),
}
}
From b193e180c5d9d70c8d9e9aa5f927493026cb8458 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Thu, 19 Sep 2019 00:42:42 +0100
Subject: [PATCH 0084/1807] add wrong account html template
---
.../email/templates/passwordReset.js | 26 +-
.../email/templates/resetPassword.html | 4 +-
.../email/templates/wrongAccount.html | 448 ++++++++++++++++++
3 files changed, 452 insertions(+), 26 deletions(-)
create mode 100644 backend/src/middleware/email/templates/wrongAccount.html
diff --git a/backend/src/middleware/email/templates/passwordReset.js b/backend/src/middleware/email/templates/passwordReset.js
index 03f697200..0b57fc9d5 100644
--- a/backend/src/middleware/email/templates/passwordReset.js
+++ b/backend/src/middleware/email/templates/passwordReset.js
@@ -4,6 +4,7 @@ import mustache from 'mustache'
import CONFIG from '../../../config'
const passwordResetHtml = fs.readFileSync(path.join(__dirname, './resetPassword.html'), 'utf-8')
+const wrongAccountHtml = fs.readFileSync(path.join(__dirname, './wrongAccount.html'), 'utf-8')
export const resetPasswordMail = ({
name,
@@ -35,29 +36,6 @@ export const wrongAccountMail = options => {
from: '"Human Connection" ',
to: email,
subject,
- text: `
-We received a request to reset the password to access Human Connection with your
-email address, but we were unable to find an account associated with this
-address.
-
-If you use Human Connection and were expecting this email, consider trying to
-request a password reset using the email address associated with your account.
-Try a different email:
-
-${actionUrl}
-
-If you do not use Human Connection or did not request a password reset, please
-ignore this email. Feel free to contact support if you have further questions:
-
-${supportUrl}
-
-Thanks,
-The Human Connection Team
-
-Human Connection gemeinnützige GmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-Deutschland
- `,
+ html: mustache.render(wrongAccountHtml, { actionUrl, supportUrl }),
}
}
diff --git a/backend/src/middleware/email/templates/resetPassword.html b/backend/src/middleware/email/templates/resetPassword.html
index 162078c73..1b12702b4 100644
--- a/backend/src/middleware/email/templates/resetPassword.html
+++ b/backend/src/middleware/email/templates/resetPassword.html
@@ -8,7 +8,7 @@
- Reset Password / Neues Passwort
+ Reset Password | Neues Passwort
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hallo!
+
Du hast bei uns ein neues Password angefordert – leider haben wir aber keinen
+ Account mit deiner E-Mailadresse gefunden. Kann es sein, dass du mit einer anderen Adresse bei uns
+ angemeldet bist?
You requested a password reset but unfortunately we couldn't find an account
+ associated with your email address. Did you maybe use another one when you signed up?
+
+
+
From a7d525deab849799cae9d4c11d76c6d149b61b0a Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Thu, 19 Sep 2019 00:55:06 +0100
Subject: [PATCH 0085/1807] refactor password reset
---
.../src/middleware/email/emailMiddleware.js | 7 ++-
.../email/templates/passwordReset.js | 43 +++++++++----------
2 files changed, 23 insertions(+), 27 deletions(-)
diff --git a/backend/src/middleware/email/emailMiddleware.js b/backend/src/middleware/email/emailMiddleware.js
index 52bf25954..af3d69c4a 100644
--- a/backend/src/middleware/email/emailMiddleware.js
+++ b/backend/src/middleware/email/emailMiddleware.js
@@ -1,13 +1,13 @@
import CONFIG from '../../config'
import nodemailer from 'nodemailer'
import { htmlToText } from 'nodemailer-html-to-text'
-import { resetPasswordMail, wrongAccountMail } from './templates/passwordReset'
+import { resetPasswordTemplate } from './templates/passwordReset'
import { signupTemplate } from './templates/signup'
const hasEmailConfig = CONFIG.SMTP_HOST && CONFIG.SMTP_PORT
const hasAuthData = CONFIG.SMTP_USERNAME && CONFIG.SMTP_PASSWORD
-let sendMail = () => {}
+let sendMail = () => { }
if (!hasEmailConfig) {
if (process.env.NODE_ENV !== 'test') {
// eslint-disable-next-line no-console
@@ -49,8 +49,7 @@ const sendSignupMail = async (resolve, root, args, context, resolveInfo) => {
const sendPasswordResetMail = async (resolve, root, args, context, resolveInfo) => {
const { email } = args
const { email: emailFound, nonce, name } = await resolve(root, args, context, resolveInfo)
- const mailTemplate = emailFound ? resetPasswordMail : wrongAccountMail
- await sendMail(mailTemplate({ email, nonce, name }))
+ await sendMail(resetPasswordTemplate({ emailFound, email, nonce, name }))
return true
}
diff --git a/backend/src/middleware/email/templates/passwordReset.js b/backend/src/middleware/email/templates/passwordReset.js
index 0b57fc9d5..d9da7a180 100644
--- a/backend/src/middleware/email/templates/passwordReset.js
+++ b/backend/src/middleware/email/templates/passwordReset.js
@@ -6,36 +6,33 @@ import CONFIG from '../../../config'
const passwordResetHtml = fs.readFileSync(path.join(__dirname, './resetPassword.html'), 'utf-8')
const wrongAccountHtml = fs.readFileSync(path.join(__dirname, './wrongAccount.html'), 'utf-8')
-export const resetPasswordMail = ({
+const supportUrl = 'https://human-connection.org/en/contact/'
+const from = '"Human Connection" '
+
+export const resetPasswordTemplate = ({
name,
email,
+ emailFound,
nonce,
- subject = 'Neues Passwort / Reset Password',
- supportUrl = 'https://human-connection.org/en/contact/',
}) => {
- const actionUrl = new URL('/password-reset/change-password', CONFIG.CLIENT_URI)
- actionUrl.searchParams.set('nonce', nonce)
- actionUrl.searchParams.set('email', email)
+ let subject, htmlTemplate, actionUrl
+
+ if (emailFound) {
+ subject = 'Neues Passwort | Reset Password'
+ htmlTemplate = passwordResetHtml
+ actionUrl = new URL('/password-reset/change-password', CONFIG.CLIENT_URI)
+ actionUrl.searchParams.set('nonce', nonce)
+ actionUrl.searchParams.set('email', email)
+ } else {
+ subject = 'Falsche Mailadresse? | Wrong Email?'
+ htmlTemplate = wrongAccountHtml
+ actionUrl = new URL('/password-reset/request', CONFIG.CLIENT_URI)
+ }
return {
- from: '"Human Connection" ',
+ from,
to: email,
subject,
- html: mustache.render(passwordResetHtml, { actionUrl, name, nonce, supportUrl }),
- }
-}
-
-export const wrongAccountMail = options => {
- const {
- email,
- subject = `We received a request to reset your password with this email address (${email})`,
- supportUrl = 'https://human-connection.org/en/contact/',
- } = options
- const actionUrl = new URL('/password-reset/request', CONFIG.CLIENT_URI)
- return {
- from: '"Human Connection" ',
- to: email,
- subject,
- html: mustache.render(wrongAccountHtml, { actionUrl, supportUrl }),
+ html: mustache.render(htmlTemplate, { actionUrl, name, nonce, supportUrl }),
}
}
From e843edeb131a8017f3ef078608b133cdba4b84b1 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Thu, 19 Sep 2019 01:15:52 +0100
Subject: [PATCH 0086/1807] unite email templates in templateBuilder
---
.../src/middleware/email/emailMiddleware.js | 14 +--
.../email/templates/passwordReset.js | 38 ---------
.../src/middleware/email/templates/signup.js | 24 ------
.../email/templates/templateBuilder.js | 48 +++++++++++
.../resolvers/passwordReset/emailTemplates.js | 85 -------------------
5 files changed, 57 insertions(+), 152 deletions(-)
delete mode 100644 backend/src/middleware/email/templates/passwordReset.js
delete mode 100644 backend/src/middleware/email/templates/signup.js
create mode 100644 backend/src/middleware/email/templates/templateBuilder.js
delete mode 100644 backend/src/schema/resolvers/passwordReset/emailTemplates.js
diff --git a/backend/src/middleware/email/emailMiddleware.js b/backend/src/middleware/email/emailMiddleware.js
index af3d69c4a..e5b0678b8 100644
--- a/backend/src/middleware/email/emailMiddleware.js
+++ b/backend/src/middleware/email/emailMiddleware.js
@@ -1,13 +1,16 @@
import CONFIG from '../../config'
import nodemailer from 'nodemailer'
import { htmlToText } from 'nodemailer-html-to-text'
-import { resetPasswordTemplate } from './templates/passwordReset'
-import { signupTemplate } from './templates/signup'
+import {
+ signupTemplate,
+ resetPasswordTemplate,
+ wrongAccountTemplate,
+} from './templates/templateBuilder'
const hasEmailConfig = CONFIG.SMTP_HOST && CONFIG.SMTP_PORT
const hasAuthData = CONFIG.SMTP_USERNAME && CONFIG.SMTP_PASSWORD
-let sendMail = () => { }
+let sendMail = () => {}
if (!hasEmailConfig) {
if (process.env.NODE_ENV !== 'test') {
// eslint-disable-next-line no-console
@@ -48,8 +51,9 @@ const sendSignupMail = async (resolve, root, args, context, resolveInfo) => {
const sendPasswordResetMail = async (resolve, root, args, context, resolveInfo) => {
const { email } = args
- const { email: emailFound, nonce, name } = await resolve(root, args, context, resolveInfo)
- await sendMail(resetPasswordTemplate({ emailFound, email, nonce, name }))
+ const { email: userFound, nonce, name } = await resolve(root, args, context, resolveInfo)
+ const template = userFound ? resetPasswordTemplate : wrongAccountTemplate
+ await sendMail(template({ email, nonce, name }))
return true
}
diff --git a/backend/src/middleware/email/templates/passwordReset.js b/backend/src/middleware/email/templates/passwordReset.js
deleted file mode 100644
index d9da7a180..000000000
--- a/backend/src/middleware/email/templates/passwordReset.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import fs from 'fs'
-import path from 'path'
-import mustache from 'mustache'
-import CONFIG from '../../../config'
-
-const passwordResetHtml = fs.readFileSync(path.join(__dirname, './resetPassword.html'), 'utf-8')
-const wrongAccountHtml = fs.readFileSync(path.join(__dirname, './wrongAccount.html'), 'utf-8')
-
-const supportUrl = 'https://human-connection.org/en/contact/'
-const from = '"Human Connection" '
-
-export const resetPasswordTemplate = ({
- name,
- email,
- emailFound,
- nonce,
-}) => {
- let subject, htmlTemplate, actionUrl
-
- if (emailFound) {
- subject = 'Neues Passwort | Reset Password'
- htmlTemplate = passwordResetHtml
- actionUrl = new URL('/password-reset/change-password', CONFIG.CLIENT_URI)
- actionUrl.searchParams.set('nonce', nonce)
- actionUrl.searchParams.set('email', email)
- } else {
- subject = 'Falsche Mailadresse? | Wrong Email?'
- htmlTemplate = wrongAccountHtml
- actionUrl = new URL('/password-reset/request', CONFIG.CLIENT_URI)
- }
-
- return {
- from,
- to: email,
- subject,
- html: mustache.render(htmlTemplate, { actionUrl, name, nonce, supportUrl }),
- }
-}
diff --git a/backend/src/middleware/email/templates/signup.js b/backend/src/middleware/email/templates/signup.js
deleted file mode 100644
index d67c8f7ae..000000000
--- a/backend/src/middleware/email/templates/signup.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import fs from 'fs'
-import path from 'path'
-import mustache from 'mustache'
-import CONFIG from '../../../config'
-
-const signupHtml = fs.readFileSync(path.join(__dirname, './signup.html'), 'utf-8')
-
-export const signupTemplate = ({
- email,
- nonce,
- subject = 'Willkommen, Bienvenue, Welcome to Human Connection!',
- supportUrl = 'https://human-connection.org/en/contact',
-}) => {
- const actionUrl = new URL('/registration/create-user-account', CONFIG.CLIENT_URI)
- actionUrl.searchParams.set('nonce', nonce)
- actionUrl.searchParams.set('email', email)
-
- return {
- from: '"Human Connection" ',
- to: email,
- subject,
- html: mustache.render(signupHtml, { actionUrl, nonce, supportUrl }),
- }
-}
diff --git a/backend/src/middleware/email/templates/templateBuilder.js b/backend/src/middleware/email/templates/templateBuilder.js
new file mode 100644
index 000000000..8bf7dc438
--- /dev/null
+++ b/backend/src/middleware/email/templates/templateBuilder.js
@@ -0,0 +1,48 @@
+import fs from 'fs'
+import path from 'path'
+import mustache from 'mustache'
+import CONFIG from '../../../config'
+
+const from = '"Human Connection" '
+const supportUrl = 'https://human-connection.org/en/contact'
+
+const signupHtml = fs.readFileSync(path.join(__dirname, './signup.html'), 'utf-8')
+const passwordResetHtml = fs.readFileSync(path.join(__dirname, './resetPassword.html'), 'utf-8')
+const wrongAccountHtml = fs.readFileSync(path.join(__dirname, './wrongAccount.html'), 'utf-8')
+
+export const signupTemplate = ({ email, nonce }) => {
+ const actionUrl = new URL('/registration/create-user-account', CONFIG.CLIENT_URI)
+ actionUrl.searchParams.set('nonce', nonce)
+ actionUrl.searchParams.set('email', email)
+
+ return {
+ from,
+ to: email,
+ subject: 'Willkommen, Bienvenue, Welcome to Human Connection!',
+ html: mustache.render(signupHtml, { actionUrl, supportUrl }),
+ }
+}
+
+export const resetPasswordTemplate = ({ email, nonce, name }) => {
+ const actionUrl = new URL('/password-reset/change-password', CONFIG.CLIENT_URI)
+ actionUrl.searchParams.set('nonce', nonce)
+ actionUrl.searchParams.set('email', email)
+
+ return {
+ from,
+ to: email,
+ subject: 'Neues Passwort | Reset Password',
+ html: mustache.render(passwordResetHtml, { actionUrl, name, nonce, supportUrl }),
+ }
+}
+
+export const wrongAccountTemplate = ({ email }) => {
+ const actionUrl = new URL('/password-reset/request', CONFIG.CLIENT_URI)
+
+ return {
+ from,
+ to: email,
+ subject: 'Falsche Mailadresse? | Wrong Email?',
+ html: mustache.render(wrongAccountHtml, { actionUrl, supportUrl }),
+ }
+}
diff --git a/backend/src/schema/resolvers/passwordReset/emailTemplates.js b/backend/src/schema/resolvers/passwordReset/emailTemplates.js
deleted file mode 100644
index 8508adccc..000000000
--- a/backend/src/schema/resolvers/passwordReset/emailTemplates.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import CONFIG from '../../../config'
-
-export const from = '"Human Connection" '
-
-export const resetPasswordMail = options => {
- const {
- name,
- email,
- code,
- subject = 'Use this link to reset your password. The link is only valid for 24 hours.',
- supportUrl = 'https://human-connection.org/en/contact/',
- } = options
- const actionUrl = new URL('/password-reset/change-password', CONFIG.CLIENT_URI)
- actionUrl.searchParams.set('code', code)
- actionUrl.searchParams.set('email', email)
-
- return {
- to: email,
- subject,
- text: `
-Hi ${name}!
-
-You recently requested to reset your password for your Human Connection account.
-Use the link below to reset it. This password reset is only valid for the next
-24 hours.
-
-${actionUrl}
-
-If you did not request a password reset, please ignore this email or contact
-support if you have questions:
-
-${supportUrl}
-
-Thanks,
-The Human Connection Team
-
-If you're having trouble with the link above, you can manually copy and
-paste the following code into your browser window:
-
-${code}
-
-Human Connection gemeinnützige GmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-Deutschland
- `,
- }
-}
-
-export const wrongAccountMail = options => {
- const {
- email,
- subject = `We received a request to reset your password with this email address (${email})`,
- supportUrl = 'https://human-connection.org/en/contact/',
- } = options
- const actionUrl = new URL('/password-reset/request', CONFIG.CLIENT_URI)
- return {
- to: email,
- subject,
- text: `
-We received a request to reset the password to access Human Connection with your
-email address, but we were unable to find an account associated with this
-address.
-
-If you use Human Connection and were expecting this email, consider trying to
-request a password reset using the email address associated with your account.
-Try a different email:
-
-${actionUrl}
-
-If you do not use Human Connection or did not request a password reset, please
-ignore this email. Feel free to contact support if you have further questions:
-
-${supportUrl}
-
-Thanks,
-The Human Connection Team
-
-Human Connection gemeinnützige GmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-Deutschland
- `,
- }
-}
From f13b6cb83ba85acc51a39a67176f3abfffc22912 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Thu, 19 Sep 2019 04:21:01 +0000
Subject: [PATCH 0087/1807] Bump eslint-plugin-prettier from 3.1.0 to 3.1.1 in
/backend
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.0...v3.1.1)
Signed-off-by: dependabot-preview[bot]
---
backend/package.json | 2 +-
backend/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/backend/package.json b/backend/package.json
index 3addc9aa6..cd7c92b30 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -122,7 +122,7 @@
"eslint-plugin-import": "~2.18.2",
"eslint-plugin-jest": "~22.17.0",
"eslint-plugin-node": "~10.0.0",
- "eslint-plugin-prettier": "~3.1.0",
+ "eslint-plugin-prettier": "~3.1.1",
"eslint-plugin-promise": "~4.2.1",
"eslint-plugin-standard": "~4.0.1",
"graphql-request": "~1.8.2",
diff --git a/backend/yarn.lock b/backend/yarn.lock
index e380c6ed9..70b50f7a6 100644
--- a/backend/yarn.lock
+++ b/backend/yarn.lock
@@ -3384,10 +3384,10 @@ eslint-plugin-node@~10.0.0:
resolve "^1.10.1"
semver "^6.1.0"
-eslint-plugin-prettier@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
- integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA==
+eslint-plugin-prettier@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba"
+ integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA==
dependencies:
prettier-linter-helpers "^1.0.0"
From f8cad0d202a9d02db90e5c3d20a9e6992dda7c7b Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Thu, 19 Sep 2019 04:21:21 +0000
Subject: [PATCH 0088/1807] Bump eslint-plugin-prettier from 3.1.0 to 3.1.1 in
/webapp
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.0...v3.1.1)
Signed-off-by: dependabot-preview[bot]
---
webapp/package.json | 2 +-
webapp/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/webapp/package.json b/webapp/package.json
index c59e3b78c..656d94e80 100644
--- a/webapp/package.json
+++ b/webapp/package.json
@@ -111,7 +111,7 @@
"eslint-plugin-import": "~2.18.2",
"eslint-plugin-jest": "~22.17.0",
"eslint-plugin-node": "~10.0.0",
- "eslint-plugin-prettier": "~3.1.0",
+ "eslint-plugin-prettier": "~3.1.1",
"eslint-plugin-promise": "~4.2.1",
"eslint-plugin-standard": "~4.0.1",
"eslint-plugin-vue": "~5.2.3",
diff --git a/webapp/yarn.lock b/webapp/yarn.lock
index 2d3126d62..57a358db5 100644
--- a/webapp/yarn.lock
+++ b/webapp/yarn.lock
@@ -6513,10 +6513,10 @@ eslint-plugin-node@~10.0.0:
resolve "^1.10.1"
semver "^6.1.0"
-eslint-plugin-prettier@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
- integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA==
+eslint-plugin-prettier@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba"
+ integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA==
dependencies:
prettier-linter-helpers "^1.0.0"
From b25d552193269a4c58f689523394fb519b3bee91 Mon Sep 17 00:00:00 2001
From: Alina Beck
Date: Thu, 19 Sep 2019 09:52:47 +0100
Subject: [PATCH 0089/1807] follow @Tirokk and @datenbrei suggestions
---
.../email/templates/resetPassword.html | 14 ++++----
.../middleware/email/templates/signup.html | 33 ++++++++-----------
.../email/templates/templateBuilder.js | 2 +-
.../email/templates/wrongAccount.html | 18 +++++-----
4 files changed, 30 insertions(+), 37 deletions(-)
diff --git a/backend/src/middleware/email/templates/resetPassword.html b/backend/src/middleware/email/templates/resetPassword.html
index 1b12702b4..e0dde53e5 100644
--- a/backend/src/middleware/email/templates/resetPassword.html
+++ b/backend/src/middleware/email/templates/resetPassword.html
@@ -8,7 +8,7 @@
- Reset Password | Neues Passwort
+ Neues Passwort | Reset Password
- Here is your signup link.
+ Dein Anmeldelink. | Here is your signup link.
@@ -261,9 +261,9 @@
Willkommen bei Human Connection!
-
Danke, dass du dich angemeldet hast – wir freuen uns, dich dabei zu haben. Jetzt
- fehlt nur noch eine Kleinigkeit, bevor wir gemeinsam die Welt verbessern können... Bitte bestätige
- deine E-Mail Adresse:
+
Danke, dass Du dich angemeldet hast – wir freuen uns, Dich dabei zu haben. Jetzt
+ fehlt nur noch eine Kleinigkeit, bevor wir gemeinsam die Welt verbessern können ... Bitte bestätige
+ Deine E-Mail Adresse:
Falls du dich nicht selbst bei Falls Du Dich nicht selbst bei Human Connection angemeldet hast, schau doch mal vorbei!
Wir sind ein gemeinnütziges Aktionsnetzwerk – von Menschen für Menschen.
-
PS: Wenn du keinen Account bei uns möchtest, kannst du diese
+
PS: Wenn Du keinen Account bei uns möchtest, kannst Du diese
E-Mail einfach ignorieren. ;)
Thank you for joining our cause – it's awesome to have you on board. There's
- just one tiny step missing before we can start shaping the world together... Please confirm your
+ just one tiny step missing before we can start shaping the world together ... Please confirm your
e-mail address by clicking the button below:
Or you can copy this code and paste it in your browser window: {{{ nonce }}}
-
-
–––––––––––––––––––––––––––––––––––––––––––––––
@@ -422,7 +414,8 @@
If you didn't sign up for Human Connection we recommend you to check it out!
It's a social network from people for people who want to connect and change the world together.
-
PS: If you ignore this email we will not create an account for
+
PS: If you ignore this e-mail we will not create an account
+ for
you. ;)
- für - - https://alpha.human-connection.org - -
-- Stand vom - 17. Juni 2019 -
--
- Human Connection gGmbH bietet über die Internetseite - - https://alpha.human-connection.org - - den Nutzern und Interessierten umfangreiche Informationen. Dabei liegt uns der - vertrauensvolle und sichere Umgang mit Deinen personenbezogenen Daten sehr am Herzen. -
--
- Auf Grund von rechtlichen und technischen Veränderungen, passen wir die - Datenschutzerklärung bei Bedarf an. Es ist jeweils die aktuellste Fassung unserer hier - veröffentlichten Datenschutzerklärung gültig. -
-Verantwortlicher
-- Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den - Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer - Bestimmungen mit datenschutzrechtlichem Charakter ist die: -
--
Human Connection gGmbH
-Bahnhofstr. 11
-73235 Weilheim / Teck
-- Geschäftsführer: - Dennis Hack -
-- Telefon: - +49 151 43 80 42 22 -
-- E-Mail: - info@human-connection.org -
-- Web: - https://human-connection.org -
--
Datenschutzbeauftragter
-Unser Datenschutzbeauftragte ist so erreichbar
--
- E-Mail: - datenschutz@human-connection.org -
--
Zwecke der Datenverarbeitung
-- Die bei der Registrierung oder später von Dir angegebenen personenbezogenen Daten - verarbeiten wir nur zu den weiter unten genannten Zwecken. Wir übermitteln sie nicht an - Dritte zu weiteren Zwecken, außer: -
--- wir haben Deine ausdrückliche Einwilligung dazu,
- - die Verarbeitung ist zur Abwicklung eines Vertrages mit Dir erforderlich,
- -
- die Verarbeitung ist zur Erfüllung einer rechtlichen Verpflichtung erforderlich oder
-
- -
- die Verarbeitung zur Wahrung berechtigter Interessen erforderlich ist und kein Grund zur
- Annahme besteht, dass Du ein überwiegendes schutzwürdiges Interesse an der
- Nichtweitergabe dieser Daten hast.
-
-
-Deine Registrierung
-- Im Sinne der Datenminimierung registrierst Du Dich bei unserer Webanwendung einzig mit - Deiner E-Mail-Adresse. Weitere personenbezogene Daten sind für die Registrierung nicht - nötig. Die Registrierung ist notwendig, um unser Netzwerk nutzen zu können. -
--
- Über diese E-Mail-Adresse bist Du uns bekannt und ebenso dient diese als Deine Identität. - D.h., alle Rechte, die Du ausübst, hängen mit dieser Identität zusammen und über sie - erkennen wir, dass Du wirklich Du bist und nicht ein anderer. -
--
- In der Kommunikation mit uns spielt die von Dir verwendete E-Mail-Adresse also eine - zentrale Rolle. Daher werden wir alle von Dir ausgeübten Rechte und ggf. Wünsche, die Du - an uns richtest, immer über Deine E-Mail-Adresse verifizieren. Niemals werden wir auf - Basis eines Anrufes oder einer sonstigen Information an Deinem Account etwas ändern, ihn - z.B. Löschen oder Stillegen, ohne diese Verifizierung – außer, wir sind durch ein Gesetz - dazu gezwungen. -
--
- Gesichert ist Deine Identität in unserem Netzwerk über ein Passwort, was von Dir selbst - vergeben werden muss und jederzeit geändert werden kann. Weitere Daten, wie Dein - Pseudonym, ein Avatar-Bildchen oder weitere Angaben, die ggf. auch personenbezogene Daten - sein können, vergibst Du selbst. Sie sind für die Registrierung selbst nicht nötig. -
-Allgemeine Nutzungsinformationen
-- Beim Abruf unserer Website werden von Deinem Browser Daten übertragen, die für den Abruf - und die Übermittlung technisch notwendig sind, zum Beispiel Deine IP-Adresse. Die - IP-Adresse kann zum Beispiel dazu dienen, Dich zu identifizieren und zählt daher zu den - personenbezogenen Daten. -
--
- Zusätzlich übermittelt Dein Browser mit jeder Anfrage an unseren Webserver weitere - Informationen ungefragt, zum Beispiel Informationen über Dein Betriebssystem oder Deinen - Webbrowser, die für eine Abfrage unserer Webseiten überflüssig sind und auch nicht - ausgewertet werden. Dies sind keine personenbezogenen Daten und lassen keinen Rückschluss - auf Deine Person zu. -
--
- Letztere Daten werden wir u.U. statistisch auswerten, um für die Nutzer unserer Plattform - Statistiken bereit zu stellen oder um unsere Plattform weiter zu optimieren, - beispielsweise um sie für besonders oft genutzte Browser oder Betriebssysteme optimal - anzupassen. -
-Löschung bzw. Sperrung
-- Wir folgen dem Grundsatz der Datenvermeidung und Datensparsamkeit. Daher speichern wir - Deine personenbezogenen Daten nur so lange, wie dies zur Erreichung der hier genannten - Zwecke erforderlich ist oder wie es die ggf. gesetzlich vorgesehenen Speicherfristen - vorsehen. Ist die Frist abgelaufen oder der Zweck nicht mehr gegeben, sperren oder löschen - wir diese Daten entsprechend den gesetzlichen Vorschriften. -
-Log-Files
-- Unsere Webserver schreiben Protokolle, um ggf. vorkommende Anwendungsfehler erkennen zu - können. Diese Protokolle enthalten keine IP-Adressen und werden von uns spätestens nach 7 - Tagen gelöscht. -
-Cookies
-- Wie die meisten anderen Webseiten verwenden auch wir so genannte „Cookies“. Cookies sind - kleine Textdateien, die von einem Webserver in Deinem Browser gespeichert werden, um dort - bestimmte Informationen zu hinterlegen. Zum Beispiel, dass Du angemeldet bist, dass Du die - Website in einer bestimmten Sprache sehen möchtest oder um auf der Website zu navigieren. - Diese Daten sind nur in Deinem Browser gespeichert und werden von uns nicht weiter - gegeben. Für die Funktionalität unserer Website sind diese Cookies erforderlich. Sie - können aber trotzdem jederzeit von Dir gelöscht werden. -
--
- Desweiteren gibt es sogenannte Drittanbieter-Cookies. Cookies von Drittanbietern sind - Cookies, die durch eingebundene Funktionalitäten anderer Websites angelegt werden, zum - Beispiel bei Like-Buttons, Landkarten oder Videos-Plugins, obwohl Du nur unsere Website - besuchst. Diese Drittanbieter können dann Cookies lesen und speichern, genauso, als wenn - Du deren Seite besuchen würdest. -
--
- Da wir als Social-Network bestimmte Funktionalitäten, wie zum Beispiel eingebettete - Videos, für die Nutzer zur Verfügung stellen möchten, kommen wir ohne diese Cookies leider - nicht aus. Cookies von Drittanbietern ermöglichen das sogenannte Tracking. D.h., dass der - Drittanbieter über Deinen Aufruf unserer Website informiert wird und diese Daten auswerten - kann. -
--
- Auch diese Cookies können jederzeit gelöscht werden. Auch kannst Du im Browser das Setzen - von Drittanbietercookies verbieten. Dadurch wird unsere Website aber unter Umständen in - Ihrer Funktion eingeschränkt sein. Dein Browser kann auch so eingestellt werden, dass Du - über Cookies informiert wirst und das Speichern einzeln bestätigen oder ablehnen kannst. - Informationen zu den oft genutzten Browsern findest Du hier: -
--
--
- Firefox:
-
- https://support.mozilla.org/de/kb/cookies-erlauben-und-ablehnen
-
-
- -
- Chrome:
-
- http://support.google.com/chrome/bin/answer.py?hl=de&hlrm=en&answer=95647
-
-
- -
- Safari:
-
- https://support.apple.com/kb/ph21411?locale=de_DE
-
-
- -
- Opera:
-
- http://help.opera.com/Windows/10.20/de/cookies.html
-
-
- -
- Edge:
-
- https://privacy.microsoft.com/en-us/windows-10-microsoft-edge-and-privacy
-
-
-
-Die Öffentlichkeit
-- Unser Netzwerk und alle darin von Dir oder anderen veröffentlichten Daten stehen der - Öffentlichkeit zur Verfügung, solange Inhalte bzw. Funktionen nicht explizit anders - gekennzeichnet sind. Überdenke daher, was Du schreibst und wie Du Dich äußerst, denn was - einmal in der Öffentlichkeit ist, lässt sich nur schwer wieder zurücknehmen, selbst, wenn - Du oder wir es löschen. -
-Du hast Rechte
-- Damit Du unsere Webanwendung nutzen kannst, verarbeiten wir u.a. personenbezogene Daten - von Dir. Du bist also eine von dieser Verarbeitung „betroffene Person“. Gemäß der - europäischen Datenschutzgrundverordnung kannst Du daher uns gegenüber folgende Rechte - ausüben: -
--- Auskunft über Deine ggf. bei uns verarbeiteten personenbezogenen Daten,
- - Berichtigung unrichtiger personenbezogener Daten,
- - Löschung Deiner bei uns gespeicherten personenbezogenen Daten,
- -
- Einschränkung der Datenverarbeitung, sofern wir Deine Daten aufgrund gesetzlicher
- Pflichten noch nicht löschen dürfen,
-
- - Widerspruch gegen die Verarbeitung Deiner Daten bei uns und
- - Datenübertragbarkeit
-
--
- - Sofern Du uns eine Einwilligung zur Verarbeitung Deiner personenbezogenen Daten erteilt - hast (bei der Registrierung), kannst Du diese jederzeit mit Wirkung für die Zukunft - widerrufen. - -
--
- - Du kannst Dich auch jederzeit bei einer Aufsichtsbehörde über uns beschweren, solltest - Du der Ansicht sein, dass die Verarbeitung Deiner personenbezogenen Daten gegen die - europäische Datenschutz-Grundverodnung oder das Bundesdatenschutzgesetz verstößt. Eine - Möglichkeit ist hier: - -
--
- - Landesbeauftragter für Datenschutz und Informationsfreiheit Baden-Württemberg - -
-- - https://www.baden-wuerttemberg.datenschutz.de/kontakt/ - -
-Verwendung von Youtube-Videos
-- Wir nutzen die Youtube-Einbettungsfunktion zur Anzeige und Wiedergabe von Videos des - Anbieters „Youtube“, der zu der Google LLC., 1600 Amphitheatre Parkway, Mountain View, CA - 94043, USA („Google“) gehört. -
--
- Dabei wird der erweiterte Datenschutzmodus verwendet, der nach Angaben von Google eine - Speicherung von Nutzerinformationen erst bei Wiedergabe des/der Videos in Gang setzt. -
--
- Wenn Du die Wiedergabe eingebetteter Youtube-Videos startest, setzt der Google „Youtube“ - Cookies ein, um Informationen über Dein Nutzungsverhalten zu sammeln. „Youtube“ nach - dienen diese unter anderem dazu, Videostatistiken zu erfassen, die Nutzerfreundlichkeit zu - verbessern und Missbrauch zu unterbinden. Bist Du gleichzeitig bei YouTube eingeloggt, - werden diese Informationen Deinem Mitgliedskonto bei YouTube zugeordnet. Wenn Du die - Zuordnung mit Deinem Profil bei YouTube nicht wünschst, musst Du Dich vor Aktivierung des - Buttons ausloggen. Google speichert Deine Daten (selbst für nicht eingeloggte Nutzer) als - Nutzungsprofile und wertet diese aus. Eine solche Auswertung erfolgt insbesondere gemäß - Art. 6 Abs. 1 lit.f DSGVO auf Basis der berechtigten Interessen von Google an der - Einblendung personalisierter Werbung, Marktforschung und/oder bedarfsgerechten Gestaltung - seiner Website. Dir steht ein Widerspruchsrecht zu gegen die Bildung dieser Nutzerprofile, - wobei Du Dich zur Ausübung dessen an YouTube richten musst. -
--
- Unabhängig von einer Wiedergabe der eingebetteten Videos wird bei jedem Aufruf dieser - Website eine Verbindung zum Google-Netzwerk „DoubleClick“ aufgenommen, was ohne unseren - Einfluss weitere Datenverarbeitungsvorgänge auslösen kann. -
--
- Google LLC mit Sitz in den USA ist für das us-europäische Datenschutzübereinkommen - „Privacy Shield“ zertifiziert, welches die Einhaltung des in der EU geltenden - Datenschutzniveaus gewährleistet. -
--
- Weitere Informationen zum Datenschutz bei „YouTube“ findest Du in der Datenschutzerklärung - des Anbieters unter: - - https://www.google.de/intl/de/policies/privacy - -
-Verwendung von Vimeo-Videos
-- Wir nutzen auch Plugins von Vimeo der Vimeo, LLC, 555 West 18th Street, New York, New York - 10011, USA. -
-- Rufst du eine Seite auf, die ein solches Plugin eingebunden hat, stellt Dein Browser eine - direkte Verbindung zu den Servern von Vimeo her. Durch diese Einbindung erhält Vimeo die - Information, dass Du unsere Seite aufgerufen hast, auch wenn Du keinen Vimeo-Account - besitzt oder gerade nicht bei Vimeo eingeloggt bist. Deine IP-Adresse und noch einige - Daten, die Dein Browser liefert, werden von Deinem Browser direkt an einen Server von - Vimeo in die USA übermittelt und dort gespeichert. -
-- Wenn Du gerade bei Vimeo eingeloggt bist, kann Vimeo die Nutzung unserer webanwendung - Deinem Vimeo-Account zuordnen. Wenn Du das Plugin benutzt, wie z.B. beim Start eines - Videos, werden diese Informationen ebenso an einen Server von Vimeo gesendet und dort - verarbeitet. -
--
- Diese Verarbeitungsvorgänge erfolgen gem. Art. 6 Abs. 1 lit. f DSGVO auf Grundlage des - berechtigten Interesses von Vimeo an Marktforschung und der bedarfsgerechten Gestaltung - des Dienstes. -
--
Wenn Du das nicht möchtest, musst Du Dich vorher bei Vimeo ausloggen.
--
- Vimeo informiert über den Zweck, Umfang und die weitere Verarbeitung und Nutzung der - Daten, sowie Ihre diesbezüglichen Rechte und Einstellungsmöglichkeiten zum Schutz Deiner - Privatsphäre in den Datenschutzhinweisen: - https://vimeo.com/privacy -
--
- Bei Vimeo-Videos, die bei uns in Beiträgen eingebunden sind, ist das Trackingtool Google - Analytics integriert. Auf dieses Tracking seitens Vimeo haben wir leider keinen Einfluss. - Google Analytics verwendet für das Tracking „Drittanbieter-Cookies“, wie schon oben - beschrieben. Die erhobenen Daten über Deine Benutzung unserer Website werden an einen - Server von Google übertragen und dort gespeichert, in der Regel in die USA. -
--
- Dies erfolgt gem. Art. 6 Abs. 1 lit. f DSGVO auf Grundlage des berechtigten Interesses von - Vimeo an der statistischen Analyse des Nutzerverhaltens zu Optimierungs- und - Marketingzwecken. -
-Sicherheit des Web-Zugriffs
-- Um die Datenübertragung von unserem Webserver zu Dir und umgekehrt zu schützen, verwenden - wir eine TLS 1.3 verschlüsselte Verbindung. Dass erkennst Du am grünen Schloss in Deinem - Browser bzw. daran, dass Deine URL mit „https“ beginnt, statt mit „http“. So kann niemand - mitlesen, was Du siehst oder was Du eingibst. -
-- Human Connection gemeinnützige GmbH -
-Bahnhofstr. 11
-73235 Weilheim / Teck
-{{ $t('site.germany') }}
--
- {{ $t('site.contact') }} -
-Tel.: +49 151 / 43 80 42 22
-- E-Mail: - - info@human-connection.org - -
--
- {{ $t('site.tribunal') }} -
-Amtsgericht Stuttgart
--
- {{ $t('site.register') }} -
-HRB 741951
--
- {{ $t('site.director') }} -
-Dennis Hack
--
- {{ $t('site.taxident') }} -
-DE284651760
--
- {{ $t('site.responsible') }} -
-Dennis Hack
-Bahnhofstr. 11
-73235 Weilheim / Teck
-{{ $t('site.germany') }}
--
- {{ $t('site.bank') }} -
-GLS Bank
-IBAN: DE08 4306 0967 7024 1934 00
-BIC / SWIFT: GENODEM1GLS
-English version below!
Willkommen bei Human Connection!
@@ -277,6 +337,11 @@– Dein Human Connection Team
–––––––––––––––––––––––––––––––––––––––––––––––
++ Hallo {{ name }}!
+Du hast also dein Passwort vergessen? Kein Problem! Mit Klick auf diesen Button + kannst du innerhalb der nächsten 24 Stunden dein Passwort zurücksetzen:
+Falls du kein neues Passwort angefordert hast, kannst du diese E-Mail einfach + ignorieren. Wenn du noch Fragen hast, melde dich gerne bei + unserem Support Team!
+Sollte der Button für dich nicht funktionieren, kannst du auch folgenden Code in + dein Browserfenster einfügen: {{{ nonce }}}
+Bis bald bei Human Connection!
+– Dein Human Connection Team
+–––––––––––––––––––––––––––––––––––––––––––––––
++ Hello {{ name }}!
+So, you forgot your password? No problem! Just click the button below to reset + it within the next 24 hours:
+If you didn't request a new password feel free to ignore this email. You can + also contact our + support team if you have any questions!
+If the above button doesn't work you can also copy the following code into your + browser window: {{{ nonce }}}
+See you soon on Human Connection!
+– The Human Connection Team
++ Human Connection gGmbH
Bahnhofstraße 11, 73235 Weilheim / + Teck
Germany +
+
Oder du kopierst diesen Code in dein Browserfenster: {{{ nonce }}}
-–––––––––––––––––––––––––––––––––––––––––––––––
From 2bd7276523e1c0146d4a7519cbda09f3fa8999e6 Mon Sep 17 00:00:00 2001 From: Alina BeckBis bald bei Human Connection!
-– Dein Human Connection Team
+– Dein Human Connection Team
See you soon on Human Connection!
-– The Human Connection Team
+– The Human Connection Team
Bis bald bei Human Connection!
-– Dein Human Connection Team
+– Dein Human Connection Team
See you soon on Human Connection!
-– The Human Connection Team
+– The Human Connection Team
+ Hallo!
+Du hast bei uns ein neues Password angefordert – leider haben wir aber keinen + Account mit deiner E-Mailadresse gefunden. Kann es sein, dass du mit einer anderen Adresse bei uns + angemeldet bist?
+Wenn du noch keinen Account bei Human Connection hast oder dein Password gar nicht ändern willst, + kannst du diese E-Mail einfach ignorieren!
+Ansonsten hilft dir unser + Support Team gerne weiter.
+Bis bald bei Human Connection!
+– Dein Human Connection Team
+–––––––––––––––––––––––––––––––––––––––––––––––
++ Hello!
+You requested a password reset but unfortunately we couldn't find an account + associated with your email address. Did you maybe use another one when you signed up?
+If you don't have an account at Human Connection yet or if you didn't want to reset your password, + please ignore this email.
+Otherwise our + support team will be happy to help you out.
+See you soon on Human Connection!
+– The Human Connection Team
++ Human Connection gGmbH
Bahnhofstraße 11, 73235 Weilheim / + Teck
Germany +
+
Willkommen bei Human Connection!
-Danke, dass du dich angemeldet hast – wir freuen uns, dich dabei zu haben. Jetzt - fehlt nur noch eine Kleinigkeit, bevor wir gemeinsam die Welt verbessern können... Bitte bestätige - deine E-Mail Adresse:
+Danke, dass Du dich angemeldet hast – wir freuen uns, Dich dabei zu haben. Jetzt + fehlt nur noch eine Kleinigkeit, bevor wir gemeinsam die Welt verbessern können ... Bitte bestätige + Deine E-Mail Adresse:
Falls du dich nicht selbst bei Falls Du Dich nicht selbst bei Human Connection angemeldet hast, schau doch mal vorbei! Wir sind ein gemeinnütziges Aktionsnetzwerk – von Menschen für Menschen.
-PS: Wenn du keinen Account bei uns möchtest, kannst du diese +
PS: Wenn Du keinen Account bei uns möchtest, kannst Du diese E-Mail einfach ignorieren. ;)
Melde dich gerne bei - unserem Support Team wenn du Fragen hast.
+Melde Dich gerne bei + unserem Support Team, wenn Du Fragen hast.
Bis bald bei Human Connection!
– Dein Human Connection Team
@@ -374,7 +374,7 @@ style="margin: 0 0 10px 0; font-family: Lato, sans-serif; font-size: 25px; line-height: 30px; color: #333333; font-weight: normal;"> Welcome to Human Connection!Thank you for joining our cause – it's awesome to have you on board. There's - just one tiny step missing before we can start shaping the world together... Please confirm your + just one tiny step missing before we can start shaping the world together ... Please confirm your e-mail address by clicking the button below:
Or you can copy this code and paste it in your browser window: {{{ nonce }}}
-–––––––––––––––––––––––––––––––––––––––––––––––
@@ -422,7 +414,8 @@If you didn't sign up for Human Connection we recommend you to check it out! It's a social network from people for people who want to connect and change the world together.
-PS: If you ignore this email we will not create an account for +
PS: If you ignore this e-mail we will not create an account + for you. ;)
Euer Human Connection Team" } -} +} \ No newline at end of file diff --git a/webapp/pages/settings.vue b/webapp/pages/settings.vue index 67493c333..11fde8c75 100644 --- a/webapp/pages/settings.vue +++ b/webapp/pages/settings.vue @@ -32,8 +32,8 @@ export default { path: `/settings/my-social-media`, }, { - name: this.$t('settings.blocked-users.name'), - path: `/settings/blocked-users`, + name: this.$t('post.allowEmbeds.name'), + path: `/settings/allow-embeds`, }, { name: this.$t('settings.deleteUserAccount.name'), diff --git a/webapp/pages/settings/allow-embeds.vue b/webapp/pages/settings/allow-embeds.vue new file mode 100644 index 000000000..143211510 --- /dev/null +++ b/webapp/pages/settings/allow-embeds.vue @@ -0,0 +1,94 @@ + +
{{ this.allowEmbeds_h3 }}
+{{ $t('post.allowEmbeds.description') }}
+{{ $t('post.allowEmbeds.statustext') }}
+{{ this.allowEmbeds_h3 }}
+{{ $t('post.allowEmbeds.statuschange') }}
+{{ this.allowEmbeds_h3 }}
-{{ $t('post.allowEmbeds.description') }}
-{{ $t('post.allowEmbeds.statustext') }}
-{{ $t('post.allowEmbeds.statustext') }}
{{ this.allowEmbeds_h3 }}
-{{ $t('post.allowEmbeds.statuschange') }}
-{{ $t('post.allowEmbeds.statuschange') }}
+{{ $t('post.allowEmbeds.description') }}
++-
+ {{ provider.provider_name }},
+ {{ provider.provider_url }}
+
+
+your Human Connection Team" } -} +} \ No newline at end of file diff --git a/webapp/middleware/termsAndConditions.js b/webapp/middleware/termsAndConditions.js index 64141eed0..68ad49bf8 100644 --- a/webapp/middleware/termsAndConditions.js +++ b/webapp/middleware/termsAndConditions.js @@ -6,6 +6,7 @@ export default async ({ store, env, route, redirect }) => { if (publicPages.indexOf(route.name) >= 0) { return true } + if (route.name === 'terms-and-conditions-confirm') return true // avoid endless loop if (store.getters['auth/termsAndConditionsAgreed']) return true diff --git a/webapp/pages/settings/allow-embeds.vue b/webapp/pages/settings/allow-embeds.vue index 31380380d..61f544af9 100644 --- a/webapp/pages/settings/allow-embeds.vue +++ b/webapp/pages/settings/allow-embeds.vue @@ -12,12 +12,12 @@
{{ $t('post.allowEmbeds.description') }}
{{ PostsEmotionsCountByEmotion[emotion] }}x
- {{ $t('contribution.emotions-label.emoted') }}*&Q z8wp5aLr7qF$Y-7OB;DwV%A`%3)`5U5q+}_`7lV_`^_(=Dzk}dC&7~E1T4=E>K64+;QVi;Z02K}hvh`=Nl
z8>9ir(iN1+7{~JH!!~&XG0mi6Ez){aw+G7Mi}+F)7OBzmNa5c}k{_p_kiY36k9Cj?
z`4dizX%uyM!&4$ilV#2J*x|!{rIF@44#(>&Bn%vD2lh&lp0bewyW>{0C>U3o=w!c}
zNs1;CZ=MqDZW1s)69$rL!u43wbg7b7(uo-fB^Ix;>7_rMH1lIxP3$#b$&jiKq$}LC
zF4GGK{vd@PGP5S634|}k4=ksU9Pv`=n^Wl@5zqQcXlEYZldu&^MV^x7DM^8NQPh%(
z_Em=$NNGZC@~5mI(au&E2St^O9Lpo=-)DqzEA4?x8bn&ppTca?)iTN&ED(gtZjzdO
zQPr{v_KE)vbQrA==4>Mr$K$jQxsG4y(0OdVA4lTfNKV}nujfMh8Ouaoctf9QaY(sw
zxhW@10-Uza-B0W85zMpw^Nfslh(9OIyAoH8;~LhNwCk)L$vR0)h9sP>63?c`5@+`i~TiMKvCS40fwhfUKbt@ge(xDosYBrgX>SZNfUfII-sToy#}8awJy!qbCBNPM^R_J1o$|5`
z8BS?Qx|9=Vw>-~)TR1R(iuCQRo6mckAHz*^JKC+3qm3rj@evXPh~&Xc!e%V>VkuW;
zEQ+-4TUCS&hD47p+0ohnikV5el|+Jft?PPOs1Q!iFDEUoYA|XY?#olCj>DPvevFh6
zBc-72df?N@|-
zXwwdir&L8eNwSQU*JYtND|JdHmz6U6!3eS9k%sBYF>E-#t>mwZt&WSI`6vLww