hotfix: location on approval email (#1186)
* hotfix: location on confirmation email * fix: build checks
This commit is contained in:
parent
d6dd13a9d8
commit
dfb1b5602d
4 changed files with 56 additions and 31 deletions
|
@ -75,10 +75,7 @@ export default class EventAttendeeMail extends EventMail {
|
||||||
</small>
|
</small>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
${this.getLocation()}
|
||||||
<td>${this.calEvent.language("where")}</td>
|
|
||||||
<td>${this.getLocation()}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>${this.calEvent.language("notes")}</td>
|
<td>${this.calEvent.language("notes")}</td>
|
||||||
<td>${this.calEvent.description}</td>
|
<td>${this.calEvent.description}</td>
|
||||||
|
@ -107,7 +104,13 @@ export default class EventAttendeeMail extends EventMail {
|
||||||
*/
|
*/
|
||||||
protected getLocation(): string {
|
protected getLocation(): string {
|
||||||
if (this.calEvent.additionInformation?.hangoutLink) {
|
if (this.calEvent.additionInformation?.hangoutLink) {
|
||||||
return `<a href="${this.calEvent.additionInformation?.hangoutLink}">${this.calEvent.additionInformation?.hangoutLink}</a><br />`;
|
return `<tr>
|
||||||
|
<td>${this.calEvent.language("where")}</td>
|
||||||
|
<td><a href="${this.calEvent.additionInformation?.hangoutLink}">${
|
||||||
|
this.calEvent.additionInformation?.hangoutLink
|
||||||
|
}</a><br /></td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
@ -117,16 +120,30 @@ export default class EventAttendeeMail extends EventMail {
|
||||||
const locations = this.calEvent.additionInformation?.entryPoints
|
const locations = this.calEvent.additionInformation?.entryPoints
|
||||||
.map((entryPoint) => {
|
.map((entryPoint) => {
|
||||||
return `
|
return `
|
||||||
${this.calEvent.language("join_by_entrypoint", { entryPoint: entryPoint.entryPointType })}: <br />
|
${this.calEvent.language("join_by_entrypoint", { entryPoint: entryPoint.entryPointType })}: <br />
|
||||||
<a href="${entryPoint.uri}">${entryPoint.label}</a> <br />
|
<a href="${entryPoint.uri}">${entryPoint.label}</a> <br />
|
||||||
`;
|
`;
|
||||||
})
|
})
|
||||||
.join("<br />");
|
.join("<br />");
|
||||||
|
|
||||||
return `${locations}`;
|
return `<tr>
|
||||||
|
<td>${this.calEvent.language("where")}</td>
|
||||||
|
<td>${locations}</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.calEvent.location ? `${this.calEvent.location}<br /><br />` : "";
|
if (!this.calEvent.location) {
|
||||||
|
return ``;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.calEvent.location === "integrations:zoom" || this.calEvent.location === "integrations:daily") {
|
||||||
|
return ``;
|
||||||
|
}
|
||||||
|
|
||||||
|
return `<tr><td>${this.calEvent.language("where")}</td><td>${
|
||||||
|
this.calEvent.location
|
||||||
|
}<br /><br /></td></tr>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected getAdditionalBody(): string {
|
protected getAdditionalBody(): string {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import localizedFormat from "dayjs/plugin/localizedFormat";
|
||||||
import timezone from "dayjs/plugin/timezone";
|
import timezone from "dayjs/plugin/timezone";
|
||||||
import toArray from "dayjs/plugin/toArray";
|
import toArray from "dayjs/plugin/toArray";
|
||||||
import utc from "dayjs/plugin/utc";
|
import utc from "dayjs/plugin/utc";
|
||||||
import { createEvent } from "ics";
|
import { createEvent, DateArray } from "ics";
|
||||||
|
|
||||||
import { Person } from "@lib/calendarClient";
|
import { Person } from "@lib/calendarClient";
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ export default class EventOrganizerMail extends EventMail {
|
||||||
.utc()
|
.utc()
|
||||||
.toArray()
|
.toArray()
|
||||||
.slice(0, 6)
|
.slice(0, 6)
|
||||||
.map((v, i) => (i === 1 ? v + 1 : v)),
|
.map((v, i) => (i === 1 ? v + 1 : v)) as DateArray,
|
||||||
startInputType: "utc",
|
startInputType: "utc",
|
||||||
productId: "calendso/ics",
|
productId: "calendso/ics",
|
||||||
title: this.calEvent.language("organizer_ics_event_title", {
|
title: this.calEvent.language("organizer_ics_event_title", {
|
||||||
|
@ -125,10 +125,7 @@ export default class EventOrganizerMail extends EventMail {
|
||||||
this.calEvent.attendees[0].email
|
this.calEvent.attendees[0].email
|
||||||
}">${this.calEvent.attendees[0].email}</a></small></td>
|
}">${this.calEvent.attendees[0].email}</a></small></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
${this.getLocation()}
|
||||||
<td>${this.calEvent.language("where")}</td>
|
|
||||||
<td>${this.getLocation()}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>${this.calEvent.language("notes")}</td>
|
<td>${this.calEvent.language("notes")}</td>
|
||||||
<td>${this.calEvent.description}</td>
|
<td>${this.calEvent.description}</td>
|
||||||
|
@ -157,7 +154,13 @@ export default class EventOrganizerMail extends EventMail {
|
||||||
*/
|
*/
|
||||||
protected getLocation(): string {
|
protected getLocation(): string {
|
||||||
if (this.calEvent.additionInformation?.hangoutLink) {
|
if (this.calEvent.additionInformation?.hangoutLink) {
|
||||||
return `<a href="${this.calEvent.additionInformation?.hangoutLink}">${this.calEvent.additionInformation?.hangoutLink}</a><br />`;
|
return `<tr>
|
||||||
|
<td>${this.calEvent.language("where")}</td>
|
||||||
|
<td><a href="${this.calEvent.additionInformation?.hangoutLink}">${
|
||||||
|
this.calEvent.additionInformation?.hangoutLink
|
||||||
|
}</a><br /></td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
@ -173,10 +176,24 @@ export default class EventOrganizerMail extends EventMail {
|
||||||
})
|
})
|
||||||
.join("<br />");
|
.join("<br />");
|
||||||
|
|
||||||
return `${locations}`;
|
return `<tr>
|
||||||
|
<td>${this.calEvent.language("where")}</td>
|
||||||
|
<td>${locations}</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.calEvent.location ? `${this.calEvent.location}<br /><br />` : "";
|
if (!this.calEvent.location) {
|
||||||
|
return ``;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.calEvent.location === "integrations:zoom" || this.calEvent.location === "integrations:daily") {
|
||||||
|
return ``;
|
||||||
|
}
|
||||||
|
|
||||||
|
return `<tr><td>${this.calEvent.language("where")}</td><td>${
|
||||||
|
this.calEvent.location
|
||||||
|
}<br /><br /></td></tr>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected getAdditionalBody(): string {
|
protected getAdditionalBody(): string {
|
||||||
|
|
|
@ -399,9 +399,9 @@ export default class EventManager {
|
||||||
// future, it might happen that we consider making passwords for Zoom meetings optional.
|
// future, it might happen that we consider making passwords for Zoom meetings optional.
|
||||||
// Then, this part below (where the password existence is checked) needs to be adapted.
|
// Then, this part below (where the password existence is checked) needs to be adapted.
|
||||||
isComplete =
|
isComplete =
|
||||||
reference.meetingId != undefined &&
|
reference.meetingId !== undefined &&
|
||||||
reference.meetingPassword != undefined &&
|
reference.meetingPassword !== undefined &&
|
||||||
reference.meetingUrl != undefined;
|
reference.meetingUrl !== undefined;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
isComplete = true;
|
isComplete = true;
|
||||||
|
|
|
@ -170,15 +170,6 @@ const updateMeeting = async (
|
||||||
})
|
})
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
if (!updatedMeeting) {
|
|
||||||
return {
|
|
||||||
type: credential.type,
|
|
||||||
success,
|
|
||||||
uid,
|
|
||||||
originalEvent: calEvent,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const organizerMail = new EventOrganizerRescheduledMail(calEvent);
|
const organizerMail = new EventOrganizerRescheduledMail(calEvent);
|
||||||
await organizerMail.sendEmail();
|
await organizerMail.sendEmail();
|
||||||
|
|
Loading…
Reference in a new issue