Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions packages/api/src/email.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export type BaseEmailPayload = {
}

export type TrainerMailPayload = BaseEmailPayload & {
emailType: 'acceptReport' | 'needChanges'
emailType: 'acceptReport' | 'needChangesComment' | 'needChangesNoComment'
userData: BaseMailUserData & {
trainer: string
}
Expand Down Expand Up @@ -70,7 +70,8 @@ export type EmailTranslations = {
error: string
reportExport: string
acceptReport: string
needChanges: string
needChangesComment: string
needChangesNoComment: string
deleteYourTrainee: string
deleteAccount: string
deleteUser: string
Expand All @@ -80,7 +81,8 @@ export type EmailTranslations = {
headline: {
export: string
accepted: string
needChanges: string
needChangesComment: string
needChangesNoComment: string
deleteTrainee: string
deleteAccount: string
deleteUser: string
Expand All @@ -91,7 +93,8 @@ export type EmailTranslations = {
error: string
success: string
accepted: string
needChanges: string
needChangesComment: string
needChangesNoComment: string
deleteTrainee: string
deleteAccount: string
deleteUser: string
Expand Down
11 changes: 7 additions & 4 deletions packages/backend/src/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ export const GermanTranslations: Translations = {
error: 'Fehler bei der pdf Generierung',
reportExport: 'Dein Lara Export',
acceptReport: 'Dein Bericht wurde genehmigt',
needChanges: 'Bericht zurückgegeben',
needChangesNoComment: 'Bericht zurückgegeben',
needChangesComment: 'Bericht zurückgegeben',
deleteYourTrainee: 'Dein Azubi wird bald gelöscht',
deleteAccount: 'Dein Account wird bald gelöscht',
deleteUser: 'Ein Benutzer wird bald gelöscht',
Expand All @@ -47,7 +48,8 @@ export const GermanTranslations: Translations = {
headline: {
export: 'Dein Lara-Export!',
accepted: 'Report genehmigt!',
needChanges: 'Änderungen erforderlich!',
needChangesComment: 'Änderungen erforderlich!',
needChangesNoComment: 'Änderungen erforderlich!',
deleteTrainee: 'Dein Azubi wird bald gelöscht',
deleteAccount: 'Dein Account wird bald gelöscht',
deleteUser: 'Ein Benutzer wird bald gelöscht',
Expand All @@ -58,8 +60,9 @@ export const GermanTranslations: Translations = {
error: 'etwas ist schiefgegangen. Bitte wende dich an einen Lara Admin oder Entwickler.',
success: 'im Anhang findest du deinen Lara-Export. Wir wünschen dir ganz viel Spaß damit.',
accepted: '{{ trainer }} hat dein Berichtsheft erhalten und genehmigt',
needChanges:
'{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben. Zu dieser Woche gibt es einen Kommentar.',
needChangesComment:
'{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben. Zu dieser Woche gibt es Rückmeldungen',
needChangesNoComment: '{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben.',
deleteTrainee:
'Dein Auszubildener {{ trainee }} wird in 3 Monaten gelöscht. Sollte dies ein Fehler sein kannst du dich mit deinem Admin in Verbindung setzen, damit er die Löschung abbricht.',
deleteAccount:
Expand Down
9 changes: 6 additions & 3 deletions packages/backend/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ export const EnglishTranslations: Translations = {
error: 'Error while generating reports.',
reportExport: 'Your Lara export',
acceptReport: 'Your report got accepted',
needChanges: 'Your report got handed back',
needChangesComment: 'Your report got handed back',
needChangesNoComment: 'Your report got handed back',
deleteYourTrainee: 'Your Trainee will be deleted soon',
deleteAccount: 'Your account will be deleted',
deleteUser: 'A User will be deleted soon',
Expand All @@ -47,7 +48,8 @@ export const EnglishTranslations: Translations = {
headline: {
export: 'Your Lara export!',
accepted: 'Report accepted!',
needChanges: 'Changes necessary!',
needChangesNoComment: 'Changes necessary!',
needChangesComment: 'Changes necessary!',
deleteTrainee: 'Your trainee will be delted soon',
deleteAccount: 'Your account will be deleted',
deleteUser: 'A User will be deleted soon',
Expand All @@ -58,7 +60,8 @@ export const EnglishTranslations: Translations = {
error: 'Something went wring. Please conteact your Lara admin.',
success: 'Your lara report is attached to this mail. Good luck with it.',
accepted: '{{ trainer }} received your report and approved it',
needChanges: '{{ trainer }} received your report and handed it back. There are comments to your report.',
needChangesComment: '{{ trainer }} received your report and handed it back. There are comments to your report.',
needChangesNoComment: '{{ trainer }} received your report and handed it back.',
deleteTrainee:
'Your trainee {{ trainee }} will be deleted in 3 month. If this is wrong you should contact your Lara-Admin to solve this problem.',
deleteAccount:
Expand Down
13 changes: 12 additions & 1 deletion packages/backend/src/services/email.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,19 @@ const trainerNotificationMailPayload = (receiver: Trainer, sender: Trainee, repo
translations: translations(receiver),
})

const hasComments = (report: Report) => {
let hasComments = report.comments.length > 0
report.days.forEach((day) => {
if (day.comments.length > 0) {
hasComments = true
}
})
return hasComments
}

const traineeNoficationMailPayload = (receiver: Trainee, sender: Trainer, report: Report): EmailPayload => ({
emailType: report.status === 'archived' ? 'acceptReport' : 'needChanges',
emailType:
report.status === 'archived' ? 'acceptReport' : hasComments(report) ? 'needChangesComment' : 'needChangesNoComment',
userData: {
receiverEmail: receiver.email,
receiverName: receiver.firstName,
Expand Down
16 changes: 13 additions & 3 deletions packages/email/src/mail-template.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,23 @@ export const generateEmailTemplate = (type: EmailType, translations: EmailTransl
BUTTONTEXT: link.report,
}
break
case 'needChanges':
case 'needChangesComment':
emailVariables = {
...emailVariables,
DEFAULTBACKGROUND: createBase64UrlfromPng('background_1.png'),
HEADLINE: headline.needChanges,
HEADLINE: headline.needChangesComment,
HEADLINEIMAGE: createBase64UrlfromPng('tablet.png'),
MAINTEXT: message.needChanges,
MAINTEXT: message.needChangesComment,
BUTTONTEXT: link.report,
}
break
case 'needChangesNoComment':
emailVariables = {
...emailVariables,
DEFAULTBACKGROUND: createBase64UrlfromPng('background_1.png'),
HEADLINE: headline.needChangesNoComment,
HEADLINEIMAGE: createBase64UrlfromPng('tablet.png'),
MAINTEXT: message.needChangesNoComment,
BUTTONTEXT: link.report,
}
break
Expand Down
13 changes: 8 additions & 5 deletions packages/email/src/mock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ export const DUMMY_DATA: EmailPayload = {
error: 'Fehler bei der pdf Generierung',
reportExport: 'Dein Lara Export',
acceptReport: 'Dein Bericht wurde genehmigt',
needChanges: 'Bericht zurückgegeben',
needChangesNoComment: 'Bericht zurückgegeben',
needChangesComment: 'Bericht zurückgegeben',
deleteYourTrainee: 'Dein Azubi wird bald gelöscht',
deleteAccount: 'Dein Account wird bald gelöscht',
deleteUser: 'Ein Benutzer wird bald gelöscht',
Expand All @@ -29,7 +30,8 @@ export const DUMMY_DATA: EmailPayload = {
headline: {
export: 'Dein Lara-Export!',
accepted: 'Report genehmigt!',
needChanges: 'Änderungen erforderlich!',
needChangesNoComment: 'Änderungen erforderlich!',
needChangesComment: 'Änderungen erforderlich!',
deleteTrainee: 'Dein Azubi wird bald gelöscht',
deleteAccount: 'Dein Account wird bald gelöscht',
deleteUser: 'Ein Benutzer wird bald gelöscht',
Expand All @@ -40,8 +42,9 @@ export const DUMMY_DATA: EmailPayload = {
error: 'etwas ist schiefgegangen. Bitte wende dich an einen Lara Admin oder Entwickler.',
success: 'im Anhang findest du deinen Lara-Export. Wir wünschen dir ganz viel Spaß damit.',
accepted: '{{ trainer }} hat dein Berichtsheft erhalten und genehmigt',
needChanges:
'{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben. Zu dieser Woche gibt es einen Kommentar.',
needChangesComment:
'{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben. Zu dieser Woche gibt es Rückmeldungen.',
needChangesNoComment: '{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben.',
deleteTrainee:
'Dein Auszubildener {{ trainee }} wird in 3 Monaten gelöscht. Sollte dies ein Fehler sein kannst du dich mit deinem Admin in Verbindung setzen, damit er die Löschung abbricht.',
deleteAccount:
Expand Down Expand Up @@ -83,7 +86,7 @@ const requestListener: RequestListener = (_req, res) => {
break
case '/needChanges':
res.writeHead(200)
res.end(generateEmailTemplate('needChanges', translations))
res.end(generateEmailTemplate('needChangesNoComment', translations))
break
case '/deleteYourTrainee':
res.writeHead(200)
Expand Down
9 changes: 6 additions & 3 deletions packages/print/src/mock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,8 @@ export const DUMMY_DATA: PrintData = {
error: 'Fehler bei der pdf Generierung',
reportExport: 'Dein Lara Export',
acceptReport: 'Dein Bericht wurde genehmigt',
needChanges: 'Bericht zurückgegeben',
needChangesNoComment: 'Bericht zurückgegeben',
needChangesComment: 'Bericht zurückgegeben',
deleteYourTrainee: 'Dein Azubi wird bald gelöscht',
deleteAccount: 'Dein Account wird bald gelöscht',
deleteUser: 'Ein Benutzer wird bald gelöscht',
Expand All @@ -139,7 +140,8 @@ export const DUMMY_DATA: PrintData = {
headline: {
export: 'Dein Lara-Export!',
accepted: 'Report genehmigt!',
needChanges: 'Änderungen erforderlich!',
needChangesNoComment: 'Änderungen erforderlich!',
needChangesComment: 'Änderungen erforderlich!',
deleteTrainee: 'Dein Azubi wird bald gelöscht',
deleteAccount: 'Dein Account wird bald gelöscht',
deleteUser: 'Ein Benutzer wird bald gelöscht',
Expand All @@ -150,8 +152,9 @@ export const DUMMY_DATA: PrintData = {
error: 'etwas ist schiefgegangen. Bitte wende dich an einen Lara Admin oder Entwickler.',
success: 'im Anhang findest du deinen Lara-Export. Wir wünschen dir ganz viel Spaß damit.',
accepted: '{{ trainer }} hat dein Berichtsheft erhalten und genehmigt',
needChanges:
needChangesComment:
'{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben. Zu dieser Woche gibt es einen Kommentar.',
needChangesNoComment: '{{ trainer }} hat dein Berichtsheft erhalten und es zurückgegeben.',
deleteTrainee:
'Dein Auszubildener {{ trainee }} wird in 3 Monaten gelöscht. Sollte dies ein Fehler sein kannst du dich mit deinem Admin in Verbindung setzen, damit er die Löschung abbricht.',
deleteAccount:
Expand Down