reduce complexity
parent
eda8483e62
commit
147163b61f
|
|
@ -43,20 +43,11 @@ function buildEventSummary(milestone) {
|
|||
}
|
||||
return summary;
|
||||
}
|
||||
function buildEventDescriptionHTML(request, milestone) {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
const workOrderUrl = getWorkOrderUrl(request, milestone);
|
||||
let descriptionHTML = "<h1>Milestone Description</h1>" +
|
||||
"<p>" +
|
||||
escapeHTML(milestone.workOrderMilestoneDescription) +
|
||||
"</p>" +
|
||||
"<h2>Work Order #" +
|
||||
milestone.workOrderNumber +
|
||||
"</h2>" +
|
||||
("<p>" + escapeHTML(milestone.workOrderDescription) + "</p>") +
|
||||
("<p>" + workOrderUrl + "</p>");
|
||||
function buildEventDescriptionHTML_occupancies(request, milestone) {
|
||||
let descriptionHTML = "";
|
||||
if (milestone.workOrderLotOccupancies.length > 0) {
|
||||
descriptionHTML +=
|
||||
const urlRoot = getUrlRoot(request);
|
||||
descriptionHTML =
|
||||
"<h2>Related " +
|
||||
escapeHTML(configFunctions.getProperty("aliases.occupancies")) +
|
||||
"</h2>" +
|
||||
|
|
@ -98,7 +89,12 @@ function buildEventDescriptionHTML(request, milestone) {
|
|||
}
|
||||
descriptionHTML += "</tbody></table>";
|
||||
}
|
||||
return descriptionHTML;
|
||||
}
|
||||
function buildEventDescriptionHTML_lots(request, milestone) {
|
||||
let descriptionHTML = "";
|
||||
if (milestone.workOrderLots.length > 0) {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
descriptionHTML +=
|
||||
"<h2>Related " +
|
||||
escapeHTML(configFunctions.getProperty("aliases.lots")) +
|
||||
|
|
@ -128,8 +124,13 @@ function buildEventDescriptionHTML(request, milestone) {
|
|||
}
|
||||
descriptionHTML += "</tbody></table>";
|
||||
}
|
||||
return descriptionHTML;
|
||||
}
|
||||
function buildEventDescriptionHTML_prints(request, milestone) {
|
||||
let descriptionHTML = "";
|
||||
const prints = configFunctions.getProperty("settings.workOrders.prints");
|
||||
if (prints.length > 0) {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
descriptionHTML += "<h2>Prints</h2>";
|
||||
for (const printName of prints) {
|
||||
const printConfig = getPrintConfig(printName);
|
||||
|
|
@ -145,6 +146,41 @@ function buildEventDescriptionHTML(request, milestone) {
|
|||
}
|
||||
return descriptionHTML;
|
||||
}
|
||||
function buildEventDescriptionHTML(request, milestone) {
|
||||
const workOrderUrl = getWorkOrderUrl(request, milestone);
|
||||
let descriptionHTML = "<h1>Milestone Description</h1>" +
|
||||
"<p>" +
|
||||
escapeHTML(milestone.workOrderMilestoneDescription) +
|
||||
"</p>" +
|
||||
"<h2>Work Order #" +
|
||||
milestone.workOrderNumber +
|
||||
"</h2>" +
|
||||
("<p>" + escapeHTML(milestone.workOrderDescription) + "</p>") +
|
||||
("<p>" + workOrderUrl + "</p>");
|
||||
descriptionHTML += buildEventDescriptionHTML_occupancies(request, milestone);
|
||||
descriptionHTML += buildEventDescriptionHTML_lots(request, milestone);
|
||||
descriptionHTML += buildEventDescriptionHTML_prints(request, milestone);
|
||||
return descriptionHTML;
|
||||
}
|
||||
function buildEventCategoryList(milestone) {
|
||||
const categories = [];
|
||||
if (milestone.workOrderMilestoneTypeId) {
|
||||
categories.push(milestone.workOrderMilestoneType, milestone.workOrderType);
|
||||
}
|
||||
if (milestone.workOrderMilestoneCompletionDate) {
|
||||
categories.push("Completed");
|
||||
}
|
||||
return categories;
|
||||
}
|
||||
function buildEventLocation(milestone) {
|
||||
const lotNames = [];
|
||||
if (milestone.workOrderLots.length > 0) {
|
||||
for (const lot of milestone.workOrderLots) {
|
||||
lotNames.push(lot.mapName + ": " + lot.lotName);
|
||||
}
|
||||
}
|
||||
return lotNames.join(", ");
|
||||
}
|
||||
export const handler = (request, response) => {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
const workOrderMilestoneFilters = {
|
||||
|
|
@ -203,26 +239,14 @@ export const handler = (request, response) => {
|
|||
if (milestone.workOrderMilestoneCompletionDate) {
|
||||
calendarEvent.status(ICalEventStatus.CONFIRMED);
|
||||
}
|
||||
if (milestone.workOrderMilestoneTypeId) {
|
||||
const categories = buildEventCategoryList(milestone);
|
||||
for (const category of categories) {
|
||||
calendarEvent.createCategory({
|
||||
name: milestone.workOrderMilestoneType
|
||||
});
|
||||
calendarEvent.createCategory({
|
||||
name: milestone.workOrderType
|
||||
name: category
|
||||
});
|
||||
}
|
||||
if (milestone.workOrderMilestoneCompletionDate) {
|
||||
calendarEvent.createCategory({
|
||||
name: "Completed"
|
||||
});
|
||||
}
|
||||
if (milestone.workOrderLots.length > 0) {
|
||||
const lotNames = [];
|
||||
for (const lot of milestone.workOrderLots) {
|
||||
lotNames.push(lot.mapName + ": " + lot.lotName);
|
||||
}
|
||||
calendarEvent.location(lotNames.join(", "));
|
||||
}
|
||||
const location = buildEventLocation(milestone);
|
||||
calendarEvent.location(location);
|
||||
if (milestone.workOrderLotOccupancies.length > 0) {
|
||||
let organizerSet = false;
|
||||
for (const lotOccupancy of milestone.workOrderLotOccupancies) {
|
||||
|
|
|
|||
|
|
@ -71,26 +71,16 @@ function buildEventSummary(milestone: recordTypes.WorkOrderMilestone): string {
|
|||
return summary;
|
||||
}
|
||||
|
||||
function buildEventDescriptionHTML(
|
||||
function buildEventDescriptionHTML_occupancies(
|
||||
request: Request,
|
||||
milestone: recordTypes.WorkOrderMilestone
|
||||
): string {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
const workOrderUrl = getWorkOrderUrl(request, milestone);
|
||||
|
||||
let descriptionHTML =
|
||||
"<h1>Milestone Description</h1>" +
|
||||
"<p>" +
|
||||
escapeHTML(milestone.workOrderMilestoneDescription) +
|
||||
"</p>" +
|
||||
"<h2>Work Order #" +
|
||||
milestone.workOrderNumber +
|
||||
"</h2>" +
|
||||
("<p>" + escapeHTML(milestone.workOrderDescription) + "</p>") +
|
||||
("<p>" + workOrderUrl + "</p>");
|
||||
let descriptionHTML = "";
|
||||
|
||||
if (milestone.workOrderLotOccupancies.length > 0) {
|
||||
descriptionHTML +=
|
||||
const urlRoot = getUrlRoot(request);
|
||||
|
||||
descriptionHTML =
|
||||
"<h2>Related " +
|
||||
escapeHTML(configFunctions.getProperty("aliases.occupancies")) +
|
||||
"</h2>" +
|
||||
|
|
@ -137,7 +127,18 @@ function buildEventDescriptionHTML(
|
|||
descriptionHTML += "</tbody></table>";
|
||||
}
|
||||
|
||||
return descriptionHTML;
|
||||
}
|
||||
|
||||
function buildEventDescriptionHTML_lots(
|
||||
request: Request,
|
||||
milestone: recordTypes.WorkOrderMilestone
|
||||
): string {
|
||||
let descriptionHTML = "";
|
||||
|
||||
if (milestone.workOrderLots.length > 0) {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
|
||||
descriptionHTML +=
|
||||
"<h2>Related " +
|
||||
escapeHTML(configFunctions.getProperty("aliases.lots")) +
|
||||
|
|
@ -170,9 +171,20 @@ function buildEventDescriptionHTML(
|
|||
descriptionHTML += "</tbody></table>";
|
||||
}
|
||||
|
||||
return descriptionHTML;
|
||||
}
|
||||
|
||||
function buildEventDescriptionHTML_prints(
|
||||
request: Request,
|
||||
milestone: recordTypes.WorkOrderMilestone
|
||||
): string {
|
||||
let descriptionHTML = "";
|
||||
|
||||
const prints = configFunctions.getProperty("settings.workOrders.prints");
|
||||
|
||||
if (prints.length > 0) {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
|
||||
descriptionHTML += "<h2>Prints</h2>";
|
||||
|
||||
for (const printName of prints) {
|
||||
|
|
@ -192,6 +204,55 @@ function buildEventDescriptionHTML(
|
|||
return descriptionHTML;
|
||||
}
|
||||
|
||||
function buildEventDescriptionHTML(
|
||||
request: Request,
|
||||
milestone: recordTypes.WorkOrderMilestone
|
||||
): string {
|
||||
const workOrderUrl = getWorkOrderUrl(request, milestone);
|
||||
|
||||
let descriptionHTML =
|
||||
"<h1>Milestone Description</h1>" +
|
||||
"<p>" +
|
||||
escapeHTML(milestone.workOrderMilestoneDescription) +
|
||||
"</p>" +
|
||||
"<h2>Work Order #" +
|
||||
milestone.workOrderNumber +
|
||||
"</h2>" +
|
||||
("<p>" + escapeHTML(milestone.workOrderDescription) + "</p>") +
|
||||
("<p>" + workOrderUrl + "</p>");
|
||||
|
||||
descriptionHTML += buildEventDescriptionHTML_occupancies(request, milestone);
|
||||
descriptionHTML += buildEventDescriptionHTML_lots(request, milestone);
|
||||
descriptionHTML += buildEventDescriptionHTML_prints(request, milestone);
|
||||
|
||||
return descriptionHTML;
|
||||
}
|
||||
|
||||
function buildEventCategoryList(milestone: recordTypes.WorkOrderMilestone): string[] {
|
||||
const categories: string[] = [];
|
||||
|
||||
if (milestone.workOrderMilestoneTypeId) {
|
||||
categories.push(milestone.workOrderMilestoneType, milestone.workOrderType);
|
||||
}
|
||||
|
||||
if (milestone.workOrderMilestoneCompletionDate) {
|
||||
categories.push("Completed");
|
||||
}
|
||||
|
||||
return categories;
|
||||
}
|
||||
|
||||
function buildEventLocation(milestone: recordTypes.WorkOrderMilestone): string {
|
||||
const lotNames = [];
|
||||
|
||||
if (milestone.workOrderLots.length > 0) {
|
||||
for (const lot of milestone.workOrderLots) {
|
||||
lotNames.push(lot.mapName + ": " + lot.lotName);
|
||||
}
|
||||
}
|
||||
return lotNames.join(", ");
|
||||
}
|
||||
|
||||
export const handler: RequestHandler = (request, response) => {
|
||||
const urlRoot = getUrlRoot(request);
|
||||
|
||||
|
|
@ -304,33 +365,17 @@ export const handler: RequestHandler = (request, response) => {
|
|||
|
||||
// Add categories
|
||||
|
||||
if (milestone.workOrderMilestoneTypeId) {
|
||||
const categories = buildEventCategoryList(milestone);
|
||||
for (const category of categories) {
|
||||
calendarEvent.createCategory({
|
||||
name: milestone.workOrderMilestoneType
|
||||
});
|
||||
|
||||
calendarEvent.createCategory({
|
||||
name: milestone.workOrderType
|
||||
});
|
||||
}
|
||||
|
||||
if (milestone.workOrderMilestoneCompletionDate) {
|
||||
calendarEvent.createCategory({
|
||||
name: "Completed"
|
||||
name: category
|
||||
});
|
||||
}
|
||||
|
||||
// Set location
|
||||
|
||||
if (milestone.workOrderLots.length > 0) {
|
||||
const lotNames = [];
|
||||
|
||||
for (const lot of milestone.workOrderLots) {
|
||||
lotNames.push(lot.mapName + ": " + lot.lotName);
|
||||
}
|
||||
|
||||
calendarEvent.location(lotNames.join(", "));
|
||||
}
|
||||
const location = buildEventLocation(milestone);
|
||||
calendarEvent.location(location);
|
||||
|
||||
// Set organizer / attendees
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue