update milestone
parent
24a30c35cd
commit
9336907547
|
|
@ -0,0 +1,3 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
export declare const handler: RequestHandler;
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
import { updateWorkOrderMilestone } from "../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js";
|
||||||
|
import { getWorkOrderMilestones } from "../../helpers/lotOccupancyDB/getWorkOrderMilestones.js";
|
||||||
|
export const handler = async (request, response) => {
|
||||||
|
const success = updateWorkOrderMilestone(request.body, request.session);
|
||||||
|
const workOrderMilestones = getWorkOrderMilestones(request.body.workOrderId);
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
workOrderMilestones
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
|
||||||
|
import { updateWorkOrderMilestone } from "../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js";
|
||||||
|
import { getWorkOrderMilestones } from "../../helpers/lotOccupancyDB/getWorkOrderMilestones.js";
|
||||||
|
|
||||||
|
export const handler: RequestHandler = async (request, response) => {
|
||||||
|
const success = updateWorkOrderMilestone(request.body, request.session);
|
||||||
|
|
||||||
|
const workOrderMilestones = getWorkOrderMilestones(
|
||||||
|
request.body.workOrderId
|
||||||
|
);
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
workOrderMilestones
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
interface UpdateWorkOrderMilestoneForm {
|
||||||
|
workOrderMilestoneId: string | number;
|
||||||
|
workOrderMilestoneTypeId?: number | string;
|
||||||
|
workOrderMilestoneDateString: string;
|
||||||
|
workOrderMilestoneTimeString?: string;
|
||||||
|
workOrderMilestoneDescription: string;
|
||||||
|
}
|
||||||
|
export declare const updateWorkOrderMilestone: (milestoneForm: UpdateWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession) => boolean;
|
||||||
|
export default updateWorkOrderMilestone;
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateStringToInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
export const updateWorkOrderMilestone = (milestoneForm, requestSession) => {
|
||||||
|
const rightNow = new Date();
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
const result = database
|
||||||
|
.prepare("update WorkOrderMilestones" +
|
||||||
|
" set workOrderMilestoneTypeId = ?," +
|
||||||
|
" workOrderMilestoneDate = ?," +
|
||||||
|
" workOrderMilestoneTime = ?," +
|
||||||
|
" workOrderMilestoneDescription = ?," +
|
||||||
|
" recordUpdate_userName = ?," +
|
||||||
|
" recordUpdate_timeMillis = ?" +
|
||||||
|
" where workOrderMilestoneId = ?")
|
||||||
|
.run(milestoneForm.workOrderMilestoneTypeId || undefined, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString
|
||||||
|
? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString)
|
||||||
|
: 0, milestoneForm.workOrderMilestoneDescription, requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId);
|
||||||
|
database.close();
|
||||||
|
return result.changes > 0;
|
||||||
|
};
|
||||||
|
export default updateWorkOrderMilestone;
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateStringToInteger,
|
||||||
|
timeStringToInteger
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
interface UpdateWorkOrderMilestoneForm {
|
||||||
|
workOrderMilestoneId: string | number;
|
||||||
|
workOrderMilestoneTypeId?: number | string;
|
||||||
|
workOrderMilestoneDateString: string;
|
||||||
|
workOrderMilestoneTimeString?: string;
|
||||||
|
workOrderMilestoneDescription: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateWorkOrderMilestone = (
|
||||||
|
milestoneForm: UpdateWorkOrderMilestoneForm,
|
||||||
|
requestSession: recordTypes.PartialSession
|
||||||
|
): boolean => {
|
||||||
|
const rightNow = new Date();
|
||||||
|
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
|
const result = database
|
||||||
|
.prepare(
|
||||||
|
"update WorkOrderMilestones" +
|
||||||
|
" set workOrderMilestoneTypeId = ?," +
|
||||||
|
" workOrderMilestoneDate = ?," +
|
||||||
|
" workOrderMilestoneTime = ?," +
|
||||||
|
" workOrderMilestoneDescription = ?," +
|
||||||
|
" recordUpdate_userName = ?," +
|
||||||
|
" recordUpdate_timeMillis = ?" +
|
||||||
|
" where workOrderMilestoneId = ?"
|
||||||
|
)
|
||||||
|
.run(
|
||||||
|
milestoneForm.workOrderMilestoneTypeId || undefined,
|
||||||
|
dateStringToInteger(milestoneForm.workOrderMilestoneDateString),
|
||||||
|
milestoneForm.workOrderMilestoneTimeString
|
||||||
|
? timeStringToInteger(
|
||||||
|
milestoneForm.workOrderMilestoneTimeString
|
||||||
|
)
|
||||||
|
: 0,
|
||||||
|
milestoneForm.workOrderMilestoneDescription,
|
||||||
|
|
||||||
|
requestSession.user.userName,
|
||||||
|
rightNow.getTime(),
|
||||||
|
milestoneForm.workOrderMilestoneId
|
||||||
|
);
|
||||||
|
|
||||||
|
database.close();
|
||||||
|
|
||||||
|
return result.changes > 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default updateWorkOrderMilestone;
|
||||||
|
|
@ -676,6 +676,66 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
const editMilestone = (clickEvent) => {
|
const editMilestone = (clickEvent) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
|
||||||
|
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
||||||
|
return (currentMilestone.workOrderMilestoneId ===
|
||||||
|
workOrderMilestoneId);
|
||||||
|
});
|
||||||
|
let editCloseModalFunction;
|
||||||
|
const doEdit = (submitEvent) => {
|
||||||
|
submitEvent.preventDefault();
|
||||||
|
cityssm.postJSON(urlPrefix + "/workOrders/doUpdateWorkOrderMilestone", submitEvent.currentTarget, (responseJSON) => {
|
||||||
|
processMilestoneResponse(responseJSON);
|
||||||
|
if (responseJSON.success) {
|
||||||
|
editCloseModalFunction();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
cityssm.openHtmlModal("workOrder-editMilestone", {
|
||||||
|
onshow: (modalElement) => {
|
||||||
|
modalElement.querySelector("#milestoneEdit--workOrderId").value = workOrderId;
|
||||||
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneId").value =
|
||||||
|
workOrderMilestone.workOrderMilestoneId.toString();
|
||||||
|
const milestoneTypeElement = modalElement.querySelector("#milestoneEdit--workOrderMilestoneTypeId");
|
||||||
|
let milestoneTypeFound = false;
|
||||||
|
for (const milestoneType of exports.workOrderMilestoneTypes) {
|
||||||
|
const optionElement = document.createElement("option");
|
||||||
|
optionElement.value =
|
||||||
|
milestoneType.workOrderMilestoneTypeId.toString();
|
||||||
|
optionElement.textContent =
|
||||||
|
milestoneType.workOrderMilestoneType;
|
||||||
|
if (milestoneType.workOrderMilestoneTypeId ===
|
||||||
|
workOrderMilestone.workOrderMilestoneTypeId) {
|
||||||
|
optionElement.selected = true;
|
||||||
|
milestoneTypeFound = true;
|
||||||
|
}
|
||||||
|
milestoneTypeElement.append(optionElement);
|
||||||
|
}
|
||||||
|
if (!milestoneTypeFound &&
|
||||||
|
workOrderMilestone.workOrderMilestoneTypeId) {
|
||||||
|
const optionElement = document.createElement("option");
|
||||||
|
optionElement.value =
|
||||||
|
workOrderMilestone.workOrderMilestoneTypeId.toString();
|
||||||
|
optionElement.textContent =
|
||||||
|
workOrderMilestone.workOrderMilestoneType;
|
||||||
|
optionElement.selected = true;
|
||||||
|
milestoneTypeElement.append(optionElement);
|
||||||
|
}
|
||||||
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneDateString").value = workOrderMilestone.workOrderMilestoneDateString;
|
||||||
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value = workOrderMilestone.workOrderMilestoneTimeString;
|
||||||
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneDescription").value = workOrderMilestone.workOrderMilestoneDescription;
|
||||||
|
},
|
||||||
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
modalElement
|
||||||
|
.querySelector("form")
|
||||||
|
.addEventListener("submit", doEdit);
|
||||||
|
},
|
||||||
|
onremoved: () => {
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const renderMilestones = () => {
|
const renderMilestones = () => {
|
||||||
const milestonesPanelElement = document.querySelector("#panel--milestones");
|
const milestonesPanelElement = document.querySelector("#panel--milestones");
|
||||||
|
|
@ -798,7 +858,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
modalElement.querySelector("form").addEventListener("submit", doAdd);
|
modalElement
|
||||||
|
.querySelector("form")
|
||||||
|
.addEventListener("submit", doAdd);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
|
||||||
|
|
@ -978,6 +978,129 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
const editMilestone = (clickEvent: Event) => {
|
const editMilestone = (clickEvent: Event) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
|
const workOrderMilestoneId = Number.parseInt(
|
||||||
|
(
|
||||||
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
|
".container--milestone"
|
||||||
|
) as HTMLElement
|
||||||
|
).dataset.workOrderMilestoneId,
|
||||||
|
10
|
||||||
|
);
|
||||||
|
|
||||||
|
const workOrderMilestone = workOrderMilestones.find(
|
||||||
|
(currentMilestone) => {
|
||||||
|
return (
|
||||||
|
currentMilestone.workOrderMilestoneId ===
|
||||||
|
workOrderMilestoneId
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
let editCloseModalFunction: () => void;
|
||||||
|
|
||||||
|
const doEdit = (submitEvent: SubmitEvent) => {
|
||||||
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
|
cityssm.postJSON(
|
||||||
|
urlPrefix + "/workOrders/doUpdateWorkOrderMilestone",
|
||||||
|
submitEvent.currentTarget,
|
||||||
|
(responseJSON: {
|
||||||
|
success: boolean;
|
||||||
|
errorMessage?: string;
|
||||||
|
workOrderMilestones?: recordTypes.WorkOrderMilestone[];
|
||||||
|
}) => {
|
||||||
|
processMilestoneResponse(responseJSON);
|
||||||
|
if (responseJSON.success) {
|
||||||
|
editCloseModalFunction();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
cityssm.openHtmlModal("workOrder-editMilestone", {
|
||||||
|
onshow: (modalElement) => {
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#milestoneEdit--workOrderId"
|
||||||
|
) as HTMLInputElement
|
||||||
|
).value = workOrderId;
|
||||||
|
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#milestoneEdit--workOrderMilestoneId"
|
||||||
|
) as HTMLInputElement
|
||||||
|
).value =
|
||||||
|
workOrderMilestone.workOrderMilestoneId.toString();
|
||||||
|
|
||||||
|
const milestoneTypeElement = modalElement.querySelector(
|
||||||
|
"#milestoneEdit--workOrderMilestoneTypeId"
|
||||||
|
) as HTMLSelectElement;
|
||||||
|
|
||||||
|
let milestoneTypeFound = false;
|
||||||
|
|
||||||
|
for (const milestoneType of exports.workOrderMilestoneTypes as recordTypes.WorkOrderMilestoneType[]) {
|
||||||
|
const optionElement = document.createElement("option");
|
||||||
|
|
||||||
|
optionElement.value =
|
||||||
|
milestoneType.workOrderMilestoneTypeId.toString();
|
||||||
|
optionElement.textContent =
|
||||||
|
milestoneType.workOrderMilestoneType;
|
||||||
|
|
||||||
|
if (
|
||||||
|
milestoneType.workOrderMilestoneTypeId ===
|
||||||
|
workOrderMilestone.workOrderMilestoneTypeId
|
||||||
|
) {
|
||||||
|
optionElement.selected = true;
|
||||||
|
milestoneTypeFound = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
milestoneTypeElement.append(optionElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
!milestoneTypeFound &&
|
||||||
|
workOrderMilestone.workOrderMilestoneTypeId
|
||||||
|
) {
|
||||||
|
const optionElement = document.createElement("option");
|
||||||
|
optionElement.value =
|
||||||
|
workOrderMilestone.workOrderMilestoneTypeId.toString();
|
||||||
|
optionElement.textContent =
|
||||||
|
workOrderMilestone.workOrderMilestoneType;
|
||||||
|
optionElement.selected = true;
|
||||||
|
milestoneTypeElement.append(optionElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#milestoneEdit--workOrderMilestoneDateString"
|
||||||
|
) as HTMLInputElement
|
||||||
|
).value = workOrderMilestone.workOrderMilestoneDateString;
|
||||||
|
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#milestoneEdit--workOrderMilestoneTimeString"
|
||||||
|
) as HTMLInputElement
|
||||||
|
).value = workOrderMilestone.workOrderMilestoneTimeString;
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#milestoneEdit--workOrderMilestoneDescription"
|
||||||
|
) as HTMLTextAreaElement
|
||||||
|
).value = workOrderMilestone.workOrderMilestoneDescription;
|
||||||
|
},
|
||||||
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
||||||
|
modalElement
|
||||||
|
.querySelector("form")
|
||||||
|
.addEventListener("submit", doEdit);
|
||||||
|
},
|
||||||
|
onremoved: () => {
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const renderMilestones = () => {
|
const renderMilestones = () => {
|
||||||
|
|
@ -1149,7 +1272,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
modalElement.querySelector("form").addEventListener("submit", doAdd);
|
modalElement
|
||||||
|
.querySelector("form")
|
||||||
|
.addEventListener("submit", doAdd);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
<div class="modal">
|
||||||
|
<div class="modal-background"></div>
|
||||||
|
<div class="modal-card">
|
||||||
|
<header class="modal-card-head">
|
||||||
|
<h3 class="modal-card-title">
|
||||||
|
Edit Milestone
|
||||||
|
</h3>
|
||||||
|
<button class="delete is-close-modal-button" aria-label="close" type="button"></button>
|
||||||
|
</header>
|
||||||
|
<section class="modal-card-body">
|
||||||
|
<form id="form--milestoneEdit">
|
||||||
|
<input id="milestoneEdit--workOrderId" name="workOrderId" type="hidden" value="" />
|
||||||
|
<input id="milestoneEdit--workOrderMilestoneId" name="workOrderMilestoneId" type="hidden" value="" />
|
||||||
|
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="milestoneEdit--workOrderMilestoneTypeId">Milestone Type</label>
|
||||||
|
<div class="control">
|
||||||
|
<div class="select is-fullwidth">
|
||||||
|
<select id="milestoneEdit--workOrderMilestoneTypeId" name="workOrderMilestoneTypeId">
|
||||||
|
<option value="">(No Milestone Type)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="milestoneEdit--workOrderMilestoneDateString">Milestone Date</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="milestoneEdit--workOrderMilestoneDateString" name="workOrderMilestoneDateString" type="date" required />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="milestoneEdit--workOrderMilestoneTimeString">Milestone Time</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="milestoneEdit--workOrderMilestoneTimeString" name="workOrderMilestoneTimeString" type="time" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="milestoneEdit--workOrderMilestoneDescription">Description</label>
|
||||||
|
<div class="control">
|
||||||
|
<textarea class="textarea" id="milestoneEdit--workOrderMilestoneDescription" name="workOrderMilestoneDescription"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
<footer class="modal-card-foot justify-right">
|
||||||
|
<button class="button is-success" type="submit" form="form--milestoneEdit">
|
||||||
|
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||||
|
<span>Update Milestone</span>
|
||||||
|
</button>
|
||||||
|
<button class="button is-close-modal-button" type="button">Cancel</button>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -11,6 +11,7 @@ import handler_doDeleteWorkOrderLotOccupancy from "../handlers/workOrders-post/d
|
||||||
import handler_doAddWorkOrderLot from "../handlers/workOrders-post/doAddWorkOrderLot.js";
|
import handler_doAddWorkOrderLot from "../handlers/workOrders-post/doAddWorkOrderLot.js";
|
||||||
import handler_doDeleteWorkOrderLot from "../handlers/workOrders-post/doDeleteWorkOrderLot.js";
|
import handler_doDeleteWorkOrderLot from "../handlers/workOrders-post/doDeleteWorkOrderLot.js";
|
||||||
import handler_doAddWorkOrderMilestone from "../handlers/workOrders-post/doAddWorkOrderMilestone.js";
|
import handler_doAddWorkOrderMilestone from "../handlers/workOrders-post/doAddWorkOrderMilestone.js";
|
||||||
|
import handler_doUpdateWorkOrderMilestone from "../handlers/workOrders-post/doUpdateWorkOrderMilestone.js";
|
||||||
import handler_doCompleteWorkOrderMilestone from "../handlers/workOrders-post/doCompleteWorkOrderMilestone.js";
|
import handler_doCompleteWorkOrderMilestone from "../handlers/workOrders-post/doCompleteWorkOrderMilestone.js";
|
||||||
import handler_doReopenWorkOrderMilestone from "../handlers/workOrders-post/doReopenWorkOrderMilestone.js";
|
import handler_doReopenWorkOrderMilestone from "../handlers/workOrders-post/doReopenWorkOrderMilestone.js";
|
||||||
import handler_doDeleteWorkOrderMilestone from "../handlers/workOrders-post/doDeleteWorkOrderMilestone.js";
|
import handler_doDeleteWorkOrderMilestone from "../handlers/workOrders-post/doDeleteWorkOrderMilestone.js";
|
||||||
|
|
@ -26,6 +27,7 @@ router.post("/doDeleteWorkOrderLotOccupancy", permissionHandlers.updatePostHandl
|
||||||
router.post("/doAddWorkOrderLot", permissionHandlers.updatePostHandler, handler_doAddWorkOrderLot);
|
router.post("/doAddWorkOrderLot", permissionHandlers.updatePostHandler, handler_doAddWorkOrderLot);
|
||||||
router.post("/doDeleteWorkOrderLot", permissionHandlers.updatePostHandler, handler_doDeleteWorkOrderLot);
|
router.post("/doDeleteWorkOrderLot", permissionHandlers.updatePostHandler, handler_doDeleteWorkOrderLot);
|
||||||
router.post("/doAddWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doAddWorkOrderMilestone);
|
router.post("/doAddWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doAddWorkOrderMilestone);
|
||||||
|
router.post("/doUpdateWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doUpdateWorkOrderMilestone);
|
||||||
router.post("/doCompleteWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doCompleteWorkOrderMilestone);
|
router.post("/doCompleteWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doCompleteWorkOrderMilestone);
|
||||||
router.post("/doReopenWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doReopenWorkOrderMilestone);
|
router.post("/doReopenWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doReopenWorkOrderMilestone);
|
||||||
router.post("/doDeleteWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doDeleteWorkOrderMilestone);
|
router.post("/doDeleteWorkOrderMilestone", permissionHandlers.updatePostHandler, handler_doDeleteWorkOrderMilestone);
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import handler_doAddWorkOrderLot from "../handlers/workOrders-post/doAddWorkOrde
|
||||||
import handler_doDeleteWorkOrderLot from "../handlers/workOrders-post/doDeleteWorkOrderLot.js";
|
import handler_doDeleteWorkOrderLot from "../handlers/workOrders-post/doDeleteWorkOrderLot.js";
|
||||||
|
|
||||||
import handler_doAddWorkOrderMilestone from "../handlers/workOrders-post/doAddWorkOrderMilestone.js";
|
import handler_doAddWorkOrderMilestone from "../handlers/workOrders-post/doAddWorkOrderMilestone.js";
|
||||||
|
import handler_doUpdateWorkOrderMilestone from "../handlers/workOrders-post/doUpdateWorkOrderMilestone.js";
|
||||||
import handler_doCompleteWorkOrderMilestone from "../handlers/workOrders-post/doCompleteWorkOrderMilestone.js";
|
import handler_doCompleteWorkOrderMilestone from "../handlers/workOrders-post/doCompleteWorkOrderMilestone.js";
|
||||||
import handler_doReopenWorkOrderMilestone from "../handlers/workOrders-post/doReopenWorkOrderMilestone.js";
|
import handler_doReopenWorkOrderMilestone from "../handlers/workOrders-post/doReopenWorkOrderMilestone.js";
|
||||||
import handler_doDeleteWorkOrderMilestone from "../handlers/workOrders-post/doDeleteWorkOrderMilestone.js";
|
import handler_doDeleteWorkOrderMilestone from "../handlers/workOrders-post/doDeleteWorkOrderMilestone.js";
|
||||||
|
|
@ -80,6 +81,12 @@ router.post(
|
||||||
handler_doAddWorkOrderMilestone
|
handler_doAddWorkOrderMilestone
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.post(
|
||||||
|
"/doUpdateWorkOrderMilestone",
|
||||||
|
permissionHandlers.updatePostHandler,
|
||||||
|
handler_doUpdateWorkOrderMilestone
|
||||||
|
);
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
"/doCompleteWorkOrderMilestone",
|
"/doCompleteWorkOrderMilestone",
|
||||||
permissionHandlers.updatePostHandler,
|
permissionHandlers.updatePostHandler,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue