add occupancy type field
parent
0ba94ae199
commit
b6808f1559
|
|
@ -0,0 +1,3 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
export declare const handler: RequestHandler;
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
import { addOccupancyTypeField } from "../../helpers/lotOccupancyDB/addOccupancyTypeField.js";
|
||||||
|
import { getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||||
|
export const handler = async (request, response) => {
|
||||||
|
const occupancyTypeFieldId = addOccupancyTypeField(request.body, request.session);
|
||||||
|
const occupancyTypes = getOccupancyTypes();
|
||||||
|
response.json({
|
||||||
|
success: true,
|
||||||
|
occupancyTypeFieldId,
|
||||||
|
occupancyTypes
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
|
||||||
|
import { addOccupancyTypeField } from "../../helpers/lotOccupancyDB/addOccupancyTypeField.js";
|
||||||
|
|
||||||
|
import { getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||||
|
|
||||||
|
export const handler: RequestHandler = async (request, response) => {
|
||||||
|
const occupancyTypeFieldId = addOccupancyTypeField(request.body, request.session);
|
||||||
|
|
||||||
|
const occupancyTypes = getOccupancyTypes();
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success: true,
|
||||||
|
occupancyTypeFieldId,
|
||||||
|
occupancyTypes
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default handler;
|
||||||
|
|
@ -2,9 +2,9 @@ import type * as recordTypes from "../../types/recordTypes";
|
||||||
interface AddOccupancyTypeFieldForm {
|
interface AddOccupancyTypeFieldForm {
|
||||||
occupancyTypeId: string | number;
|
occupancyTypeId: string | number;
|
||||||
occupancyTypeField: string;
|
occupancyTypeField: string;
|
||||||
occupancyTypeFieldValues: string;
|
occupancyTypeFieldValues?: string;
|
||||||
isRequired?: string;
|
isRequired?: string;
|
||||||
pattern: string;
|
pattern?: string;
|
||||||
minimumLength: string | number;
|
minimumLength: string | number;
|
||||||
maximumLength: string | number;
|
maximumLength: string | number;
|
||||||
orderNumber?: number;
|
orderNumber?: number;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||||
export const addOccupancyTypeField = (occupancyTypeFieldForm, requestSession) => {
|
export const addOccupancyTypeField = (occupancyTypeFieldForm, requestSession) => {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const rightNowMillis = Date.now();
|
const rightNowMillis = Date.now();
|
||||||
|
|
@ -12,8 +13,9 @@ export const addOccupancyTypeField = (occupancyTypeFieldForm, requestSession) =>
|
||||||
" recordCreate_userName, recordCreate_timeMillis," +
|
" recordCreate_userName, recordCreate_timeMillis," +
|
||||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||||
.run(occupancyTypeFieldForm.occupancyTypeId, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues, occupancyTypeFieldForm.isRequired ? 1 : 0, occupancyTypeFieldForm.pattern, occupancyTypeFieldForm.minimumLength || 0, occupancyTypeFieldForm.maximumLength || 100, occupancyTypeFieldForm.orderNumber || 0, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
.run(occupancyTypeFieldForm.occupancyTypeId, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues || "", occupancyTypeFieldForm.isRequired ? 1 : 0, occupancyTypeFieldForm.pattern || "", occupancyTypeFieldForm.minimumLength || 0, occupancyTypeFieldForm.maximumLength || 100, occupancyTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||||
database.close();
|
database.close();
|
||||||
|
clearOccupancyTypesCache();
|
||||||
return result.lastInsertRowid;
|
return result.lastInsertRowid;
|
||||||
};
|
};
|
||||||
export default addOccupancyTypeField;
|
export default addOccupancyTypeField;
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,14 @@ import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||||
|
|
||||||
interface AddOccupancyTypeFieldForm {
|
interface AddOccupancyTypeFieldForm {
|
||||||
occupancyTypeId: string | number;
|
occupancyTypeId: string | number;
|
||||||
occupancyTypeField: string;
|
occupancyTypeField: string;
|
||||||
occupancyTypeFieldValues: string;
|
occupancyTypeFieldValues?: string;
|
||||||
isRequired?: string;
|
isRequired?: string;
|
||||||
pattern: string;
|
pattern?: string;
|
||||||
minimumLength: string | number;
|
minimumLength: string | number;
|
||||||
maximumLength: string | number;
|
maximumLength: string | number;
|
||||||
orderNumber?: number;
|
orderNumber?: number;
|
||||||
|
|
@ -37,12 +38,12 @@ export const addOccupancyTypeField = (
|
||||||
.run(
|
.run(
|
||||||
occupancyTypeFieldForm.occupancyTypeId,
|
occupancyTypeFieldForm.occupancyTypeId,
|
||||||
occupancyTypeFieldForm.occupancyTypeField,
|
occupancyTypeFieldForm.occupancyTypeField,
|
||||||
occupancyTypeFieldForm.occupancyTypeFieldValues,
|
occupancyTypeFieldForm.occupancyTypeFieldValues || "",
|
||||||
occupancyTypeFieldForm.isRequired ? 1 : 0,
|
occupancyTypeFieldForm.isRequired ? 1 : 0,
|
||||||
occupancyTypeFieldForm.pattern,
|
occupancyTypeFieldForm.pattern || "",
|
||||||
occupancyTypeFieldForm.minimumLength || 0,
|
occupancyTypeFieldForm.minimumLength || 0,
|
||||||
occupancyTypeFieldForm.maximumLength || 100,
|
occupancyTypeFieldForm.maximumLength || 100,
|
||||||
occupancyTypeFieldForm.orderNumber || 0,
|
occupancyTypeFieldForm.orderNumber || -1,
|
||||||
requestSession.user.userName,
|
requestSession.user.userName,
|
||||||
rightNowMillis,
|
rightNowMillis,
|
||||||
requestSession.user.userName,
|
requestSession.user.userName,
|
||||||
|
|
@ -51,6 +52,8 @@ export const addOccupancyTypeField = (
|
||||||
|
|
||||||
database.close();
|
database.close();
|
||||||
|
|
||||||
|
clearOccupancyTypesCache();
|
||||||
|
|
||||||
return result.lastInsertRowid as number;
|
return result.lastInsertRowid as number;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.occupancy + " Type",
|
title: "Delete " + exports.aliases.occupancy + " Type",
|
||||||
message: "Are you sure you want to delete this " + exports.aliases.occupancy.toLowerCase() + " type?",
|
message: "Are you sure you want to delete this " +
|
||||||
|
exports.aliases.occupancy.toLowerCase() +
|
||||||
|
" type?",
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete " + exports.aliases.occupancy + " Type",
|
text: "Yes, Delete " + exports.aliases.occupancy + " Type",
|
||||||
|
|
@ -100,6 +102,48 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
const openAddOccupancyTypeField = (clickEvent) => {
|
||||||
|
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId, 10);
|
||||||
|
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
|
return occupancyTypeId === currentOccupancyType.occupancyTypeId;
|
||||||
|
});
|
||||||
|
let addCloseModalFunction;
|
||||||
|
const doAdd = (submitEvent) => {
|
||||||
|
submitEvent.preventDefault();
|
||||||
|
cityssm.postJSON(urlPrefix + "/admin/doAddOccupancyTypeField", submitEvent.currentTarget, (responseJSON) => {
|
||||||
|
if (responseJSON.success) {
|
||||||
|
expandedOccupancyTypes.add(occupancyTypeId);
|
||||||
|
addCloseModalFunction();
|
||||||
|
occupancyTypes = responseJSON.occupancyTypes;
|
||||||
|
renderOccupancyTypes();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Error Adding Field",
|
||||||
|
message: responseJSON.errorMessage,
|
||||||
|
contextualColorName: "danger"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypeField", {
|
||||||
|
onshow: (modalElement) => {
|
||||||
|
los.populateAliases(modalElement);
|
||||||
|
modalElement.querySelector("#occupancyTypeFieldAdd--occupancyTypeId").value = occupancyTypeId.toString();
|
||||||
|
},
|
||||||
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
|
addCloseModalFunction = closeModalFunction;
|
||||||
|
modalElement.querySelector("#occupancyTypeFieldAdd--occupancyTypeField").focus();
|
||||||
|
modalElement
|
||||||
|
.querySelector("form")
|
||||||
|
.addEventListener("submit", doAdd);
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
},
|
||||||
|
onremoved: () => {
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
const moveOccupancyTypeUp = (clickEvent) => {
|
const moveOccupancyTypeUp = (clickEvent) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const occupancyTypeId = clickEvent.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;
|
const occupancyTypeId = clickEvent.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;
|
||||||
|
|
@ -266,12 +310,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--toggleOccupancyTypeFields")
|
.querySelector(".button--toggleOccupancyTypeFields")
|
||||||
.addEventListener("click", toggleOccupancyTypeFields);
|
.addEventListener("click", toggleOccupancyTypeFields);
|
||||||
|
occupancyTypeContainer
|
||||||
|
.querySelector(".button--deleteOccupancyType")
|
||||||
|
.addEventListener("click", deleteOccupancyType);
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--editOccupancyType")
|
.querySelector(".button--editOccupancyType")
|
||||||
.addEventListener("click", openEditOccupancyType);
|
.addEventListener("click", openEditOccupancyType);
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--deleteOccupancyType")
|
.querySelector(".button--addOccupancyTypeField")
|
||||||
.addEventListener("click", deleteOccupancyType);
|
.addEventListener("click", openAddOccupancyTypeField);
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--moveOccupancyTypeUp")
|
.querySelector(".button--moveOccupancyTypeUp")
|
||||||
.addEventListener("click", moveOccupancyTypeUp);
|
.addEventListener("click", moveOccupancyTypeUp);
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,6 @@ declare const bulmaJS: BulmaJS;
|
||||||
);
|
);
|
||||||
|
|
||||||
const doDelete = () => {
|
const doDelete = () => {
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
urlPrefix + "/admin/doDeleteOccupancyType",
|
urlPrefix + "/admin/doDeleteOccupancyType",
|
||||||
{
|
{
|
||||||
|
|
@ -98,7 +97,10 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.occupancy + " Type",
|
title: "Delete " + exports.aliases.occupancy + " Type",
|
||||||
message: "Are you sure you want to delete this " + exports.aliases.occupancy.toLowerCase() + " type?",
|
message:
|
||||||
|
"Are you sure you want to delete this " +
|
||||||
|
exports.aliases.occupancy.toLowerCase() +
|
||||||
|
" type?",
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete " + exports.aliases.occupancy + " Type",
|
text: "Yes, Delete " + exports.aliases.occupancy + " Type",
|
||||||
|
|
@ -189,6 +191,81 @@ declare const bulmaJS: BulmaJS;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const openAddOccupancyTypeField = (clickEvent: Event) => {
|
||||||
|
const occupancyTypeId = Number.parseInt(
|
||||||
|
(
|
||||||
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
|
".container--occupancyType"
|
||||||
|
) as HTMLElement
|
||||||
|
).dataset.occupancyTypeId,
|
||||||
|
10
|
||||||
|
);
|
||||||
|
|
||||||
|
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
|
return occupancyTypeId === currentOccupancyType.occupancyTypeId;
|
||||||
|
});
|
||||||
|
|
||||||
|
let addCloseModalFunction: () => void;
|
||||||
|
|
||||||
|
const doAdd = (submitEvent: SubmitEvent) => {
|
||||||
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
|
cityssm.postJSON(
|
||||||
|
urlPrefix + "/admin/doAddOccupancyTypeField",
|
||||||
|
submitEvent.currentTarget,
|
||||||
|
(responseJSON: {
|
||||||
|
success: boolean;
|
||||||
|
errorMessage?: string;
|
||||||
|
occupancyTypes?: recordTypes.OccupancyType[];
|
||||||
|
}) => {
|
||||||
|
if (responseJSON.success) {
|
||||||
|
expandedOccupancyTypes.add(occupancyTypeId);
|
||||||
|
|
||||||
|
addCloseModalFunction();
|
||||||
|
occupancyTypes = responseJSON.occupancyTypes;
|
||||||
|
renderOccupancyTypes();
|
||||||
|
} else {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Error Adding Field",
|
||||||
|
message: responseJSON.errorMessage,
|
||||||
|
contextualColorName: "danger"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypeField", {
|
||||||
|
onshow: (modalElement) => {
|
||||||
|
los.populateAliases(modalElement);
|
||||||
|
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#occupancyTypeFieldAdd--occupancyTypeId"
|
||||||
|
) as HTMLInputElement
|
||||||
|
).value = occupancyTypeId.toString();
|
||||||
|
},
|
||||||
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
|
addCloseModalFunction = closeModalFunction;
|
||||||
|
|
||||||
|
(
|
||||||
|
modalElement.querySelector(
|
||||||
|
"#occupancyTypeFieldAdd--occupancyTypeField"
|
||||||
|
) as HTMLInputElement
|
||||||
|
).focus();
|
||||||
|
|
||||||
|
modalElement
|
||||||
|
.querySelector("form")
|
||||||
|
.addEventListener("submit", doAdd);
|
||||||
|
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
},
|
||||||
|
onremoved: () => {
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const moveOccupancyTypeUp = (clickEvent: Event) => {
|
const moveOccupancyTypeUp = (clickEvent: Event) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
|
|
@ -408,13 +485,17 @@ declare const bulmaJS: BulmaJS;
|
||||||
.querySelector(".button--toggleOccupancyTypeFields")
|
.querySelector(".button--toggleOccupancyTypeFields")
|
||||||
.addEventListener("click", toggleOccupancyTypeFields);
|
.addEventListener("click", toggleOccupancyTypeFields);
|
||||||
|
|
||||||
|
occupancyTypeContainer
|
||||||
|
.querySelector(".button--deleteOccupancyType")
|
||||||
|
.addEventListener("click", deleteOccupancyType);
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--editOccupancyType")
|
.querySelector(".button--editOccupancyType")
|
||||||
.addEventListener("click", openEditOccupancyType);
|
.addEventListener("click", openEditOccupancyType);
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--deleteOccupancyType")
|
.querySelector(".button--addOccupancyTypeField")
|
||||||
.addEventListener("click", deleteOccupancyType);
|
.addEventListener("click", openAddOccupancyTypeField);
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector(".button--moveOccupancyTypeUp")
|
.querySelector(".button--moveOccupancyTypeUp")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
<div class="modal">
|
||||||
|
<div class="modal-background"></div>
|
||||||
|
<div class="modal-card" style="width:900px">
|
||||||
|
<header class="modal-card-head">
|
||||||
|
<h3 class="modal-card-title">
|
||||||
|
Add <span class="alias" data-alias="Occupancy"></span> Type Field
|
||||||
|
</h3>
|
||||||
|
<button class="delete is-close-modal-button" aria-label="close" type="button"></button>
|
||||||
|
</header>
|
||||||
|
<section class="modal-card-body">
|
||||||
|
<form id="form--occupancyTypeFieldAdd">
|
||||||
|
<input class="input" id="occupancyTypeFieldAdd--occupancyTypeId" name="occupancyTypeId" type="hidden" />
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="occupancyTypeFieldAdd--occupancyTypeField">New Field</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="occupancyTypeFieldAdd--occupancyTypeField" name="occupancyTypeField" type="text" maxlength="100" required />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
<footer class="modal-card-foot justify-right">
|
||||||
|
<button class="button is-success" type="submit" form="form--occupancyTypeFieldAdd">
|
||||||
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Add Field</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
|
|
@ -17,6 +17,7 @@ import handler_doUpdateOccupancyType from "../handlers/admin-post/doUpdateOccupa
|
||||||
import handler_doMoveOccupancyTypeUp from "../handlers/admin-post/doMoveOccupancyTypeUp.js";
|
import handler_doMoveOccupancyTypeUp from "../handlers/admin-post/doMoveOccupancyTypeUp.js";
|
||||||
import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupancyTypeDown.js";
|
import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupancyTypeDown.js";
|
||||||
import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupancyType.js";
|
import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupancyType.js";
|
||||||
|
import handler_doAddOccupancyTypeField from "../handlers/admin-post/doAddOccupancyTypeField.js";
|
||||||
import handler_tables from "../handlers/admin-get/tables.js";
|
import handler_tables from "../handlers/admin-get/tables.js";
|
||||||
import handler_doAddWorkOrderType from "../handlers/admin-post/doAddWorkOrderType.js";
|
import handler_doAddWorkOrderType from "../handlers/admin-post/doAddWorkOrderType.js";
|
||||||
import handler_doUpdateWorkOrderType from "../handlers/admin-post/doUpdateWorkOrderType.js";
|
import handler_doUpdateWorkOrderType from "../handlers/admin-post/doUpdateWorkOrderType.js";
|
||||||
|
|
@ -51,6 +52,7 @@ router.post("/doUpdateOccupancyType", permissionHandlers.adminPostHandler, handl
|
||||||
router.post("/doMoveOccupancyTypeUp", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeUp);
|
router.post("/doMoveOccupancyTypeUp", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeUp);
|
||||||
router.post("/doMoveOccupancyTypeDown", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeDown);
|
router.post("/doMoveOccupancyTypeDown", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeDown);
|
||||||
router.post("/doDeleteOccupancyType", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyType);
|
router.post("/doDeleteOccupancyType", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyType);
|
||||||
|
router.post("/doAddOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doAddOccupancyTypeField);
|
||||||
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables);
|
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables);
|
||||||
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType);
|
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType);
|
||||||
router.post("/doUpdateWorkOrderType", permissionHandlers.adminPostHandler, handler_doUpdateWorkOrderType);
|
router.post("/doUpdateWorkOrderType", permissionHandlers.adminPostHandler, handler_doUpdateWorkOrderType);
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,8 @@ import handler_doMoveOccupancyTypeUp from "../handlers/admin-post/doMoveOccupanc
|
||||||
import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupancyTypeDown.js";
|
import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupancyTypeDown.js";
|
||||||
import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupancyType.js";
|
import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupancyType.js";
|
||||||
|
|
||||||
|
import handler_doAddOccupancyTypeField from "../handlers/admin-post/doAddOccupancyTypeField.js";
|
||||||
|
|
||||||
// Config Table Management
|
// Config Table Management
|
||||||
|
|
||||||
import handler_tables from "../handlers/admin-get/tables.js";
|
import handler_tables from "../handlers/admin-get/tables.js";
|
||||||
|
|
@ -154,6 +156,13 @@ router.post(
|
||||||
handler_doDeleteOccupancyType
|
handler_doDeleteOccupancyType
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Occupancy Type Fields
|
||||||
|
|
||||||
|
router.post(
|
||||||
|
"/doAddOccupancyTypeField",
|
||||||
|
permissionHandlers.adminPostHandler,
|
||||||
|
handler_doAddOccupancyTypeField
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Config Tables
|
* Config Tables
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue