add occupancy type
parent
ef96f8545b
commit
a4abbc055c
|
|
@ -0,0 +1,3 @@
|
|||
import type { RequestHandler } from "express";
|
||||
export declare const handler: RequestHandler;
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import { addOccupancyType } from "../../helpers/lotOccupancyDB/addOccupancyType.js";
|
||||
import { getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||
export const handler = async (request, response) => {
|
||||
const occupancyTypeId = addOccupancyType(request.body, request.session);
|
||||
const occupancyTypes = getOccupancyTypes();
|
||||
response.json({
|
||||
success: true,
|
||||
occupancyTypeId,
|
||||
occupancyTypes
|
||||
});
|
||||
};
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
import type { RequestHandler } from "express";
|
||||
|
||||
import { addOccupancyType } from "../../helpers/lotOccupancyDB/addOccupancyType.js";
|
||||
|
||||
import { getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||
|
||||
export const handler: RequestHandler = async (request, response) => {
|
||||
const occupancyTypeId = addOccupancyType(request.body, request.session);
|
||||
|
||||
const occupancyTypes = getOccupancyTypes();
|
||||
|
||||
response.json({
|
||||
success: true,
|
||||
occupancyTypeId,
|
||||
occupancyTypes
|
||||
});
|
||||
};
|
||||
|
||||
export default handler;
|
||||
|
|
@ -10,7 +10,7 @@ export const addOccupancyType = (occupancyTypeForm, requestSession) => {
|
|||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.run(occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || 0, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
.run(occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearOccupancyTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ export const addOccupancyType = (
|
|||
)
|
||||
.run(
|
||||
occupancyTypeForm.occupancyType,
|
||||
occupancyTypeForm.orderNumber || 0,
|
||||
occupancyTypeForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
(() => {
|
||||
const los = exports.los;
|
||||
const urlPrefix = document.querySelector("main").dataset.urlPrefix;
|
||||
const containerElement = document.querySelector("#container--occupancyTypes");
|
||||
let occupancyTypes = exports.occupancyTypes;
|
||||
|
|
@ -36,7 +37,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Occupancy Type",
|
||||
title: "Error Moving " +
|
||||
exports.aliases.occupancy +
|
||||
" Type",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
|
|
@ -55,7 +58,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Occupancy Type",
|
||||
title: "Error Moving " +
|
||||
exports.aliases.occupancy +
|
||||
" Type",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
|
|
@ -189,5 +194,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
containerElement.append(occupancyTypeContainer);
|
||||
}
|
||||
};
|
||||
document
|
||||
.querySelector("#button--addOccupancyType")
|
||||
.addEventListener("click", () => {
|
||||
let addCloseModalFunction;
|
||||
const doAdd = (submitEvent) => {
|
||||
submitEvent.preventDefault();
|
||||
cityssm.postJSON(urlPrefix + "/admin/doAddOccupancyType", submitEvent.currentTarget, (responseJSON) => {
|
||||
if (responseJSON.success) {
|
||||
addCloseModalFunction();
|
||||
occupancyTypes = responseJSON.occupancyTypes;
|
||||
renderOccupancyTypes();
|
||||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Adding " +
|
||||
exports.aliases.occupancy +
|
||||
" Type",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType", {
|
||||
onshow: (modalElement) => {
|
||||
los.populateAliases(modalElement);
|
||||
},
|
||||
onshown: (modalElement, closeModalFunction) => {
|
||||
addCloseModalFunction = closeModalFunction;
|
||||
modalElement.querySelector("#occupancyTypeAdd--occupancyType").focus();
|
||||
modalElement
|
||||
.querySelector("form")
|
||||
.addEventListener("submit", doAdd);
|
||||
bulmaJS.toggleHtmlClipped();
|
||||
},
|
||||
onremoved: () => {
|
||||
bulmaJS.toggleHtmlClipped();
|
||||
}
|
||||
});
|
||||
});
|
||||
renderOccupancyTypes();
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ declare const cityssm: cityssmGlobal;
|
|||
declare const bulmaJS: BulmaJS;
|
||||
|
||||
(() => {
|
||||
const los = exports.los as globalTypes.LOS;
|
||||
|
||||
const urlPrefix = document.querySelector("main").dataset.urlPrefix;
|
||||
|
||||
const containerElement = document.querySelector(
|
||||
|
|
@ -79,7 +81,10 @@ declare const bulmaJS: BulmaJS;
|
|||
renderOccupancyTypes();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Occupancy Type",
|
||||
title:
|
||||
"Error Moving " +
|
||||
exports.aliases.occupancy +
|
||||
" Type",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
|
|
@ -112,7 +117,10 @@ declare const bulmaJS: BulmaJS;
|
|||
renderOccupancyTypes();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Occupancy Type",
|
||||
title:
|
||||
"Error Moving " +
|
||||
exports.aliases.occupancy +
|
||||
" Type",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
|
|
@ -274,5 +282,64 @@ declare const bulmaJS: BulmaJS;
|
|||
}
|
||||
};
|
||||
|
||||
document
|
||||
.querySelector("#button--addOccupancyType")
|
||||
.addEventListener("click", () => {
|
||||
let addCloseModalFunction: () => void;
|
||||
|
||||
const doAdd = (submitEvent: SubmitEvent) => {
|
||||
submitEvent.preventDefault();
|
||||
|
||||
cityssm.postJSON(
|
||||
urlPrefix + "/admin/doAddOccupancyType",
|
||||
submitEvent.currentTarget,
|
||||
(responseJSON: {
|
||||
success: boolean;
|
||||
errorMessage?: string;
|
||||
occupancyTypes?: recordTypes.OccupancyType[];
|
||||
}) => {
|
||||
if (responseJSON.success) {
|
||||
addCloseModalFunction();
|
||||
occupancyTypes = responseJSON.occupancyTypes;
|
||||
renderOccupancyTypes();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title:
|
||||
"Error Adding " +
|
||||
exports.aliases.occupancy +
|
||||
" Type",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType", {
|
||||
onshow: (modalElement) => {
|
||||
los.populateAliases(modalElement);
|
||||
},
|
||||
onshown: (modalElement, closeModalFunction) => {
|
||||
addCloseModalFunction = closeModalFunction;
|
||||
|
||||
(
|
||||
modalElement.querySelector(
|
||||
"#occupancyTypeAdd--occupancyType"
|
||||
) as HTMLInputElement
|
||||
).focus();
|
||||
|
||||
modalElement
|
||||
.querySelector("form")
|
||||
.addEventListener("submit", doAdd);
|
||||
|
||||
bulmaJS.toggleHtmlClipped();
|
||||
},
|
||||
onremoved: () => {
|
||||
bulmaJS.toggleHtmlClipped();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
renderOccupancyTypes();
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
<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
|
||||
</h3>
|
||||
<button class="delete is-close-modal-button" aria-label="close" type="button"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<form id="form--occupancyTypeAdd">
|
||||
<div class="field">
|
||||
<label class="label" for="occupancyTypeAdd--occupancyType"><span class="alias" data-alias="Occupancy"></span> Type</label>
|
||||
<div class="control">
|
||||
<input class="input" id="occupancyTypeAdd--occupancyType" name="occupancyType" 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--occupancyTypeAdd">
|
||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add <span class="alias" data-alias="Occupancy"></span> Type</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
|
|
@ -12,6 +12,7 @@ import handler_doMoveFeeUp from "../handlers/admin-post/doMoveFeeUp.js";
|
|||
import handler_doMoveFeeDown from "../handlers/admin-post/doMoveFeeDown.js";
|
||||
import handler_doDeleteFee from "../handlers/admin-post/doDeleteFee.js";
|
||||
import handler_occupancyTypes from "../handlers/admin-get/occupancyTypes.js";
|
||||
import handler_doAddOccupancyType from "../handlers/admin-post/doAddOccupancyType.js";
|
||||
import handler_doMoveOccupancyTypeUp from "../handlers/admin-post/doMoveOccupancyTypeUp.js";
|
||||
import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupancyTypeDown.js";
|
||||
import handler_tables from "../handlers/admin-get/tables.js";
|
||||
|
|
@ -43,6 +44,7 @@ router.post("/doMoveFeeUp", permissionHandlers.adminPostHandler, handler_doMoveF
|
|||
router.post("/doMoveFeeDown", permissionHandlers.adminPostHandler, handler_doMoveFeeDown);
|
||||
router.post("/doDeleteFee", permissionHandlers.adminPostHandler, handler_doDeleteFee);
|
||||
router.get("/occupancyTypes", permissionHandlers.adminGetHandler, handler_occupancyTypes);
|
||||
router.post("/doAddOccupancyType", permissionHandlers.adminPostHandler, handler_doAddOccupancyType);
|
||||
router.post("/doMoveOccupancyTypeUp", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeUp);
|
||||
router.post("/doMoveOccupancyTypeDown", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeDown);
|
||||
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import handler_doDeleteFee from "../handlers/admin-post/doDeleteFee.js";
|
|||
|
||||
import handler_occupancyTypes from "../handlers/admin-get/occupancyTypes.js";
|
||||
|
||||
import handler_doAddOccupancyType from "../handlers/admin-post/doAddOccupancyType.js";
|
||||
import handler_doMoveOccupancyTypeUp from "../handlers/admin-post/doMoveOccupancyTypeUp.js";
|
||||
import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupancyTypeDown.js";
|
||||
|
||||
|
|
@ -121,6 +122,12 @@ router.get(
|
|||
handler_occupancyTypes
|
||||
);
|
||||
|
||||
router.post(
|
||||
"/doAddOccupancyType",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doAddOccupancyType
|
||||
);
|
||||
|
||||
router.post(
|
||||
"/doMoveOccupancyTypeUp",
|
||||
permissionHandlers.adminPostHandler,
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<button class="button is-success" id="button--addOccupancy Type" type="button">
|
||||
<button class="button is-success" id="button--addOccupancyType" type="button">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add <%= configFunctions.getProperty("aliases.occupancy") %> Type</span>
|
||||
</button>
|
||||
|
|
|
|||
Loading…
Reference in New Issue