linting and development
parent
b8c9fd723d
commit
df3f7725d3
|
|
@ -16,11 +16,11 @@ export declare function getCommittalTypeById(committalTypeId: number): Promise<C
|
||||||
export declare function getCommittalTypes(): Promise<CommittalType[]>;
|
export declare function getCommittalTypes(): Promise<CommittalType[]>;
|
||||||
export declare function getWorkOrderTypeById(workOrderTypeId: number): Promise<WorkOrderType | undefined>;
|
export declare function getWorkOrderTypeById(workOrderTypeId: number): Promise<WorkOrderType | undefined>;
|
||||||
export declare function getWorkOrderTypes(): Promise<WorkOrderType[]>;
|
export declare function getWorkOrderTypes(): Promise<WorkOrderType[]>;
|
||||||
type CacheTableNames = 'BurialSiteStatuses' | 'BurialSiteTypeFields' | 'BurialSiteTypes' | 'CommittalTypes' | 'ContractTypeFields' | 'ContractTypePrints' | 'ContractTypes' | 'FeeCategories' | 'Fees' | 'IntermentContainerTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes';
|
|
||||||
export declare function clearCacheByTableName(tableName: CacheTableNames, relayMessage?: boolean): void;
|
|
||||||
export declare function clearCaches(): void;
|
|
||||||
export declare function getWorkOrderMilestoneTypeById(workOrderMilestoneTypeId: number): Promise<WorkOrderMilestoneType | undefined>;
|
export declare function getWorkOrderMilestoneTypeById(workOrderMilestoneTypeId: number): Promise<WorkOrderMilestoneType | undefined>;
|
||||||
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): Promise<WorkOrderMilestoneType | undefined>;
|
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): Promise<WorkOrderMilestoneType | undefined>;
|
||||||
export declare function getWorkOrderMilestoneTypes(): Promise<WorkOrderMilestoneType[]>;
|
export declare function getWorkOrderMilestoneTypes(): Promise<WorkOrderMilestoneType[]>;
|
||||||
export declare function preloadCaches(): Promise<void>;
|
export declare function preloadCaches(): Promise<void>;
|
||||||
|
type CacheTableNames = 'BurialSiteStatuses' | 'BurialSiteTypeFields' | 'BurialSiteTypes' | 'CommittalTypes' | 'ContractTypeFields' | 'ContractTypePrints' | 'ContractTypes' | 'FeeCategories' | 'Fees' | 'IntermentContainerTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes';
|
||||||
|
export declare function clearCacheByTableName(tableName: CacheTableNames, relayMessage?: boolean): void;
|
||||||
|
export declare function clearCaches(): void;
|
||||||
export {};
|
export {};
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
|
||||||
|
/* eslint-disable perfectionist/sort-modules */
|
||||||
import cluster from 'node:cluster';
|
import cluster from 'node:cluster';
|
||||||
import Debug from 'debug';
|
import Debug from 'debug';
|
||||||
import getBurialSiteStatusesFromDatabase from '../database/getBurialSiteStatuses.js';
|
import getBurialSiteStatusesFromDatabase from '../database/getBurialSiteStatuses.js';
|
||||||
|
|
@ -137,6 +139,37 @@ function clearWorkOrderTypesCache() {
|
||||||
* Work Order Milestone Types
|
* Work Order Milestone Types
|
||||||
*/
|
*/
|
||||||
let workOrderMilestoneTypes;
|
let workOrderMilestoneTypes;
|
||||||
|
export async function getWorkOrderMilestoneTypeById(workOrderMilestoneTypeId) {
|
||||||
|
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes();
|
||||||
|
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => currentWorkOrderMilestoneType.workOrderMilestoneTypeId ===
|
||||||
|
workOrderMilestoneTypeId);
|
||||||
|
}
|
||||||
|
export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) {
|
||||||
|
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes();
|
||||||
|
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
||||||
|
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() ===
|
||||||
|
workOrderMilestoneTypeLowerCase);
|
||||||
|
}
|
||||||
|
export async function getWorkOrderMilestoneTypes() {
|
||||||
|
workOrderMilestoneTypes ??= await getWorkOrderMilestoneTypesFromDatabase();
|
||||||
|
return workOrderMilestoneTypes;
|
||||||
|
}
|
||||||
|
function clearWorkOrderMilestoneTypesCache() {
|
||||||
|
workOrderMilestoneTypes = undefined;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Cache Management
|
||||||
|
*/
|
||||||
|
export async function preloadCaches() {
|
||||||
|
debug('Preloading caches');
|
||||||
|
await getBurialSiteStatuses();
|
||||||
|
await getBurialSiteTypes();
|
||||||
|
await getContractTypes();
|
||||||
|
await getCommittalTypes();
|
||||||
|
await getIntermentContainerTypes();
|
||||||
|
await getWorkOrderTypes();
|
||||||
|
await getWorkOrderMilestoneTypes();
|
||||||
|
}
|
||||||
export function clearCacheByTableName(tableName, relayMessage = true) {
|
export function clearCacheByTableName(tableName, relayMessage = true) {
|
||||||
switch (tableName) {
|
switch (tableName) {
|
||||||
case 'BurialSiteStatuses': {
|
case 'BurialSiteStatuses': {
|
||||||
|
|
@ -201,34 +234,6 @@ export function clearCaches() {
|
||||||
clearWorkOrderTypesCache();
|
clearWorkOrderTypesCache();
|
||||||
clearWorkOrderMilestoneTypesCache();
|
clearWorkOrderMilestoneTypesCache();
|
||||||
}
|
}
|
||||||
export async function getWorkOrderMilestoneTypeById(workOrderMilestoneTypeId) {
|
|
||||||
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes();
|
|
||||||
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => currentWorkOrderMilestoneType.workOrderMilestoneTypeId ===
|
|
||||||
workOrderMilestoneTypeId);
|
|
||||||
}
|
|
||||||
export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) {
|
|
||||||
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes();
|
|
||||||
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
|
||||||
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() ===
|
|
||||||
workOrderMilestoneTypeLowerCase);
|
|
||||||
}
|
|
||||||
export async function getWorkOrderMilestoneTypes() {
|
|
||||||
workOrderMilestoneTypes ??= await getWorkOrderMilestoneTypesFromDatabase();
|
|
||||||
return workOrderMilestoneTypes;
|
|
||||||
}
|
|
||||||
export async function preloadCaches() {
|
|
||||||
debug('Preloading caches');
|
|
||||||
await getBurialSiteStatuses();
|
|
||||||
await getBurialSiteTypes();
|
|
||||||
await getContractTypes();
|
|
||||||
await getCommittalTypes();
|
|
||||||
await getIntermentContainerTypes();
|
|
||||||
await getWorkOrderTypes();
|
|
||||||
await getWorkOrderMilestoneTypes();
|
|
||||||
}
|
|
||||||
function clearWorkOrderMilestoneTypesCache() {
|
|
||||||
workOrderMilestoneTypes = undefined;
|
|
||||||
}
|
|
||||||
process.on('message', (message) => {
|
process.on('message', (message) => {
|
||||||
if (message.messageType === 'clearCache' && message.pid !== process.pid) {
|
if (message.messageType === 'clearCache' && message.pid !== process.pid) {
|
||||||
debug(`Clearing cache: ${message.tableName}`);
|
debug(`Clearing cache: ${message.tableName}`);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
|
||||||
|
/* eslint-disable perfectionist/sort-modules */
|
||||||
|
|
||||||
import cluster from 'node:cluster'
|
import cluster from 'node:cluster'
|
||||||
|
|
||||||
import Debug from 'debug'
|
import Debug from 'debug'
|
||||||
|
|
@ -254,6 +257,60 @@ function clearWorkOrderTypesCache(): void {
|
||||||
|
|
||||||
let workOrderMilestoneTypes: WorkOrderMilestoneType[] | undefined
|
let workOrderMilestoneTypes: WorkOrderMilestoneType[] | undefined
|
||||||
|
|
||||||
|
export async function getWorkOrderMilestoneTypeById(
|
||||||
|
workOrderMilestoneTypeId: number
|
||||||
|
): Promise<WorkOrderMilestoneType | undefined> {
|
||||||
|
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
|
||||||
|
|
||||||
|
return cachedWorkOrderMilestoneTypes.find(
|
||||||
|
(currentWorkOrderMilestoneType) =>
|
||||||
|
currentWorkOrderMilestoneType.workOrderMilestoneTypeId ===
|
||||||
|
workOrderMilestoneTypeId
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
||||||
|
workOrderMilestoneTypeString: string
|
||||||
|
): Promise<WorkOrderMilestoneType | undefined> {
|
||||||
|
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
|
||||||
|
|
||||||
|
const workOrderMilestoneTypeLowerCase =
|
||||||
|
workOrderMilestoneTypeString.toLowerCase()
|
||||||
|
|
||||||
|
return cachedWorkOrderMilestoneTypes.find(
|
||||||
|
(currentWorkOrderMilestoneType) =>
|
||||||
|
currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() ===
|
||||||
|
workOrderMilestoneTypeLowerCase
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getWorkOrderMilestoneTypes(): Promise<
|
||||||
|
WorkOrderMilestoneType[]
|
||||||
|
> {
|
||||||
|
workOrderMilestoneTypes ??= await getWorkOrderMilestoneTypesFromDatabase()
|
||||||
|
return workOrderMilestoneTypes
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function clearWorkOrderMilestoneTypesCache(): void {
|
||||||
|
workOrderMilestoneTypes = undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Cache Management
|
||||||
|
*/
|
||||||
|
|
||||||
|
export async function preloadCaches(): Promise<void> {
|
||||||
|
debug('Preloading caches')
|
||||||
|
await getBurialSiteStatuses()
|
||||||
|
await getBurialSiteTypes()
|
||||||
|
await getContractTypes()
|
||||||
|
await getCommittalTypes()
|
||||||
|
await getIntermentContainerTypes()
|
||||||
|
await getWorkOrderTypes()
|
||||||
|
await getWorkOrderMilestoneTypes()
|
||||||
|
}
|
||||||
|
|
||||||
type CacheTableNames =
|
type CacheTableNames =
|
||||||
| 'BurialSiteStatuses'
|
| 'BurialSiteStatuses'
|
||||||
| 'BurialSiteTypeFields'
|
| 'BurialSiteTypeFields'
|
||||||
|
|
@ -346,55 +403,6 @@ export function clearCaches(): void {
|
||||||
clearWorkOrderMilestoneTypesCache()
|
clearWorkOrderMilestoneTypesCache()
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getWorkOrderMilestoneTypeById(
|
|
||||||
workOrderMilestoneTypeId: number
|
|
||||||
): Promise<WorkOrderMilestoneType | undefined> {
|
|
||||||
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
|
|
||||||
|
|
||||||
return cachedWorkOrderMilestoneTypes.find(
|
|
||||||
(currentWorkOrderMilestoneType) =>
|
|
||||||
currentWorkOrderMilestoneType.workOrderMilestoneTypeId ===
|
|
||||||
workOrderMilestoneTypeId
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
|
||||||
workOrderMilestoneTypeString: string
|
|
||||||
): Promise<WorkOrderMilestoneType | undefined> {
|
|
||||||
const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
|
|
||||||
|
|
||||||
const workOrderMilestoneTypeLowerCase =
|
|
||||||
workOrderMilestoneTypeString.toLowerCase()
|
|
||||||
|
|
||||||
return cachedWorkOrderMilestoneTypes.find(
|
|
||||||
(currentWorkOrderMilestoneType) =>
|
|
||||||
currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() ===
|
|
||||||
workOrderMilestoneTypeLowerCase
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getWorkOrderMilestoneTypes(): Promise<
|
|
||||||
WorkOrderMilestoneType[]
|
|
||||||
> {
|
|
||||||
workOrderMilestoneTypes ??= await getWorkOrderMilestoneTypesFromDatabase()
|
|
||||||
return workOrderMilestoneTypes
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function preloadCaches(): Promise<void> {
|
|
||||||
debug('Preloading caches')
|
|
||||||
await getBurialSiteStatuses()
|
|
||||||
await getBurialSiteTypes()
|
|
||||||
await getContractTypes()
|
|
||||||
await getCommittalTypes()
|
|
||||||
await getIntermentContainerTypes()
|
|
||||||
await getWorkOrderTypes()
|
|
||||||
await getWorkOrderMilestoneTypes()
|
|
||||||
}
|
|
||||||
|
|
||||||
function clearWorkOrderMilestoneTypesCache(): void {
|
|
||||||
workOrderMilestoneTypes = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on('message', (message: WorkerMessage) => {
|
process.on('message', (message: WorkerMessage) => {
|
||||||
if (message.messageType === 'clearCache' && message.pid !== process.pid) {
|
if (message.messageType === 'clearCache' && message.pid !== process.pid) {
|
||||||
debug(`Clearing cache: ${(message as ClearCacheWorkerMessage).tableName}`)
|
debug(`Clearing cache: ${(message as ClearCacheWorkerMessage).tableName}`)
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
latitudeElement: document.querySelector('#burialSite--burialSiteLatitude'),
|
latitudeElement: document.querySelector('#burialSite--burialSiteLatitude'),
|
||||||
longitudeElement: document.querySelector('#burialSite--burialSiteLongitude'),
|
longitudeElement: document.querySelector('#burialSite--burialSiteLongitude'),
|
||||||
callbackFunction: () => {
|
callbackFunction: () => {
|
||||||
sunrise.setUnsavedChanges();
|
setUnsavedChanges();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -298,7 +298,7 @@ declare const exports: Record<string, unknown>
|
||||||
) as HTMLInputElement,
|
) as HTMLInputElement,
|
||||||
|
|
||||||
callbackFunction: () => {
|
callbackFunction: () => {
|
||||||
sunrise.setUnsavedChanges()
|
setUnsavedChanges()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
latitudeElement: document.querySelector('#cemetery--cemeteryLatitude'),
|
latitudeElement: document.querySelector('#cemetery--cemeteryLatitude'),
|
||||||
longitudeElement: document.querySelector('#cemetery--cemeteryLongitude'),
|
longitudeElement: document.querySelector('#cemetery--cemeteryLongitude'),
|
||||||
callbackFunction: () => {
|
callbackFunction: () => {
|
||||||
sunrise.setUnsavedChanges();
|
setUnsavedChanges();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ declare const exports: Record<string, unknown>
|
||||||
) as HTMLInputElement,
|
) as HTMLInputElement,
|
||||||
|
|
||||||
callbackFunction: () => {
|
callbackFunction: () => {
|
||||||
sunrise.setUnsavedChanges()
|
setUnsavedChanges()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const sunrise = exports.sunrise;
|
const sunrise = exports.sunrise;
|
||||||
const feeCategoriesContainerElement = document.querySelector('#container--feeCategories');
|
const feeCategoriesContainerElement = document.querySelector('#container--feeCategories');
|
||||||
|
const feeCategoryContainerClassName = 'container--feeCategory';
|
||||||
|
const feeCategoryContainerSelector = `.${feeCategoryContainerClassName}`;
|
||||||
let feeCategories = exports.feeCategories;
|
let feeCategories = exports.feeCategories;
|
||||||
delete exports.feeCategories;
|
delete exports.feeCategories;
|
||||||
function getFeeCategory(feeCategoryId) {
|
function getFeeCategory(feeCategoryId) {
|
||||||
|
|
@ -24,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
feeCategoriesContainerElement.innerHTML = '';
|
feeCategoriesContainerElement.innerHTML = '';
|
||||||
for (const feeCategory of feeCategories) {
|
for (const feeCategory of feeCategories) {
|
||||||
const feeCategoryContainerElement = document.createElement('section');
|
const feeCategoryContainerElement = document.createElement('section');
|
||||||
feeCategoryContainerElement.className = 'panel container--feeCategory';
|
feeCategoryContainerElement.className = `panel ${feeCategoryContainerClassName}`;
|
||||||
feeCategoryContainerElement.dataset.feeCategoryId =
|
feeCategoryContainerElement.dataset.feeCategoryId =
|
||||||
feeCategory.feeCategoryId.toString();
|
feeCategory.feeCategoryId.toString();
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
|
|
@ -221,7 +223,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
function openEditFeeCategory(clickEvent) {
|
function openEditFeeCategory(clickEvent) {
|
||||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest('.container--feeCategory').dataset.feeCategoryId ?? '', 10);
|
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(feeCategoryContainerSelector).dataset.feeCategoryId ?? '', 10);
|
||||||
const feeCategory = getFeeCategory(feeCategoryId);
|
const feeCategory = getFeeCategory(feeCategoryId);
|
||||||
let editCloseModalFunction;
|
let editCloseModalFunction;
|
||||||
function doUpdateFeeCategory(submitEvent) {
|
function doUpdateFeeCategory(submitEvent) {
|
||||||
|
|
@ -266,7 +268,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function confirmDeleteFeeCategory(clickEvent) {
|
function confirmDeleteFeeCategory(clickEvent) {
|
||||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest('.container--feeCategory').dataset.feeCategoryId ?? '', 10);
|
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(feeCategoryContainerSelector).dataset.feeCategoryId ?? '', 10);
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(`${sunrise.urlPrefix}/admin/doDeleteFeeCategory`, {
|
cityssm.postJSON(`${sunrise.urlPrefix}/admin/doDeleteFeeCategory`, {
|
||||||
feeCategoryId
|
feeCategoryId
|
||||||
|
|
@ -297,8 +299,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function moveFeeCategory(clickEvent) {
|
function moveFeeCategory(clickEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget;
|
const buttonElement = clickEvent.currentTarget;
|
||||||
const feeCategoryId = buttonElement.closest('.container--feeCategory').dataset
|
const feeCategoryId = buttonElement.closest(feeCategoryContainerSelector)
|
||||||
.feeCategoryId ?? '';
|
.dataset.feeCategoryId ?? '';
|
||||||
cityssm.postJSON(`${sunrise.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
cityssm.postJSON(`${sunrise.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
||||||
? 'doMoveFeeCategoryUp'
|
? 'doMoveFeeCategoryUp'
|
||||||
: 'doMoveFeeCategoryDown'}`, {
|
: 'doMoveFeeCategoryDown'}`, {
|
||||||
|
|
@ -323,7 +325,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
* Fees
|
* Fees
|
||||||
*/
|
*/
|
||||||
function openAddFee(clickEvent) {
|
function openAddFee(clickEvent) {
|
||||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest('.container--feeCategory').dataset.feeCategoryId ?? '', 10);
|
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(feeCategoryContainerSelector).dataset.feeCategoryId ?? '', 10);
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
function doAddFee(submitEvent) {
|
function doAddFee(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
@ -427,7 +429,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const feeContainerElement = clickEvent.currentTarget.closest('.container--fee');
|
const feeContainerElement = clickEvent.currentTarget.closest('.container--fee');
|
||||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10);
|
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10);
|
||||||
const feeCategoryId = Number.parseInt(feeContainerElement.closest('.container--feeCategory')
|
const feeCategoryId = Number.parseInt(feeContainerElement.closest(feeCategoryContainerSelector)
|
||||||
.dataset.feeCategoryId ?? '');
|
.dataset.feeCategoryId ?? '');
|
||||||
const feeCategory = getFeeCategory(feeCategoryId);
|
const feeCategory = getFeeCategory(feeCategoryId);
|
||||||
const fee = getFee(feeCategory, feeId);
|
const fee = getFee(feeCategory, feeId);
|
||||||
|
|
@ -472,7 +474,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const feeContainerElement = clickEvent.currentTarget.closest('.container--fee');
|
const feeContainerElement = clickEvent.currentTarget.closest('.container--fee');
|
||||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10);
|
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10);
|
||||||
const feeCategoryId = Number.parseInt(feeContainerElement.closest('.container--feeCategory')
|
const feeCategoryId = Number.parseInt(feeContainerElement.closest(feeCategoryContainerSelector)
|
||||||
.dataset.feeCategoryId ?? '');
|
.dataset.feeCategoryId ?? '');
|
||||||
const feeCategory = getFeeCategory(feeCategoryId);
|
const feeCategory = getFeeCategory(feeCategoryId);
|
||||||
const fee = getFee(feeCategory, feeId);
|
const fee = getFee(feeCategory, feeId);
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ declare const exports: Record<string, unknown>
|
||||||
'#container--feeCategories'
|
'#container--feeCategories'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
|
|
||||||
|
const feeCategoryContainerClassName = 'container--feeCategory'
|
||||||
|
const feeCategoryContainerSelector = `.${feeCategoryContainerClassName}`
|
||||||
|
|
||||||
let feeCategories = exports.feeCategories as FeeCategory[]
|
let feeCategories = exports.feeCategories as FeeCategory[]
|
||||||
delete exports.feeCategories
|
delete exports.feeCategories
|
||||||
|
|
||||||
|
|
@ -66,7 +69,7 @@ declare const exports: Record<string, unknown>
|
||||||
for (const feeCategory of feeCategories) {
|
for (const feeCategory of feeCategories) {
|
||||||
const feeCategoryContainerElement = document.createElement('section')
|
const feeCategoryContainerElement = document.createElement('section')
|
||||||
|
|
||||||
feeCategoryContainerElement.className = 'panel container--feeCategory'
|
feeCategoryContainerElement.className = `panel ${feeCategoryContainerClassName}`
|
||||||
|
|
||||||
feeCategoryContainerElement.dataset.feeCategoryId =
|
feeCategoryContainerElement.dataset.feeCategoryId =
|
||||||
feeCategory.feeCategoryId.toString()
|
feeCategory.feeCategoryId.toString()
|
||||||
|
|
@ -343,7 +346,7 @@ declare const exports: Record<string, unknown>
|
||||||
const feeCategoryId = Number.parseInt(
|
const feeCategoryId = Number.parseInt(
|
||||||
(
|
(
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--feeCategory'
|
feeCategoryContainerSelector
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.feeCategoryId ?? '',
|
).dataset.feeCategoryId ?? '',
|
||||||
10
|
10
|
||||||
|
|
@ -423,7 +426,7 @@ declare const exports: Record<string, unknown>
|
||||||
const feeCategoryId = Number.parseInt(
|
const feeCategoryId = Number.parseInt(
|
||||||
(
|
(
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--feeCategory'
|
feeCategoryContainerSelector
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.feeCategoryId ?? '',
|
).dataset.feeCategoryId ?? '',
|
||||||
10
|
10
|
||||||
|
|
@ -467,8 +470,8 @@ declare const exports: Record<string, unknown>
|
||||||
const buttonElement = clickEvent.currentTarget as HTMLButtonElement
|
const buttonElement = clickEvent.currentTarget as HTMLButtonElement
|
||||||
|
|
||||||
const feeCategoryId =
|
const feeCategoryId =
|
||||||
(buttonElement.closest('.container--feeCategory') as HTMLElement).dataset
|
(buttonElement.closest(feeCategoryContainerSelector) as HTMLElement)
|
||||||
.feeCategoryId ?? ''
|
.dataset.feeCategoryId ?? ''
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
`${sunrise.urlPrefix}/admin/${
|
`${sunrise.urlPrefix}/admin/${
|
||||||
|
|
@ -505,7 +508,7 @@ declare const exports: Record<string, unknown>
|
||||||
const feeCategoryId = Number.parseInt(
|
const feeCategoryId = Number.parseInt(
|
||||||
(
|
(
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--feeCategory'
|
feeCategoryContainerSelector
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.feeCategoryId ?? '',
|
).dataset.feeCategoryId ?? '',
|
||||||
10
|
10
|
||||||
|
|
@ -675,7 +678,7 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10)
|
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10)
|
||||||
const feeCategoryId = Number.parseInt(
|
const feeCategoryId = Number.parseInt(
|
||||||
(feeContainerElement.closest('.container--feeCategory') as HTMLElement)
|
(feeContainerElement.closest(feeCategoryContainerSelector) as HTMLElement)
|
||||||
.dataset.feeCategoryId ?? ''
|
.dataset.feeCategoryId ?? ''
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -754,7 +757,7 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10)
|
const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10)
|
||||||
const feeCategoryId = Number.parseInt(
|
const feeCategoryId = Number.parseInt(
|
||||||
(feeContainerElement.closest('.container--feeCategory') as HTMLElement)
|
(feeContainerElement.closest(feeCategoryContainerSelector) as HTMLElement)
|
||||||
.dataset.feeCategoryId ?? ''
|
.dataset.feeCategoryId ?? ''
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
/*
|
/*
|
||||||
* Leaflet Mapping
|
* Leaflet Mapping
|
||||||
*/
|
*/
|
||||||
|
const coordinatePrecision = 8;
|
||||||
const leafletConstants = {
|
const leafletConstants = {
|
||||||
tileLayerURL: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
tileLayerURL: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||||
defaultZoom: 15,
|
defaultZoom: 15,
|
||||||
|
|
@ -98,8 +99,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
if (currentMarker !== undefined) {
|
if (currentMarker !== undefined) {
|
||||||
const mapCoordinates = currentMarker.getLatLng();
|
const mapCoordinates = currentMarker.getLatLng();
|
||||||
options.latitudeElement.value = mapCoordinates.lat.toFixed(8);
|
options.latitudeElement.value = mapCoordinates.lat.toFixed(coordinatePrecision);
|
||||||
options.longitudeElement.value = mapCoordinates.lng.toFixed(8);
|
options.longitudeElement.value = mapCoordinates.lng.toFixed(coordinatePrecision);
|
||||||
options.callbackFunction(mapCoordinates.lat, mapCoordinates.lng);
|
options.callbackFunction(mapCoordinates.lat, mapCoordinates.lng);
|
||||||
}
|
}
|
||||||
closeModalFunction();
|
closeModalFunction();
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,8 @@ declare const exports: Record<string, unknown> & {
|
||||||
* Leaflet Mapping
|
* Leaflet Mapping
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const coordinatePrecision = 8
|
||||||
|
|
||||||
const leafletConstants = {
|
const leafletConstants = {
|
||||||
tileLayerURL: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
tileLayerURL: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||||
|
|
||||||
|
|
@ -171,8 +173,8 @@ declare const exports: Record<string, unknown> & {
|
||||||
if (currentMarker !== undefined) {
|
if (currentMarker !== undefined) {
|
||||||
const mapCoordinates = currentMarker.getLatLng() as Leaflet.LatLng
|
const mapCoordinates = currentMarker.getLatLng() as Leaflet.LatLng
|
||||||
|
|
||||||
options.latitudeElement.value = mapCoordinates.lat.toFixed(8)
|
options.latitudeElement.value = mapCoordinates.lat.toFixed(coordinatePrecision)
|
||||||
options.longitudeElement.value = mapCoordinates.lng.toFixed(8)
|
options.longitudeElement.value = mapCoordinates.lng.toFixed(coordinatePrecision)
|
||||||
|
|
||||||
options.callbackFunction(mapCoordinates.lat, mapCoordinates.lng)
|
options.callbackFunction(mapCoordinates.lat, mapCoordinates.lng)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,45 +37,6 @@ const user = {
|
||||||
apiKey: ''
|
apiKey: ''
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
function purgeTables() {
|
|
||||||
console.time('purgeTables');
|
|
||||||
const tablesToPurge = [
|
|
||||||
'WorkOrderMilestones',
|
|
||||||
'WorkOrderComments',
|
|
||||||
'WorkOrderBurialSites',
|
|
||||||
'WorkOrderContracts',
|
|
||||||
'WorkOrders',
|
|
||||||
'ContractTransactions',
|
|
||||||
'ContractFees',
|
|
||||||
'ContractFields',
|
|
||||||
'ContractComments',
|
|
||||||
'ContractInterments',
|
|
||||||
'Contracts',
|
|
||||||
'FuneralHomes',
|
|
||||||
'BurialSiteFields',
|
|
||||||
'BurialSiteComments',
|
|
||||||
'BurialSites'
|
|
||||||
];
|
|
||||||
const database = sqlite(databasePath);
|
|
||||||
for (const tableName of tablesToPurge) {
|
|
||||||
database.prepare(`delete from ${tableName}`).run();
|
|
||||||
database
|
|
||||||
.prepare('delete from sqlite_sequence where name = ?')
|
|
||||||
.run(tableName);
|
|
||||||
}
|
|
||||||
database.close();
|
|
||||||
console.timeEnd('purgeTables');
|
|
||||||
}
|
|
||||||
function purgeConfigTables() {
|
|
||||||
console.time('purgeConfigTables');
|
|
||||||
const database = sqlite(databasePath);
|
|
||||||
database.prepare('delete from Cemeteries').run();
|
|
||||||
database
|
|
||||||
.prepare("delete from sqlite_sequence where name in ('Cemeteries')")
|
|
||||||
.run();
|
|
||||||
database.close();
|
|
||||||
console.timeEnd('purgeConfigTables');
|
|
||||||
}
|
|
||||||
function formatDateString(year, month, day) {
|
function formatDateString(year, month, day) {
|
||||||
const formattedYear = `0000${year}`.slice(-4);
|
const formattedYear = `0000${year}`.slice(-4);
|
||||||
const formattedMonth = `00${month}`.slice(-2);
|
const formattedMonth = `00${month}`.slice(-2);
|
||||||
|
|
@ -111,8 +72,11 @@ async function importFromMasterCSV() {
|
||||||
(masterRow.CM_RANGE2 === '0' ? '' : masterRow.CM_RANGE2);
|
(masterRow.CM_RANGE2 === '0' ? '' : masterRow.CM_RANGE2);
|
||||||
const burialSiteNameSegment3 = (masterRow.CM_LOT1 === '0' ? '' : masterRow.CM_LOT1) +
|
const burialSiteNameSegment3 = (masterRow.CM_LOT1 === '0' ? '' : masterRow.CM_LOT1) +
|
||||||
(masterRow.CM_LOT2 === '0' ? '' : masterRow.CM_LOT2);
|
(masterRow.CM_LOT2 === '0' ? '' : masterRow.CM_LOT2);
|
||||||
const burialSiteNameSegment4 = (masterRow.CM_GRAVE1 === '0' ? '' : masterRow.CM_GRAVE1) +
|
let burialSiteNameSegment4 = (masterRow.CM_GRAVE1 === '0' ? '' : masterRow.CM_GRAVE1) +
|
||||||
(masterRow.CM_GRAVE2 === '0' ? '' : masterRow.CM_GRAVE2);
|
(masterRow.CM_GRAVE2 === '0' ? '' : masterRow.CM_GRAVE2);
|
||||||
|
if (burialSiteNameSegment4 === '') {
|
||||||
|
burialSiteNameSegment4 = '1';
|
||||||
|
}
|
||||||
const burialSiteName = buildBurialSiteName(masterRow.CM_CEMETERY, {
|
const burialSiteName = buildBurialSiteName(masterRow.CM_CEMETERY, {
|
||||||
burialSiteNameSegment1,
|
burialSiteNameSegment1,
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
|
|
@ -180,8 +144,8 @@ async function importFromMasterCSV() {
|
||||||
purchaserAddress1: masterRow.CM_ADDRESS,
|
purchaserAddress1: masterRow.CM_ADDRESS,
|
||||||
purchaserAddress2: '',
|
purchaserAddress2: '',
|
||||||
purchaserCity: masterRow.CM_CITY,
|
purchaserCity: masterRow.CM_CITY,
|
||||||
purchaserProvince: masterRow.CM_PROV,
|
|
||||||
purchaserPostalCode,
|
purchaserPostalCode,
|
||||||
|
purchaserProvince: masterRow.CM_PROV,
|
||||||
purchaserEmail: '',
|
purchaserEmail: '',
|
||||||
purchaserPhoneNumber: '',
|
purchaserPhoneNumber: '',
|
||||||
deceasedName: masterRow.CM_DECEASED_NAME === ''
|
deceasedName: masterRow.CM_DECEASED_NAME === ''
|
||||||
|
|
@ -190,8 +154,8 @@ async function importFromMasterCSV() {
|
||||||
deceasedAddress1: masterRow.CM_ADDRESS,
|
deceasedAddress1: masterRow.CM_ADDRESS,
|
||||||
deceasedAddress2: '',
|
deceasedAddress2: '',
|
||||||
deceasedCity: masterRow.CM_CITY,
|
deceasedCity: masterRow.CM_CITY,
|
||||||
deceasedProvince: masterRow.CM_PROV,
|
deceasedPostalCode: purchaserPostalCode,
|
||||||
deceasedPostalCode: purchaserPostalCode
|
deceasedProvince: masterRow.CM_PROV
|
||||||
}, user);
|
}, user);
|
||||||
if (masterRow.CM_REMARK1 !== '') {
|
if (masterRow.CM_REMARK1 !== '') {
|
||||||
await addContractComment({
|
await addContractComment({
|
||||||
|
|
@ -281,16 +245,16 @@ async function importFromMasterCSV() {
|
||||||
purchaserAddress1: masterRow.CM_ADDRESS,
|
purchaserAddress1: masterRow.CM_ADDRESS,
|
||||||
purchaserAddress2: '',
|
purchaserAddress2: '',
|
||||||
purchaserCity: masterRow.CM_CITY,
|
purchaserCity: masterRow.CM_CITY,
|
||||||
purchaserProvince: masterRow.CM_PROV,
|
|
||||||
purchaserPostalCode: deceasedPostalCode,
|
purchaserPostalCode: deceasedPostalCode,
|
||||||
purchaserPhoneNumber: '',
|
purchaserProvince: masterRow.CM_PROV,
|
||||||
purchaserEmail: '',
|
purchaserEmail: '',
|
||||||
|
purchaserPhoneNumber: '',
|
||||||
deceasedName: masterRow.CM_DECEASED_NAME,
|
deceasedName: masterRow.CM_DECEASED_NAME,
|
||||||
deceasedAddress1: masterRow.CM_ADDRESS,
|
deceasedAddress1: masterRow.CM_ADDRESS,
|
||||||
deceasedAddress2: '',
|
deceasedAddress2: '',
|
||||||
deceasedCity: masterRow.CM_CITY,
|
deceasedCity: masterRow.CM_CITY,
|
||||||
deceasedProvince: masterRow.CM_PROV,
|
|
||||||
deceasedPostalCode,
|
deceasedPostalCode,
|
||||||
|
deceasedProvince: masterRow.CM_PROV,
|
||||||
birthDateString: '',
|
birthDateString: '',
|
||||||
birthPlace: '',
|
birthPlace: '',
|
||||||
deathDateString,
|
deathDateString,
|
||||||
|
|
@ -363,8 +327,11 @@ async function importFromPrepaidCSV() {
|
||||||
(prepaidRow.CMPP_RANGE2 === '0' ? '' : prepaidRow.CMPP_RANGE2);
|
(prepaidRow.CMPP_RANGE2 === '0' ? '' : prepaidRow.CMPP_RANGE2);
|
||||||
const burialSiteNameSegment3 = (prepaidRow.CMPP_LOT1 === '0' ? '' : prepaidRow.CMPP_LOT1) +
|
const burialSiteNameSegment3 = (prepaidRow.CMPP_LOT1 === '0' ? '' : prepaidRow.CMPP_LOT1) +
|
||||||
(prepaidRow.CMPP_LOT2 === '0' ? '' : prepaidRow.CMPP_LOT2);
|
(prepaidRow.CMPP_LOT2 === '0' ? '' : prepaidRow.CMPP_LOT2);
|
||||||
const burialSiteNameSegment4 = (prepaidRow.CMPP_GRAVE1 === '0' ? '' : prepaidRow.CMPP_GRAVE1) +
|
let burialSiteNameSegment4 = (prepaidRow.CMPP_GRAVE1 === '0' ? '' : prepaidRow.CMPP_GRAVE1) +
|
||||||
(prepaidRow.CMPP_GRAVE2 === '0' ? '' : prepaidRow.CMPP_GRAVE2);
|
(prepaidRow.CMPP_GRAVE2 === '0' ? '' : prepaidRow.CMPP_GRAVE2);
|
||||||
|
if (burialSiteNameSegment4 === '') {
|
||||||
|
burialSiteNameSegment4 = '1';
|
||||||
|
}
|
||||||
const burialSiteName = buildBurialSiteName(cemeteryKey, {
|
const burialSiteName = buildBurialSiteName(cemeteryKey, {
|
||||||
burialSiteNameSegment1,
|
burialSiteNameSegment1,
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
|
|
@ -596,8 +563,11 @@ async function importFromWorkOrderCSV() {
|
||||||
(workOrderRow.WO_RANGE2 === '0' ? '' : workOrderRow.WO_RANGE2);
|
(workOrderRow.WO_RANGE2 === '0' ? '' : workOrderRow.WO_RANGE2);
|
||||||
const burialSiteNameSegment3 = (workOrderRow.WO_LOT1 === '0' ? '' : workOrderRow.WO_LOT1) +
|
const burialSiteNameSegment3 = (workOrderRow.WO_LOT1 === '0' ? '' : workOrderRow.WO_LOT1) +
|
||||||
(workOrderRow.WO_LOT2 === '0' ? '' : workOrderRow.WO_LOT2);
|
(workOrderRow.WO_LOT2 === '0' ? '' : workOrderRow.WO_LOT2);
|
||||||
const burialSiteNameSegment4 = (workOrderRow.WO_GRAVE1 === '0' ? '' : workOrderRow.WO_GRAVE1) +
|
let burialSiteNameSegment4 = (workOrderRow.WO_GRAVE1 === '0' ? '' : workOrderRow.WO_GRAVE1) +
|
||||||
(workOrderRow.WO_GRAVE2 === '0' ? '' : workOrderRow.WO_GRAVE2);
|
(workOrderRow.WO_GRAVE2 === '0' ? '' : workOrderRow.WO_GRAVE2);
|
||||||
|
if (burialSiteNameSegment4 === '') {
|
||||||
|
burialSiteNameSegment4 = '1';
|
||||||
|
}
|
||||||
const burialSiteName = buildBurialSiteName(workOrderRow.WO_CEMETERY, {
|
const burialSiteName = buildBurialSiteName(workOrderRow.WO_CEMETERY, {
|
||||||
burialSiteNameSegment1,
|
burialSiteNameSegment1,
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
|
|
@ -806,6 +776,45 @@ async function importFromWorkOrderCSV() {
|
||||||
}
|
}
|
||||||
console.timeEnd('importFromWorkOrderCSV');
|
console.timeEnd('importFromWorkOrderCSV');
|
||||||
}
|
}
|
||||||
|
function purgeConfigTables() {
|
||||||
|
console.time('purgeConfigTables');
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
database.prepare('delete from Cemeteries').run();
|
||||||
|
database
|
||||||
|
.prepare("delete from sqlite_sequence where name in ('Cemeteries')")
|
||||||
|
.run();
|
||||||
|
database.close();
|
||||||
|
console.timeEnd('purgeConfigTables');
|
||||||
|
}
|
||||||
|
function purgeTables() {
|
||||||
|
console.time('purgeTables');
|
||||||
|
const tablesToPurge = [
|
||||||
|
'WorkOrderMilestones',
|
||||||
|
'WorkOrderComments',
|
||||||
|
'WorkOrderBurialSites',
|
||||||
|
'WorkOrderContracts',
|
||||||
|
'WorkOrders',
|
||||||
|
'ContractTransactions',
|
||||||
|
'ContractFees',
|
||||||
|
'ContractFields',
|
||||||
|
'ContractComments',
|
||||||
|
'ContractInterments',
|
||||||
|
'Contracts',
|
||||||
|
'FuneralHomes',
|
||||||
|
'BurialSiteFields',
|
||||||
|
'BurialSiteComments',
|
||||||
|
'BurialSites'
|
||||||
|
];
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
for (const tableName of tablesToPurge) {
|
||||||
|
database.prepare(`delete from ${tableName}`).run();
|
||||||
|
database
|
||||||
|
.prepare('delete from sqlite_sequence where name = ?')
|
||||||
|
.run(tableName);
|
||||||
|
}
|
||||||
|
database.close();
|
||||||
|
console.timeEnd('purgeTables');
|
||||||
|
}
|
||||||
console.log(`Started ${new Date().toLocaleString()}`);
|
console.log(`Started ${new Date().toLocaleString()}`);
|
||||||
console.time('importFromCsv');
|
console.time('importFromCsv');
|
||||||
// Purge Tables
|
// Purge Tables
|
||||||
|
|
|
||||||
|
|
@ -195,58 +195,11 @@ const user: User = {
|
||||||
userProperties: {
|
userProperties: {
|
||||||
canUpdate: true,
|
canUpdate: true,
|
||||||
isAdmin: false,
|
isAdmin: false,
|
||||||
|
|
||||||
apiKey: ''
|
apiKey: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function purgeTables(): void {
|
|
||||||
console.time('purgeTables')
|
|
||||||
|
|
||||||
const tablesToPurge = [
|
|
||||||
'WorkOrderMilestones',
|
|
||||||
'WorkOrderComments',
|
|
||||||
'WorkOrderBurialSites',
|
|
||||||
'WorkOrderContracts',
|
|
||||||
'WorkOrders',
|
|
||||||
'ContractTransactions',
|
|
||||||
'ContractFees',
|
|
||||||
'ContractFields',
|
|
||||||
'ContractComments',
|
|
||||||
'ContractInterments',
|
|
||||||
'Contracts',
|
|
||||||
'FuneralHomes',
|
|
||||||
'BurialSiteFields',
|
|
||||||
'BurialSiteComments',
|
|
||||||
'BurialSites'
|
|
||||||
]
|
|
||||||
|
|
||||||
const database = sqlite(databasePath)
|
|
||||||
|
|
||||||
for (const tableName of tablesToPurge) {
|
|
||||||
database.prepare(`delete from ${tableName}`).run()
|
|
||||||
database
|
|
||||||
.prepare('delete from sqlite_sequence where name = ?')
|
|
||||||
.run(tableName)
|
|
||||||
}
|
|
||||||
|
|
||||||
database.close()
|
|
||||||
|
|
||||||
console.timeEnd('purgeTables')
|
|
||||||
}
|
|
||||||
|
|
||||||
function purgeConfigTables(): void {
|
|
||||||
console.time('purgeConfigTables')
|
|
||||||
|
|
||||||
const database = sqlite(databasePath)
|
|
||||||
database.prepare('delete from Cemeteries').run()
|
|
||||||
database
|
|
||||||
.prepare("delete from sqlite_sequence where name in ('Cemeteries')")
|
|
||||||
.run()
|
|
||||||
database.close()
|
|
||||||
|
|
||||||
console.timeEnd('purgeConfigTables')
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatDateString(
|
function formatDateString(
|
||||||
year: string,
|
year: string,
|
||||||
month: string,
|
month: string,
|
||||||
|
|
@ -301,10 +254,15 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
const burialSiteNameSegment3 =
|
const burialSiteNameSegment3 =
|
||||||
(masterRow.CM_LOT1 === '0' ? '' : masterRow.CM_LOT1) +
|
(masterRow.CM_LOT1 === '0' ? '' : masterRow.CM_LOT1) +
|
||||||
(masterRow.CM_LOT2 === '0' ? '' : masterRow.CM_LOT2)
|
(masterRow.CM_LOT2 === '0' ? '' : masterRow.CM_LOT2)
|
||||||
const burialSiteNameSegment4 =
|
|
||||||
|
let burialSiteNameSegment4 =
|
||||||
(masterRow.CM_GRAVE1 === '0' ? '' : masterRow.CM_GRAVE1) +
|
(masterRow.CM_GRAVE1 === '0' ? '' : masterRow.CM_GRAVE1) +
|
||||||
(masterRow.CM_GRAVE2 === '0' ? '' : masterRow.CM_GRAVE2)
|
(masterRow.CM_GRAVE2 === '0' ? '' : masterRow.CM_GRAVE2)
|
||||||
|
|
||||||
|
if (burialSiteNameSegment4 === '') {
|
||||||
|
burialSiteNameSegment4 = '1'
|
||||||
|
}
|
||||||
|
|
||||||
const burialSiteName = buildBurialSiteName(masterRow.CM_CEMETERY, {
|
const burialSiteName = buildBurialSiteName(masterRow.CM_CEMETERY, {
|
||||||
burialSiteNameSegment1,
|
burialSiteNameSegment1,
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
|
|
@ -413,11 +371,12 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
contractTypeFieldIds: '',
|
contractTypeFieldIds: '',
|
||||||
|
|
||||||
purchaserName: masterRow.CM_PRENEED_OWNER,
|
purchaserName: masterRow.CM_PRENEED_OWNER,
|
||||||
|
|
||||||
purchaserAddress1: masterRow.CM_ADDRESS,
|
purchaserAddress1: masterRow.CM_ADDRESS,
|
||||||
purchaserAddress2: '',
|
purchaserAddress2: '',
|
||||||
purchaserCity: masterRow.CM_CITY,
|
purchaserCity: masterRow.CM_CITY,
|
||||||
purchaserProvince: masterRow.CM_PROV,
|
|
||||||
purchaserPostalCode,
|
purchaserPostalCode,
|
||||||
|
purchaserProvince: masterRow.CM_PROV,
|
||||||
|
|
||||||
purchaserEmail: '',
|
purchaserEmail: '',
|
||||||
purchaserPhoneNumber: '',
|
purchaserPhoneNumber: '',
|
||||||
|
|
@ -430,8 +389,8 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
deceasedAddress1: masterRow.CM_ADDRESS,
|
deceasedAddress1: masterRow.CM_ADDRESS,
|
||||||
deceasedAddress2: '',
|
deceasedAddress2: '',
|
||||||
deceasedCity: masterRow.CM_CITY,
|
deceasedCity: masterRow.CM_CITY,
|
||||||
deceasedProvince: masterRow.CM_PROV,
|
deceasedPostalCode: purchaserPostalCode,
|
||||||
deceasedPostalCode: purchaserPostalCode
|
deceasedProvince: masterRow.CM_PROV
|
||||||
},
|
},
|
||||||
user
|
user
|
||||||
)
|
)
|
||||||
|
|
@ -592,17 +551,19 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
purchaserAddress1: masterRow.CM_ADDRESS,
|
purchaserAddress1: masterRow.CM_ADDRESS,
|
||||||
purchaserAddress2: '',
|
purchaserAddress2: '',
|
||||||
purchaserCity: masterRow.CM_CITY,
|
purchaserCity: masterRow.CM_CITY,
|
||||||
purchaserProvince: masterRow.CM_PROV,
|
|
||||||
purchaserPostalCode: deceasedPostalCode,
|
purchaserPostalCode: deceasedPostalCode,
|
||||||
purchaserPhoneNumber: '',
|
purchaserProvince: masterRow.CM_PROV,
|
||||||
|
|
||||||
purchaserEmail: '',
|
purchaserEmail: '',
|
||||||
|
purchaserPhoneNumber: '',
|
||||||
|
|
||||||
deceasedName: masterRow.CM_DECEASED_NAME,
|
deceasedName: masterRow.CM_DECEASED_NAME,
|
||||||
|
|
||||||
deceasedAddress1: masterRow.CM_ADDRESS,
|
deceasedAddress1: masterRow.CM_ADDRESS,
|
||||||
deceasedAddress2: '',
|
deceasedAddress2: '',
|
||||||
deceasedCity: masterRow.CM_CITY,
|
deceasedCity: masterRow.CM_CITY,
|
||||||
deceasedProvince: masterRow.CM_PROV,
|
|
||||||
deceasedPostalCode,
|
deceasedPostalCode,
|
||||||
|
deceasedProvince: masterRow.CM_PROV,
|
||||||
|
|
||||||
birthDateString: '',
|
birthDateString: '',
|
||||||
birthPlace: '',
|
birthPlace: '',
|
||||||
|
|
@ -712,10 +673,14 @@ async function importFromPrepaidCSV(): Promise<void> {
|
||||||
(prepaidRow.CMPP_LOT1 === '0' ? '' : prepaidRow.CMPP_LOT1) +
|
(prepaidRow.CMPP_LOT1 === '0' ? '' : prepaidRow.CMPP_LOT1) +
|
||||||
(prepaidRow.CMPP_LOT2 === '0' ? '' : prepaidRow.CMPP_LOT2)
|
(prepaidRow.CMPP_LOT2 === '0' ? '' : prepaidRow.CMPP_LOT2)
|
||||||
|
|
||||||
const burialSiteNameSegment4 =
|
let burialSiteNameSegment4 =
|
||||||
(prepaidRow.CMPP_GRAVE1 === '0' ? '' : prepaidRow.CMPP_GRAVE1) +
|
(prepaidRow.CMPP_GRAVE1 === '0' ? '' : prepaidRow.CMPP_GRAVE1) +
|
||||||
(prepaidRow.CMPP_GRAVE2 === '0' ? '' : prepaidRow.CMPP_GRAVE2)
|
(prepaidRow.CMPP_GRAVE2 === '0' ? '' : prepaidRow.CMPP_GRAVE2)
|
||||||
|
|
||||||
|
if (burialSiteNameSegment4 === '') {
|
||||||
|
burialSiteNameSegment4 = '1'
|
||||||
|
}
|
||||||
|
|
||||||
const burialSiteName = buildBurialSiteName(cemeteryKey, {
|
const burialSiteName = buildBurialSiteName(cemeteryKey, {
|
||||||
burialSiteNameSegment1,
|
burialSiteNameSegment1,
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
|
|
@ -1058,10 +1023,14 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
const burialSiteNameSegment3 =
|
const burialSiteNameSegment3 =
|
||||||
(workOrderRow.WO_LOT1 === '0' ? '' : workOrderRow.WO_LOT1) +
|
(workOrderRow.WO_LOT1 === '0' ? '' : workOrderRow.WO_LOT1) +
|
||||||
(workOrderRow.WO_LOT2 === '0' ? '' : workOrderRow.WO_LOT2)
|
(workOrderRow.WO_LOT2 === '0' ? '' : workOrderRow.WO_LOT2)
|
||||||
const burialSiteNameSegment4 =
|
let burialSiteNameSegment4 =
|
||||||
(workOrderRow.WO_GRAVE1 === '0' ? '' : workOrderRow.WO_GRAVE1) +
|
(workOrderRow.WO_GRAVE1 === '0' ? '' : workOrderRow.WO_GRAVE1) +
|
||||||
(workOrderRow.WO_GRAVE2 === '0' ? '' : workOrderRow.WO_GRAVE2)
|
(workOrderRow.WO_GRAVE2 === '0' ? '' : workOrderRow.WO_GRAVE2)
|
||||||
|
|
||||||
|
if (burialSiteNameSegment4 === '') {
|
||||||
|
burialSiteNameSegment4 = '1'
|
||||||
|
}
|
||||||
|
|
||||||
const burialSiteName = buildBurialSiteName(workOrderRow.WO_CEMETERY, {
|
const burialSiteName = buildBurialSiteName(workOrderRow.WO_CEMETERY, {
|
||||||
burialSiteNameSegment1,
|
burialSiteNameSegment1,
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
|
|
@ -1407,6 +1376,54 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
console.timeEnd('importFromWorkOrderCSV')
|
console.timeEnd('importFromWorkOrderCSV')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function purgeConfigTables(): void {
|
||||||
|
console.time('purgeConfigTables')
|
||||||
|
|
||||||
|
const database = sqlite(databasePath)
|
||||||
|
database.prepare('delete from Cemeteries').run()
|
||||||
|
database
|
||||||
|
.prepare("delete from sqlite_sequence where name in ('Cemeteries')")
|
||||||
|
.run()
|
||||||
|
database.close()
|
||||||
|
|
||||||
|
console.timeEnd('purgeConfigTables')
|
||||||
|
}
|
||||||
|
|
||||||
|
function purgeTables(): void {
|
||||||
|
console.time('purgeTables')
|
||||||
|
|
||||||
|
const tablesToPurge = [
|
||||||
|
'WorkOrderMilestones',
|
||||||
|
'WorkOrderComments',
|
||||||
|
'WorkOrderBurialSites',
|
||||||
|
'WorkOrderContracts',
|
||||||
|
'WorkOrders',
|
||||||
|
'ContractTransactions',
|
||||||
|
'ContractFees',
|
||||||
|
'ContractFields',
|
||||||
|
'ContractComments',
|
||||||
|
'ContractInterments',
|
||||||
|
'Contracts',
|
||||||
|
'FuneralHomes',
|
||||||
|
'BurialSiteFields',
|
||||||
|
'BurialSiteComments',
|
||||||
|
'BurialSites'
|
||||||
|
]
|
||||||
|
|
||||||
|
const database = sqlite(databasePath)
|
||||||
|
|
||||||
|
for (const tableName of tablesToPurge) {
|
||||||
|
database.prepare(`delete from ${tableName}`).run()
|
||||||
|
database
|
||||||
|
.prepare('delete from sqlite_sequence where name = ?')
|
||||||
|
.run(tableName)
|
||||||
|
}
|
||||||
|
|
||||||
|
database.close()
|
||||||
|
|
||||||
|
console.timeEnd('purgeTables')
|
||||||
|
}
|
||||||
|
|
||||||
console.log(`Started ${new Date().toLocaleString()}`)
|
console.log(`Started ${new Date().toLocaleString()}`)
|
||||||
console.time('importFromCsv')
|
console.time('importFromCsv')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,9 @@ export interface Config {
|
||||||
dynamicsGP?: {
|
dynamicsGP?: {
|
||||||
integrationIsEnabled: boolean;
|
integrationIsEnabled: boolean;
|
||||||
mssqlConfig?: MSSQLConfig;
|
mssqlConfig?: MSSQLConfig;
|
||||||
lookupOrder?: DynamicsGPLookup[];
|
|
||||||
accountCodes?: string[];
|
accountCodes?: string[];
|
||||||
itemNumbers?: string[];
|
itemNumbers?: string[];
|
||||||
|
lookupOrder?: DynamicsGPLookup[];
|
||||||
trialBalanceCodes?: string[];
|
trialBalanceCodes?: string[];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -79,9 +79,10 @@ export interface Config {
|
||||||
dynamicsGP?: {
|
dynamicsGP?: {
|
||||||
integrationIsEnabled: boolean
|
integrationIsEnabled: boolean
|
||||||
mssqlConfig?: MSSQLConfig
|
mssqlConfig?: MSSQLConfig
|
||||||
lookupOrder?: DynamicsGPLookup[]
|
|
||||||
accountCodes?: string[]
|
accountCodes?: string[]
|
||||||
itemNumbers?: string[]
|
itemNumbers?: string[]
|
||||||
|
lookupOrder?: DynamicsGPLookup[]
|
||||||
trialBalanceCodes?: string[]
|
trialBalanceCodes?: string[]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="has-background-grey" id="is-login-page" data-theme="light" lang="en" style="background-image:url('<%= urlPrefix + configFunctions.getConfigProperty("application.backgroundURL") %>')">
|
<html class="has-background-grey" id="is-login-page" data-theme="light" lang="en"
|
||||||
|
style="background-image:url('<%= urlPrefix + configFunctions.getConfigProperty("application.backgroundURL") %>')">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>
|
<title>
|
||||||
|
|
@ -39,13 +40,16 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input class="input" id="login--userName" name="userName" type="text" placeholder="User Name" value="<%= userName %>" aria-label="User Name" autofocus required />
|
<input class="input" id="login--userName" name="userName" type="text"
|
||||||
|
placeholder="User Name" value="<%= userName %>" aria-label="User Name"
|
||||||
|
autofocus required />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="sr-only" for="login--password">Password</label>
|
<label class="sr-only" for="login--password">Password</label>
|
||||||
<div class="control has-icons-left has-tooltip-right" data-tooltip="Password" >
|
<div class="control has-icons-left has-tooltip-right" data-tooltip="Password" >
|
||||||
<input class="input" id="login--password" name="password" type="password" placeholder="Password" required />
|
<input class="input" id="login--password" name="password" type="password"
|
||||||
|
placeholder="Password" required />
|
||||||
<span class="icon is-small is-left">
|
<span class="icon is-small is-left">
|
||||||
<i class="fas fa-key" aria-hidden="true"></i>
|
<i class="fas fa-key" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue