fix broken ical export

deepsource-autofix-76c6eb20
Dan Gowans 2024-06-28 14:19:25 -04:00
parent e45cd6b931
commit 69cba312f9
2 changed files with 24 additions and 18 deletions

View File

@ -76,7 +76,7 @@ function buildEventDescriptionHTML_occupancies(request, milestone) {
</td>
<td>`;
for (const occupant of occupancy.lotOccupancyOccupants ?? []) {
descriptionHTML += `${escapeHTML(occupant.lotOccupantType)}: ${escapeHTML(occupant.occupantName ?? '')} ${escapeHTML(occupant.occupantFamilyName ?? '')}<br />`;
descriptionHTML += `${escapeHTML(occupant.lotOccupantType ?? '')}: ${escapeHTML(occupant.occupantName ?? '')} ${escapeHTML(occupant.occupantFamilyName ?? '')}<br />`;
}
descriptionHTML += '</td></tr>';
}
@ -155,7 +155,7 @@ function buildEventDescriptionHTML(request, milestone) {
function buildEventCategoryList(milestone) {
const categories = [];
if (milestone.workOrderMilestoneTypeId) {
categories.push(milestone.workOrderMilestoneType, milestone.workOrderType ?? '');
categories.push(milestone.workOrderMilestoneType ?? '', milestone.workOrderType ?? '');
}
if (milestone.workOrderMilestoneCompletionDate) {
categories.push('Completed');
@ -200,7 +200,7 @@ export default async function handler(request, response) {
});
if (request.query.workOrderId && workOrderMilestones.length > 0) {
calendar.name(`Work Order #${workOrderMilestones[0].workOrderNumber}`);
calendar.url(`${urlRoot}/workOrders/${workOrderMilestones[0].workOrderId.toString()}`);
calendar.url(`${urlRoot}/workOrders/${workOrderMilestones[0].workOrderId?.toString()}`);
}
calendar.prodId({
company: calendarCompany,
@ -221,9 +221,9 @@ export default async function handler(request, response) {
// Create event
const eventData = {
start: milestoneDate,
created: new Date(milestone.recordCreate_timeMillis),
stamp: new Date(milestone.recordCreate_timeMillis),
lastModified: new Date(Math.max(milestone.recordUpdate_timeMillis, milestone.workOrderRecordUpdate_timeMillis)),
created: new Date(milestone.recordCreate_timeMillis ?? 0),
stamp: new Date(milestone.recordCreate_timeMillis ?? 0),
lastModified: new Date(Math.max(milestone.recordUpdate_timeMillis ?? 0, milestone.workOrderRecordUpdate_timeMillis ?? 0)),
allDay: !milestone.workOrderMilestoneTime,
summary,
url: workOrderUrl
@ -275,10 +275,12 @@ export default async function handler(request, response) {
}
else {
calendarEvent.organizer({
name: milestone.recordCreate_userName,
name: milestone.recordCreate_userName ?? '',
email: getConfigProperty('settings.workOrders.calendarEmailAddress')
});
}
}
calendar.serve(response);
response.setHeader('Content-Disposition', `inline; filename=calendar.ics`);
response.setHeader('Content-Type', 'text/calendar; charset=utf-8');
response.send(calendar.toString());
}

View File

@ -115,7 +115,7 @@ function buildEventDescriptionHTML_occupancies(
for (const occupant of occupancy.lotOccupancyOccupants ?? []) {
descriptionHTML += `${escapeHTML(
occupant.lotOccupantType!
occupant.lotOccupantType ?? ''
)}: ${escapeHTML(occupant.occupantName ?? '')} ${escapeHTML(
occupant.occupantFamilyName ?? ''
)}<br />`
@ -196,7 +196,7 @@ function buildEventDescriptionHTML_prints(
if (printConfig) {
descriptionHTML += `<p>
${escapeHTML(printConfig.title)}<br />
${urlRoot}/print/${printName}/?workOrderId=${milestone.workOrderId!.toString()}
${urlRoot}/print/${printName}/?workOrderId=${milestone.workOrderId.toString()}
</p>`
}
}
@ -229,7 +229,7 @@ function buildEventCategoryList(milestone: WorkOrderMilestone): string[] {
if (milestone.workOrderMilestoneTypeId) {
categories.push(
milestone.workOrderMilestoneType!,
milestone.workOrderMilestoneType ?? '',
milestone.workOrderType ?? ''
)
}
@ -292,7 +292,7 @@ export default async function handler(
if (request.query.workOrderId && workOrderMilestones.length > 0) {
calendar.name(`Work Order #${workOrderMilestones[0].workOrderNumber}`)
calendar.url(
`${urlRoot}/workOrders/${workOrderMilestones[0].workOrderId!.toString()}`
`${urlRoot}/workOrders/${workOrderMilestones[0].workOrderId?.toString()}`
)
}
@ -330,12 +330,12 @@ export default async function handler(
// Create event
const eventData: ICalEventData = {
start: milestoneDate,
created: new Date(milestone.recordCreate_timeMillis!),
stamp: new Date(milestone.recordCreate_timeMillis!),
created: new Date(milestone.recordCreate_timeMillis ?? 0),
stamp: new Date(milestone.recordCreate_timeMillis ?? 0),
lastModified: new Date(
Math.max(
milestone.recordUpdate_timeMillis!,
milestone.workOrderRecordUpdate_timeMillis!
milestone.recordUpdate_timeMillis ?? 0,
milestone.workOrderRecordUpdate_timeMillis ?? 0
)
),
allDay: !milestone.workOrderMilestoneTime,
@ -403,11 +403,15 @@ export default async function handler(
}
} else {
calendarEvent.organizer({
name: milestone.recordCreate_userName!,
name: milestone.recordCreate_userName ?? '',
email: getConfigProperty('settings.workOrders.calendarEmailAddress')
})
}
}
calendar.serve(response)
response.setHeader('Content-Disposition', `inline; filename=calendar.ics`)
response.setHeader('Content-Type', 'text/calendar; charset=utf-8')
response.send(calendar.toString())
}