refactoring, plus funeral home maint
parent
df6a7feddc
commit
44119638c2
2
app.js
2
app.js
|
|
@ -22,6 +22,7 @@ import routerBurialSites from './routes/burialSites.js';
|
||||||
import routerCemeteries from './routes/cemeteries.js';
|
import routerCemeteries from './routes/cemeteries.js';
|
||||||
import routerContracts from './routes/contracts.js';
|
import routerContracts from './routes/contracts.js';
|
||||||
import routerDashboard from './routes/dashboard.js';
|
import routerDashboard from './routes/dashboard.js';
|
||||||
|
import routerFuneralHomes from './routes/funeralHomes.js';
|
||||||
import routerLogin from './routes/login.js';
|
import routerLogin from './routes/login.js';
|
||||||
import routerPrint from './routes/print.js';
|
import routerPrint from './routes/print.js';
|
||||||
import routerReports from './routes/reports.js';
|
import routerReports from './routes/reports.js';
|
||||||
|
|
@ -142,6 +143,7 @@ app.use(`${urlPrefix}/api/:apiKey`, permissionHandlers.apiGetHandler, routerApi)
|
||||||
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint);
|
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint);
|
||||||
app.use(`${urlPrefix}/cemeteries`, sessionChecker, routerCemeteries);
|
app.use(`${urlPrefix}/cemeteries`, sessionChecker, routerCemeteries);
|
||||||
app.use(`${urlPrefix}/burialSites`, sessionChecker, routerBurialSites);
|
app.use(`${urlPrefix}/burialSites`, sessionChecker, routerBurialSites);
|
||||||
|
app.use(`${urlPrefix}/funeralHomes`, sessionChecker, routerFuneralHomes);
|
||||||
app.use(`${urlPrefix}/contracts`, sessionChecker, routerContracts);
|
app.use(`${urlPrefix}/contracts`, sessionChecker, routerContracts);
|
||||||
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders);
|
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders);
|
||||||
app.use(`${urlPrefix}/reports`, sessionChecker, routerReports);
|
app.use(`${urlPrefix}/reports`, sessionChecker, routerReports);
|
||||||
|
|
|
||||||
2
app.ts
2
app.ts
|
|
@ -24,6 +24,7 @@ import routerBurialSites from './routes/burialSites.js'
|
||||||
import routerCemeteries from './routes/cemeteries.js'
|
import routerCemeteries from './routes/cemeteries.js'
|
||||||
import routerContracts from './routes/contracts.js'
|
import routerContracts from './routes/contracts.js'
|
||||||
import routerDashboard from './routes/dashboard.js'
|
import routerDashboard from './routes/dashboard.js'
|
||||||
|
import routerFuneralHomes from './routes/funeralHomes.js'
|
||||||
import routerLogin from './routes/login.js'
|
import routerLogin from './routes/login.js'
|
||||||
import routerPrint from './routes/print.js'
|
import routerPrint from './routes/print.js'
|
||||||
import routerReports from './routes/reports.js'
|
import routerReports from './routes/reports.js'
|
||||||
|
|
@ -233,6 +234,7 @@ app.use(`${urlPrefix}/api/:apiKey`, permissionHandlers.apiGetHandler, routerApi)
|
||||||
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint)
|
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint)
|
||||||
app.use(`${urlPrefix}/cemeteries`, sessionChecker, routerCemeteries)
|
app.use(`${urlPrefix}/cemeteries`, sessionChecker, routerCemeteries)
|
||||||
app.use(`${urlPrefix}/burialSites`, sessionChecker, routerBurialSites)
|
app.use(`${urlPrefix}/burialSites`, sessionChecker, routerBurialSites)
|
||||||
|
app.use(`${urlPrefix}/funeralHomes`, sessionChecker, routerFuneralHomes)
|
||||||
app.use(`${urlPrefix}/contracts`, sessionChecker, routerContracts)
|
app.use(`${urlPrefix}/contracts`, sessionChecker, routerContracts)
|
||||||
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders)
|
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,8 +45,8 @@ describe('Update - Cemeteries', () => {
|
||||||
.type(cemeteryData.cemeteryLongitude?.toString() ?? '');
|
.type(cemeteryData.cemeteryLongitude?.toString() ?? '');
|
||||||
});
|
});
|
||||||
cy.log('Ensure the default city and province are used');
|
cy.log('Ensure the default city and province are used');
|
||||||
cy.get("input[name='cemeteryCity']").should('have.value', getConfigProperty('settings.cemeteries.cityDefault'));
|
cy.get("input[name='cemeteryCity']").should('have.value', getConfigProperty('settings.cityDefault'));
|
||||||
cy.get("input[name='cemeteryProvince']").should('have.value', getConfigProperty('settings.cemeteries.provinceDefault'));
|
cy.get("input[name='cemeteryProvince']").should('have.value', getConfigProperty('settings.provinceDefault'));
|
||||||
cy.log('Submit the form');
|
cy.log('Submit the form');
|
||||||
cy.get('#form--cemetery').submit();
|
cy.get('#form--cemetery').submit();
|
||||||
cy.wait(1000);
|
cy.wait(1000);
|
||||||
|
|
@ -58,8 +58,8 @@ describe('Update - Cemeteries', () => {
|
||||||
cy.get("textarea[name='cemeteryDescription']").should('have.value', cemeteryData.cemeteryDescription);
|
cy.get("textarea[name='cemeteryDescription']").should('have.value', cemeteryData.cemeteryDescription);
|
||||||
cy.get("input[name='cemeteryAddress1']").should('have.value', cemeteryData.cemeteryAddress1);
|
cy.get("input[name='cemeteryAddress1']").should('have.value', cemeteryData.cemeteryAddress1);
|
||||||
cy.get("input[name='cemeteryAddress2']").should('have.value', cemeteryData.cemeteryAddress2);
|
cy.get("input[name='cemeteryAddress2']").should('have.value', cemeteryData.cemeteryAddress2);
|
||||||
cy.get("input[name='cemeteryCity']").should('have.value', getConfigProperty('settings.cemeteries.cityDefault'));
|
cy.get("input[name='cemeteryCity']").should('have.value', getConfigProperty('settings.cityDefault'));
|
||||||
cy.get("input[name='cemeteryProvince']").should('have.value', getConfigProperty('settings.cemeteries.provinceDefault'));
|
cy.get("input[name='cemeteryProvince']").should('have.value', getConfigProperty('settings.provinceDefault'));
|
||||||
cy.get("input[name='cemeteryPostalCode']").should('have.value', cemeteryData.cemeteryPostalCode);
|
cy.get("input[name='cemeteryPostalCode']").should('have.value', cemeteryData.cemeteryPostalCode);
|
||||||
cy.get("input[name='cemeteryPhoneNumber']").should('have.value', cemeteryData.cemeteryPhoneNumber);
|
cy.get("input[name='cemeteryPhoneNumber']").should('have.value', cemeteryData.cemeteryPhoneNumber);
|
||||||
cy.get("input[name='cemeteryLatitude']").should('have.value', cemeteryData.cemeteryLatitude?.toString());
|
cy.get("input[name='cemeteryLatitude']").should('have.value', cemeteryData.cemeteryLatitude?.toString());
|
||||||
|
|
|
||||||
|
|
@ -65,12 +65,12 @@ describe('Update - Cemeteries', () => {
|
||||||
|
|
||||||
cy.get("input[name='cemeteryCity']").should(
|
cy.get("input[name='cemeteryCity']").should(
|
||||||
'have.value',
|
'have.value',
|
||||||
getConfigProperty('settings.cemeteries.cityDefault')
|
getConfigProperty('settings.cityDefault')
|
||||||
)
|
)
|
||||||
|
|
||||||
cy.get("input[name='cemeteryProvince']").should(
|
cy.get("input[name='cemeteryProvince']").should(
|
||||||
'have.value',
|
'have.value',
|
||||||
getConfigProperty('settings.cemeteries.provinceDefault')
|
getConfigProperty('settings.provinceDefault')
|
||||||
)
|
)
|
||||||
|
|
||||||
cy.log('Submit the form')
|
cy.log('Submit the form')
|
||||||
|
|
@ -106,12 +106,12 @@ describe('Update - Cemeteries', () => {
|
||||||
|
|
||||||
cy.get("input[name='cemeteryCity']").should(
|
cy.get("input[name='cemeteryCity']").should(
|
||||||
'have.value',
|
'have.value',
|
||||||
getConfigProperty('settings.cemeteries.cityDefault')
|
getConfigProperty('settings.cityDefault')
|
||||||
)
|
)
|
||||||
|
|
||||||
cy.get("input[name='cemeteryProvince']").should(
|
cy.get("input[name='cemeteryProvince']").should(
|
||||||
'have.value',
|
'have.value',
|
||||||
getConfigProperty('settings.cemeteries.provinceDefault')
|
getConfigProperty('settings.provinceDefault')
|
||||||
)
|
)
|
||||||
|
|
||||||
cy.get("input[name='cemeteryPostalCode']").should(
|
cy.get("input[name='cemeteryPostalCode']").should(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import { config as baseConfig } from './config.base.js';
|
import { config as baseConfig } from './config.base.js';
|
||||||
export const config = Object.assign({}, baseConfig);
|
export const config = Object.assign({}, baseConfig);
|
||||||
config.settings.contracts.provinceDefault = 'ON';
|
config.settings.provinceDefault = 'ON';
|
||||||
config.settings.cemeteries.provinceDefault = 'ON';
|
|
||||||
config.settings.fees.taxPercentageDefault = 13;
|
config.settings.fees.taxPercentageDefault = 13;
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@ import { config as baseConfig } from './config.base.js'
|
||||||
|
|
||||||
export const config = Object.assign({}, baseConfig)
|
export const config = Object.assign({}, baseConfig)
|
||||||
|
|
||||||
config.settings.contracts.provinceDefault = 'ON'
|
config.settings.provinceDefault = 'ON'
|
||||||
|
|
||||||
config.settings.cemeteries.provinceDefault = 'ON'
|
|
||||||
|
|
||||||
config.settings.fees.taxPercentageDefault = 13
|
config.settings.fees.taxPercentageDefault = 13
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,11 @@ config.settings.burialSites.burialSiteNameSegments = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
config.settings.contracts.cityDefault = 'Sault Ste. Marie';
|
config.settings.cityDefault = 'Sault Ste. Marie';
|
||||||
config.settings.contracts.prints = [
|
config.settings.contracts.prints = [
|
||||||
'pdf/ssm.cemetery.burialPermit',
|
'pdf/ssm.cemetery.burialPermit',
|
||||||
'pdf/ssm.cemetery.contract'
|
'pdf/ssm.cemetery.contract'
|
||||||
];
|
];
|
||||||
config.settings.cemeteries.cityDefault = 'Sault Ste. Marie';
|
|
||||||
config.settings.workOrders.workOrderNumberLength = 6;
|
config.settings.workOrders.workOrderNumberLength = 6;
|
||||||
config.settings.workOrders.workOrderMilestoneDateRecentBeforeDays = 7;
|
config.settings.workOrders.workOrderMilestoneDateRecentBeforeDays = 7;
|
||||||
config.settings.workOrders.workOrderMilestoneDateRecentAfterDays = 30;
|
config.settings.workOrders.workOrderMilestoneDateRecentAfterDays = 30;
|
||||||
|
|
|
||||||
|
|
@ -41,14 +41,13 @@ config.settings.burialSites.burialSiteNameSegments = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
config.settings.contracts.cityDefault = 'Sault Ste. Marie'
|
config.settings.cityDefault = 'Sault Ste. Marie'
|
||||||
|
|
||||||
config.settings.contracts.prints = [
|
config.settings.contracts.prints = [
|
||||||
'pdf/ssm.cemetery.burialPermit',
|
'pdf/ssm.cemetery.burialPermit',
|
||||||
'pdf/ssm.cemetery.contract'
|
'pdf/ssm.cemetery.contract'
|
||||||
]
|
]
|
||||||
|
|
||||||
config.settings.cemeteries.cityDefault = 'Sault Ste. Marie'
|
|
||||||
|
|
||||||
config.settings.workOrders.workOrderNumberLength = 6
|
config.settings.workOrders.workOrderNumberLength = 6
|
||||||
config.settings.workOrders.workOrderMilestoneDateRecentBeforeDays = 7
|
config.settings.workOrders.workOrderMilestoneDateRecentBeforeDays = 7
|
||||||
config.settings.workOrders.workOrderMilestoneDateRecentAfterDays = 30
|
config.settings.workOrders.workOrderMilestoneDateRecentAfterDays = 30
|
||||||
|
|
|
||||||
|
|
@ -24,12 +24,10 @@ export declare const configDefaultValues: {
|
||||||
'aliases.externalReceiptNumber': string;
|
'aliases.externalReceiptNumber': string;
|
||||||
'aliases.workOrderOpenDate': string;
|
'aliases.workOrderOpenDate': string;
|
||||||
'aliases.workOrderCloseDate': string;
|
'aliases.workOrderCloseDate': string;
|
||||||
'settings.cemeteries.cityDefault': string;
|
'settings.cityDefault': string;
|
||||||
'settings.cemeteries.provinceDefault': string;
|
'settings.provinceDefault': string;
|
||||||
'settings.burialSites.burialSiteNameSegments': ConfigBurialSiteNameSegments;
|
'settings.burialSites.burialSiteNameSegments': ConfigBurialSiteNameSegments;
|
||||||
'settings.contracts.burialSiteIdIsRequired': boolean;
|
'settings.contracts.burialSiteIdIsRequired': boolean;
|
||||||
'settings.contracts.cityDefault': string;
|
|
||||||
'settings.contracts.provinceDefault': string;
|
|
||||||
'settings.contracts.prints': string[];
|
'settings.contracts.prints': string[];
|
||||||
'settings.fees.taxPercentageDefault': number;
|
'settings.fees.taxPercentageDefault': number;
|
||||||
'settings.workOrders.workOrderNumberLength': number;
|
'settings.workOrders.workOrderNumberLength': number;
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,8 @@ export const configDefaultValues = {
|
||||||
'aliases.externalReceiptNumber': 'External Receipt Number',
|
'aliases.externalReceiptNumber': 'External Receipt Number',
|
||||||
'aliases.workOrderOpenDate': 'Order Date',
|
'aliases.workOrderOpenDate': 'Order Date',
|
||||||
'aliases.workOrderCloseDate': 'Completion Date',
|
'aliases.workOrderCloseDate': 'Completion Date',
|
||||||
'settings.cemeteries.cityDefault': '',
|
'settings.cityDefault': '',
|
||||||
'settings.cemeteries.provinceDefault': '',
|
'settings.provinceDefault': '',
|
||||||
'settings.burialSites.burialSiteNameSegments': {
|
'settings.burialSites.burialSiteNameSegments': {
|
||||||
separator: '-',
|
separator: '-',
|
||||||
segments: {
|
segments: {
|
||||||
|
|
@ -38,8 +38,6 @@ export const configDefaultValues = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'settings.contracts.burialSiteIdIsRequired': true,
|
'settings.contracts.burialSiteIdIsRequired': true,
|
||||||
'settings.contracts.cityDefault': '',
|
|
||||||
'settings.contracts.provinceDefault': '',
|
|
||||||
'settings.contracts.prints': ['screen/contract'],
|
'settings.contracts.prints': ['screen/contract'],
|
||||||
'settings.fees.taxPercentageDefault': 0,
|
'settings.fees.taxPercentageDefault': 0,
|
||||||
'settings.workOrders.workOrderNumberLength': 6,
|
'settings.workOrders.workOrderNumberLength': 6,
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,8 @@ export const configDefaultValues = {
|
||||||
'aliases.workOrderOpenDate': 'Order Date',
|
'aliases.workOrderOpenDate': 'Order Date',
|
||||||
'aliases.workOrderCloseDate': 'Completion Date',
|
'aliases.workOrderCloseDate': 'Completion Date',
|
||||||
|
|
||||||
'settings.cemeteries.cityDefault': '',
|
'settings.cityDefault': '',
|
||||||
'settings.cemeteries.provinceDefault': '',
|
'settings.provinceDefault': '',
|
||||||
|
|
||||||
'settings.burialSites.burialSiteNameSegments': {
|
'settings.burialSites.burialSiteNameSegments': {
|
||||||
separator: '-',
|
separator: '-',
|
||||||
|
|
@ -57,8 +57,6 @@ export const configDefaultValues = {
|
||||||
|
|
||||||
|
|
||||||
'settings.contracts.burialSiteIdIsRequired': true,
|
'settings.contracts.burialSiteIdIsRequired': true,
|
||||||
'settings.contracts.cityDefault': '',
|
|
||||||
'settings.contracts.provinceDefault': '',
|
|
||||||
'settings.contracts.prints': ['screen/contract'],
|
'settings.contracts.prints': ['screen/contract'],
|
||||||
|
|
||||||
'settings.fees.taxPercentageDefault': 0,
|
'settings.fees.taxPercentageDefault': 0,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
export interface AddForm {
|
||||||
|
funeralHomeName: string;
|
||||||
|
funeralHomeAddress1: string;
|
||||||
|
funeralHomeAddress2: string;
|
||||||
|
funeralHomeCity: string;
|
||||||
|
funeralHomeProvince: string;
|
||||||
|
funeralHomePostalCode: string;
|
||||||
|
funeralHomePhoneNumber: string;
|
||||||
|
}
|
||||||
|
export default function addFuneralHome(addForm: AddForm, user: User): Promise<number>;
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { acquireConnection } from './pool.js';
|
||||||
|
export default async function addFuneralHome(addForm, user) {
|
||||||
|
const database = await acquireConnection();
|
||||||
|
const rightNowMillis = Date.now();
|
||||||
|
const result = database
|
||||||
|
.prepare(`insert into FuneralHomes (
|
||||||
|
funeralHomeName, funeralHomeAddress1, funeralHomeAddress2,
|
||||||
|
funeralHomeCity, funeralHomeProvince, funeralHomePostalCode, funeralHomePhoneNumber,
|
||||||
|
recordCreate_userName, recordCreate_timeMillis,
|
||||||
|
recordUpdate_userName, recordUpdate_timeMillis)
|
||||||
|
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||||
|
.run(addForm.funeralHomeName, addForm.funeralHomeAddress1, addForm.funeralHomeAddress2, addForm.funeralHomeCity, addForm.funeralHomeProvince, addForm.funeralHomePostalCode, addForm.funeralHomePhoneNumber, user.userName, rightNowMillis, user.userName, rightNowMillis);
|
||||||
|
database.release();
|
||||||
|
return result.lastInsertRowid;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
import { acquireConnection } from './pool.js'
|
||||||
|
|
||||||
|
export interface AddForm {
|
||||||
|
funeralHomeName: string
|
||||||
|
funeralHomeAddress1: string
|
||||||
|
funeralHomeAddress2: string
|
||||||
|
funeralHomeCity: string
|
||||||
|
funeralHomeProvince: string
|
||||||
|
funeralHomePostalCode: string
|
||||||
|
funeralHomePhoneNumber: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function addFuneralHome(
|
||||||
|
addForm: AddForm,
|
||||||
|
user: User
|
||||||
|
): Promise<number> {
|
||||||
|
const database = await acquireConnection()
|
||||||
|
|
||||||
|
const rightNowMillis = Date.now()
|
||||||
|
|
||||||
|
const result = database
|
||||||
|
.prepare(
|
||||||
|
`insert into FuneralHomes (
|
||||||
|
funeralHomeName, funeralHomeAddress1, funeralHomeAddress2,
|
||||||
|
funeralHomeCity, funeralHomeProvince, funeralHomePostalCode, funeralHomePhoneNumber,
|
||||||
|
recordCreate_userName, recordCreate_timeMillis,
|
||||||
|
recordUpdate_userName, recordUpdate_timeMillis)
|
||||||
|
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||||
|
)
|
||||||
|
.run(
|
||||||
|
addForm.funeralHomeName,
|
||||||
|
addForm.funeralHomeAddress1,
|
||||||
|
addForm.funeralHomeAddress2,
|
||||||
|
addForm.funeralHomeCity,
|
||||||
|
addForm.funeralHomeProvince,
|
||||||
|
addForm.funeralHomePostalCode,
|
||||||
|
addForm.funeralHomePhoneNumber,
|
||||||
|
user.userName,
|
||||||
|
rightNowMillis,
|
||||||
|
user.userName,
|
||||||
|
rightNowMillis
|
||||||
|
)
|
||||||
|
|
||||||
|
database.release()
|
||||||
|
|
||||||
|
return result.lastInsertRowid as number
|
||||||
|
}
|
||||||
|
|
@ -23,7 +23,7 @@ export default async function cleanupDatabase(user) {
|
||||||
.prepare('delete from WorkOrderComments where recordDelete_timeMillis <= ?')
|
.prepare('delete from WorkOrderComments where recordDelete_timeMillis <= ?')
|
||||||
.run(recordDeleteTimeMillisMin).changes;
|
.run(recordDeleteTimeMillisMin).changes;
|
||||||
/*
|
/*
|
||||||
* Work Order Burial Site Contracts
|
* Work Order Contracts
|
||||||
*/
|
*/
|
||||||
inactivatedRecordCount += database
|
inactivatedRecordCount += database
|
||||||
.prepare(`update WorkOrderContracts
|
.prepare(`update WorkOrderContracts
|
||||||
|
|
@ -181,7 +181,7 @@ export default async function cleanupDatabase(user) {
|
||||||
and contractTypeFieldId not in (select contractTypeFieldId from ContractFields)`)
|
and contractTypeFieldId not in (select contractTypeFieldId from ContractFields)`)
|
||||||
.run(recordDeleteTimeMillisMin).changes;
|
.run(recordDeleteTimeMillisMin).changes;
|
||||||
/*
|
/*
|
||||||
* Occupancy Type Prints
|
* Contract Type Prints
|
||||||
*/
|
*/
|
||||||
inactivatedRecordCount += database
|
inactivatedRecordCount += database
|
||||||
.prepare(`update ContractTypePrints
|
.prepare(`update ContractTypePrints
|
||||||
|
|
@ -246,7 +246,7 @@ export default async function cleanupDatabase(user) {
|
||||||
and burialSiteId not in (select burialSiteId from BurialSiteComments)
|
and burialSiteId not in (select burialSiteId from BurialSiteComments)
|
||||||
and burialSiteId not in (select burialSiteId from BurialSiteFields)
|
and burialSiteId not in (select burialSiteId from BurialSiteFields)
|
||||||
and burialSiteId not in (select burialSiteId from Contracts)
|
and burialSiteId not in (select burialSiteId from Contracts)
|
||||||
and burialSiteId not in (select burialSiteId from WorkOrderLots)`)
|
and burialSiteId not in (select burialSiteId from WorkOrderBurialSites)`)
|
||||||
.run(recordDeleteTimeMillisMin).changes;
|
.run(recordDeleteTimeMillisMin).changes;
|
||||||
/*
|
/*
|
||||||
* Burial Site Statuses
|
* Burial Site Statuses
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ export default async function cleanupDatabase(
|
||||||
.run(recordDeleteTimeMillisMin).changes
|
.run(recordDeleteTimeMillisMin).changes
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Work Order Burial Site Contracts
|
* Work Order Contracts
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inactivatedRecordCount += database
|
inactivatedRecordCount += database
|
||||||
|
|
@ -271,7 +271,7 @@ export default async function cleanupDatabase(
|
||||||
.run(recordDeleteTimeMillisMin).changes
|
.run(recordDeleteTimeMillisMin).changes
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Occupancy Type Prints
|
* Contract Type Prints
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inactivatedRecordCount += database
|
inactivatedRecordCount += database
|
||||||
|
|
@ -364,7 +364,7 @@ export default async function cleanupDatabase(
|
||||||
and burialSiteId not in (select burialSiteId from BurialSiteComments)
|
and burialSiteId not in (select burialSiteId from BurialSiteComments)
|
||||||
and burialSiteId not in (select burialSiteId from BurialSiteFields)
|
and burialSiteId not in (select burialSiteId from BurialSiteFields)
|
||||||
and burialSiteId not in (select burialSiteId from Contracts)
|
and burialSiteId not in (select burialSiteId from Contracts)
|
||||||
and burialSiteId not in (select burialSiteId from WorkOrderLots)`
|
and burialSiteId not in (select burialSiteId from WorkOrderBurialSites)`
|
||||||
)
|
)
|
||||||
.run(recordDeleteTimeMillisMin).changes
|
.run(recordDeleteTimeMillisMin).changes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
type RecordTable = 'FeeCategories' | 'Fees' | 'BurialSites' | 'BurialSiteComments' | 'Contracts' | 'ContractComments' | 'BurialSiteStatuses' | 'BurialSiteTypes' | 'BurialSiteTypeFields' | 'Cemeteries' | 'ContractTypes' | 'ContractTypeFields' | 'WorkOrders' | 'WorkOrderComments' | 'WorkOrderMilestones' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes';
|
type RecordTable = 'FeeCategories' | 'Fees' | 'BurialSites' | 'BurialSiteComments' | 'Contracts' | 'ContractComments' | 'BurialSiteStatuses' | 'BurialSiteTypes' | 'BurialSiteTypeFields' | 'Cemeteries' | 'FuneralHomes' | 'ContractTypes' | 'ContractTypeFields' | 'WorkOrders' | 'WorkOrderComments' | 'WorkOrderMilestones' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes';
|
||||||
export declare function deleteRecord(recordTable: RecordTable, recordId: number | string, user: User): Promise<boolean>;
|
export declare function deleteRecord(recordTable: RecordTable, recordId: number | string, user: User): Promise<boolean>;
|
||||||
export {};
|
export {};
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ recordIdColumns.set('BurialSiteStatuses', 'burialSiteStatusId');
|
||||||
recordIdColumns.set('BurialSiteTypes', 'burialSiteTypeId');
|
recordIdColumns.set('BurialSiteTypes', 'burialSiteTypeId');
|
||||||
recordIdColumns.set('BurialSiteTypeFields', 'burialSiteTypeFieldId');
|
recordIdColumns.set('BurialSiteTypeFields', 'burialSiteTypeFieldId');
|
||||||
recordIdColumns.set('Cemeteries', 'cemeteryId');
|
recordIdColumns.set('Cemeteries', 'cemeteryId');
|
||||||
|
recordIdColumns.set('FuneralHomes', 'funeralHomeId');
|
||||||
recordIdColumns.set('ContractTypes', 'contractTypeId');
|
recordIdColumns.set('ContractTypes', 'contractTypeId');
|
||||||
recordIdColumns.set('ContractTypeFields', 'contractTypeFieldId');
|
recordIdColumns.set('ContractTypeFields', 'contractTypeFieldId');
|
||||||
recordIdColumns.set('WorkOrders', 'workOrderId');
|
recordIdColumns.set('WorkOrders', 'workOrderId');
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ type RecordTable =
|
||||||
| 'BurialSiteTypes'
|
| 'BurialSiteTypes'
|
||||||
| 'BurialSiteTypeFields'
|
| 'BurialSiteTypeFields'
|
||||||
| 'Cemeteries'
|
| 'Cemeteries'
|
||||||
|
| 'FuneralHomes'
|
||||||
| 'ContractTypes'
|
| 'ContractTypes'
|
||||||
| 'ContractTypeFields'
|
| 'ContractTypeFields'
|
||||||
| 'WorkOrders'
|
| 'WorkOrders'
|
||||||
|
|
@ -32,6 +33,7 @@ recordIdColumns.set('BurialSiteStatuses', 'burialSiteStatusId')
|
||||||
recordIdColumns.set('BurialSiteTypes', 'burialSiteTypeId')
|
recordIdColumns.set('BurialSiteTypes', 'burialSiteTypeId')
|
||||||
recordIdColumns.set('BurialSiteTypeFields', 'burialSiteTypeFieldId')
|
recordIdColumns.set('BurialSiteTypeFields', 'burialSiteTypeFieldId')
|
||||||
recordIdColumns.set('Cemeteries', 'cemeteryId')
|
recordIdColumns.set('Cemeteries', 'cemeteryId')
|
||||||
|
recordIdColumns.set('FuneralHomes', 'funeralHomeId')
|
||||||
recordIdColumns.set('ContractTypes', 'contractTypeId')
|
recordIdColumns.set('ContractTypes', 'contractTypeId')
|
||||||
recordIdColumns.set('ContractTypeFields', 'contractTypeFieldId')
|
recordIdColumns.set('ContractTypeFields', 'contractTypeFieldId')
|
||||||
recordIdColumns.set('WorkOrders', 'workOrderId')
|
recordIdColumns.set('WorkOrders', 'workOrderId')
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import type { FuneralHome } from '../types/recordTypes.js';
|
||||||
|
export default function getFuneralHome(funeralHomeId: number | string): Promise<FuneralHome | undefined>;
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { acquireConnection } from './pool.js';
|
||||||
|
export default async function getFuneralHome(funeralHomeId) {
|
||||||
|
const database = await acquireConnection();
|
||||||
|
const funeralHome = database
|
||||||
|
.prepare(`select funeralHomeId, funeralHomeName,
|
||||||
|
funeralHomeAddress1, funeralHomeAddress2,
|
||||||
|
funeralHomeCity, funeralHomeProvince, funeralHomePostalCode, funeralHomePhoneNumber
|
||||||
|
from FuneralHomes f
|
||||||
|
where f.recordDelete_timeMillis is null
|
||||||
|
and f.funeralHomeId = ?
|
||||||
|
order by f.funeralHomeName, f.funeralHomeId`)
|
||||||
|
.get(funeralHomeId);
|
||||||
|
database.release();
|
||||||
|
return funeralHome;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
import type { Cemetery, FuneralHome } from '../types/recordTypes.js'
|
||||||
|
|
||||||
|
import { acquireConnection } from './pool.js'
|
||||||
|
|
||||||
|
export default async function getFuneralHome(
|
||||||
|
funeralHomeId: number | string
|
||||||
|
): Promise<FuneralHome | undefined> {
|
||||||
|
const database = await acquireConnection()
|
||||||
|
|
||||||
|
const funeralHome = database
|
||||||
|
.prepare(
|
||||||
|
`select funeralHomeId, funeralHomeName,
|
||||||
|
funeralHomeAddress1, funeralHomeAddress2,
|
||||||
|
funeralHomeCity, funeralHomeProvince, funeralHomePostalCode, funeralHomePhoneNumber
|
||||||
|
from FuneralHomes f
|
||||||
|
where f.recordDelete_timeMillis is null
|
||||||
|
and f.funeralHomeId = ?
|
||||||
|
order by f.funeralHomeName, f.funeralHomeId`
|
||||||
|
)
|
||||||
|
.get(funeralHomeId) as Cemetery | undefined
|
||||||
|
|
||||||
|
database.release()
|
||||||
|
|
||||||
|
return funeralHome
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import type { FuneralHome } from '../types/recordTypes.js';
|
||||||
|
export default function getFuneralHomes(): Promise<FuneralHome[]>;
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
import { acquireConnection } from './pool.js';
|
||||||
|
export default async function getFuneralHomes() {
|
||||||
|
const database = await acquireConnection();
|
||||||
|
const funeralHomes = database
|
||||||
|
.prepare(`select funeralHomeId, funeralHomeName,
|
||||||
|
funeralHomeAddress1, funeralHomeAddress2,
|
||||||
|
funeralHomeCity, funeralHomeProvince, funeralHomePostalCode, funeralHomePhoneNumber
|
||||||
|
from FuneralHomes f
|
||||||
|
where f.recordDelete_timeMillis is null
|
||||||
|
order by f.funeralHomeName, f.funeralHomeId`)
|
||||||
|
.all();
|
||||||
|
database.release();
|
||||||
|
return funeralHomes;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
import type { Cemetery, FuneralHome } from '../types/recordTypes.js'
|
||||||
|
|
||||||
|
import { acquireConnection } from './pool.js'
|
||||||
|
|
||||||
|
export default async function getFuneralHomes(): Promise<FuneralHome[]> {
|
||||||
|
const database = await acquireConnection()
|
||||||
|
|
||||||
|
const funeralHomes = database
|
||||||
|
.prepare(
|
||||||
|
`select funeralHomeId, funeralHomeName,
|
||||||
|
funeralHomeAddress1, funeralHomeAddress2,
|
||||||
|
funeralHomeCity, funeralHomeProvince, funeralHomePostalCode, funeralHomePhoneNumber
|
||||||
|
from FuneralHomes f
|
||||||
|
where f.recordDelete_timeMillis is null
|
||||||
|
order by f.funeralHomeName, f.funeralHomeId`
|
||||||
|
)
|
||||||
|
.all() as Cemetery[]
|
||||||
|
|
||||||
|
database.release()
|
||||||
|
|
||||||
|
return funeralHomes
|
||||||
|
}
|
||||||
|
|
@ -28,11 +28,7 @@ export default async function getReportData(reportName, reportParameters = {}) {
|
||||||
case 'burialSites-byBurialSiteTypeId': {
|
case 'burialSites-byBurialSiteTypeId': {
|
||||||
sql = `select l.burialSiteId,
|
sql = `select l.burialSiteId,
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
t.burialSiteType,
|
t.burialSiteType,
|
||||||
s.burialSiteStatus
|
s.burialSiteStatus
|
||||||
from BurialSites l
|
from BurialSites l
|
||||||
|
|
@ -47,11 +43,7 @@ export default async function getReportData(reportName, reportParameters = {}) {
|
||||||
case 'burialSites-byBurialSiteStatusId': {
|
case 'burialSites-byBurialSiteStatusId': {
|
||||||
sql = `select l.burialSiteId,
|
sql = `select l.burialSiteId,
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
t.burialSiteType,
|
t.burialSiteType,
|
||||||
s.burialSiteStatus
|
s.burialSiteStatus
|
||||||
from BurialSites l
|
from BurialSites l
|
||||||
|
|
@ -66,11 +58,7 @@ export default async function getReportData(reportName, reportParameters = {}) {
|
||||||
case 'burialSites-byCemeteryId': {
|
case 'burialSites-byCemeteryId': {
|
||||||
sql = `select l.burialSiteId,
|
sql = `select l.burialSiteId,
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
t.burialSiteType,
|
t.burialSiteType,
|
||||||
s.burialSiteStatus
|
s.burialSiteStatus
|
||||||
from BurialSites l
|
from BurialSites l
|
||||||
|
|
@ -96,11 +84,7 @@ export default async function getReportData(reportName, reportParameters = {}) {
|
||||||
}
|
}
|
||||||
case 'contracts-current-byCemeteryId': {
|
case 'contracts-current-byCemeteryId': {
|
||||||
sql = `select o.contractId,
|
sql = `select o.contractId,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
ot.contractType,
|
ot.contractType,
|
||||||
o.contractStartDate,
|
o.contractStartDate,
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,7 @@ export default async function getReportData(
|
||||||
case 'burialSites-byBurialSiteTypeId': {
|
case 'burialSites-byBurialSiteTypeId': {
|
||||||
sql = `select l.burialSiteId,
|
sql = `select l.burialSiteId,
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
t.burialSiteType,
|
t.burialSiteType,
|
||||||
s.burialSiteStatus
|
s.burialSiteStatus
|
||||||
from BurialSites l
|
from BurialSites l
|
||||||
|
|
@ -68,11 +64,7 @@ export default async function getReportData(
|
||||||
case 'burialSites-byBurialSiteStatusId': {
|
case 'burialSites-byBurialSiteStatusId': {
|
||||||
sql = `select l.burialSiteId,
|
sql = `select l.burialSiteId,
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
t.burialSiteType,
|
t.burialSiteType,
|
||||||
s.burialSiteStatus
|
s.burialSiteStatus
|
||||||
from BurialSites l
|
from BurialSites l
|
||||||
|
|
@ -90,11 +82,7 @@ export default async function getReportData(
|
||||||
case 'burialSites-byCemeteryId': {
|
case 'burialSites-byCemeteryId': {
|
||||||
sql = `select l.burialSiteId,
|
sql = `select l.burialSiteId,
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
t.burialSiteType,
|
t.burialSiteType,
|
||||||
s.burialSiteStatus
|
s.burialSiteStatus
|
||||||
from BurialSites l
|
from BurialSites l
|
||||||
|
|
@ -126,11 +114,7 @@ export default async function getReportData(
|
||||||
|
|
||||||
case 'contracts-current-byCemeteryId': {
|
case 'contracts-current-byCemeteryId': {
|
||||||
sql = `select o.contractId,
|
sql = `select o.contractId,
|
||||||
l.burialSiteNameSegment1,
|
l.burialSiteName,
|
||||||
l.burialSiteNameSegment2,
|
|
||||||
l.burialSiteNameSegment3,
|
|
||||||
l.burialSiteNameSegment4,
|
|
||||||
l.burialSiteNameSegment5,
|
|
||||||
m.cemeteryName,
|
m.cemeteryName,
|
||||||
ot.contractType,
|
ot.contractType,
|
||||||
o.contractStartDate,
|
o.contractStartDate,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
export interface UpdateForm {
|
||||||
|
funeralHomeId: number | string;
|
||||||
|
funeralHomeName: string;
|
||||||
|
funeralHomeAddress1: string;
|
||||||
|
funeralHomeAddress2: string;
|
||||||
|
funeralHomeCity: string;
|
||||||
|
funeralHomeProvince: string;
|
||||||
|
funeralHomePostalCode: string;
|
||||||
|
funeralHomePhoneNumber: string;
|
||||||
|
}
|
||||||
|
export default function updateFuneralHome(updateForm: UpdateForm, user: User): Promise<boolean>;
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { acquireConnection } from './pool.js';
|
||||||
|
export default async function updateFuneralHome(updateForm, user) {
|
||||||
|
const database = await acquireConnection();
|
||||||
|
const rightNowMillis = Date.now();
|
||||||
|
const result = database
|
||||||
|
.prepare(`update FuneralHomes
|
||||||
|
set funeralHomeName = ?,
|
||||||
|
funeralHomeAddress1 = ?, funeralHomeAddress2 = ?,
|
||||||
|
funeralHomeCity = ?, funeralHomeProvince = ?, funeralHomePostalCode = ?, funeralHomePhoneNumber = ?,
|
||||||
|
recordUpdate_userName = ?, recordUpdate_timeMillis = ?
|
||||||
|
where recordDelete_timeMillis is null
|
||||||
|
and funeralHomeId = ?`)
|
||||||
|
.run(updateForm.funeralHomeName, updateForm.funeralHomeAddress1, updateForm.funeralHomeAddress2, updateForm.funeralHomeCity, updateForm.funeralHomeProvince, updateForm.funeralHomePostalCode, updateForm.funeralHomePhoneNumber, user.userName, rightNowMillis, updateForm.funeralHomeId);
|
||||||
|
database.release();
|
||||||
|
return result.changes > 0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
import { acquireConnection } from './pool.js'
|
||||||
|
|
||||||
|
export interface UpdateForm {
|
||||||
|
funeralHomeId: number | string
|
||||||
|
funeralHomeName: string
|
||||||
|
funeralHomeAddress1: string
|
||||||
|
funeralHomeAddress2: string
|
||||||
|
funeralHomeCity: string
|
||||||
|
funeralHomeProvince: string
|
||||||
|
funeralHomePostalCode: string
|
||||||
|
funeralHomePhoneNumber: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function updateFuneralHome(
|
||||||
|
updateForm: UpdateForm,
|
||||||
|
user: User
|
||||||
|
): Promise<boolean> {
|
||||||
|
const database = await acquireConnection()
|
||||||
|
|
||||||
|
const rightNowMillis = Date.now()
|
||||||
|
|
||||||
|
const result = database
|
||||||
|
.prepare(
|
||||||
|
`update FuneralHomes
|
||||||
|
set funeralHomeName = ?,
|
||||||
|
funeralHomeAddress1 = ?, funeralHomeAddress2 = ?,
|
||||||
|
funeralHomeCity = ?, funeralHomeProvince = ?, funeralHomePostalCode = ?, funeralHomePhoneNumber = ?,
|
||||||
|
recordUpdate_userName = ?, recordUpdate_timeMillis = ?
|
||||||
|
where recordDelete_timeMillis is null
|
||||||
|
and funeralHomeId = ?`
|
||||||
|
)
|
||||||
|
.run(
|
||||||
|
updateForm.funeralHomeName,
|
||||||
|
updateForm.funeralHomeAddress1,
|
||||||
|
updateForm.funeralHomeAddress2,
|
||||||
|
updateForm.funeralHomeCity,
|
||||||
|
updateForm.funeralHomeProvince,
|
||||||
|
updateForm.funeralHomePostalCode,
|
||||||
|
updateForm.funeralHomePhoneNumber,
|
||||||
|
user.userName,
|
||||||
|
rightNowMillis,
|
||||||
|
updateForm.funeralHomeId
|
||||||
|
)
|
||||||
|
|
||||||
|
database.release()
|
||||||
|
|
||||||
|
return result.changes > 0
|
||||||
|
}
|
||||||
|
|
@ -1,15 +1,12 @@
|
||||||
import { getSolidIconClasses } from '@cityssm/font-awesome-v5-iconclasses';
|
|
||||||
import { getBurialSiteStatuses, getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js';
|
import { getBurialSiteStatuses, getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js';
|
||||||
export default async function handler(_request, response) {
|
export default async function handler(_request, response) {
|
||||||
const workOrderTypes = await getWorkOrderTypes();
|
const workOrderTypes = await getWorkOrderTypes();
|
||||||
const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes();
|
const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes();
|
||||||
const burialSiteStatuses = await getBurialSiteStatuses();
|
const burialSiteStatuses = await getBurialSiteStatuses();
|
||||||
const fontAwesomeIconClasses = await getSolidIconClasses();
|
|
||||||
response.render('admin-tables', {
|
response.render('admin-tables', {
|
||||||
headTitle: 'Config Table Management',
|
headTitle: 'Config Table Management',
|
||||||
workOrderTypes,
|
workOrderTypes,
|
||||||
workOrderMilestoneTypes,
|
workOrderMilestoneTypes,
|
||||||
burialSiteStatuses,
|
burialSiteStatuses
|
||||||
fontAwesomeIconClasses
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,10 @@ export default async function handler(
|
||||||
const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
|
const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
|
||||||
const burialSiteStatuses = await getBurialSiteStatuses()
|
const burialSiteStatuses = await getBurialSiteStatuses()
|
||||||
|
|
||||||
const fontAwesomeIconClasses = await getSolidIconClasses()
|
|
||||||
|
|
||||||
response.render('admin-tables', {
|
response.render('admin-tables', {
|
||||||
headTitle: 'Config Table Management',
|
headTitle: 'Config Table Management',
|
||||||
workOrderTypes,
|
workOrderTypes,
|
||||||
workOrderMilestoneTypes,
|
workOrderMilestoneTypes,
|
||||||
burialSiteStatuses,
|
burialSiteStatuses
|
||||||
fontAwesomeIconClasses
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ function buildEventDescriptionHTML_occupancies(request, milestone) {
|
||||||
descriptionHTML += `<tr>
|
descriptionHTML += `<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="${urlRoot}/contracts/${occupancy.contractId}">
|
<a href="${urlRoot}/contracts/${occupancy.contractId}">
|
||||||
${escapeHTML(occupancy.occupancyType ?? '')}
|
${escapeHTML(occupancy.contractType ?? '')}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ function buildEventDescriptionHTML_occupancies(
|
||||||
descriptionHTML += `<tr>
|
descriptionHTML += `<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="${urlRoot}/contracts/${occupancy.contractId}">
|
<a href="${urlRoot}/contracts/${occupancy.contractId}">
|
||||||
${escapeHTML(occupancy.occupancyType ?? '')}
|
${escapeHTML(occupancy.contractType ?? '')}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js';
|
||||||
import { getConfigProperty } from '../../helpers/config.helpers.js';
|
import { getConfigProperty } from '../../helpers/config.helpers.js';
|
||||||
export default async function handler(_request, response) {
|
export default async function handler(_request, response) {
|
||||||
const cemetery = {
|
const cemetery = {
|
||||||
cemeteryCity: getConfigProperty('settings.cemeteries.cityDefault'),
|
cemeteryCity: getConfigProperty('settings.cityDefault'),
|
||||||
cemeteryProvince: getConfigProperty('settings.cemeteries.provinceDefault')
|
cemeteryProvince: getConfigProperty('settings.provinceDefault')
|
||||||
};
|
};
|
||||||
const cemeterySVGs = await getCemeterySVGs();
|
const cemeterySVGs = await getCemeterySVGs();
|
||||||
response.render('cemetery-edit', {
|
response.render('cemetery-edit', {
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ export default async function handler(
|
||||||
response: Response
|
response: Response
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const cemetery: Cemetery = {
|
const cemetery: Cemetery = {
|
||||||
cemeteryCity: getConfigProperty('settings.cemeteries.cityDefault'),
|
cemeteryCity: getConfigProperty('settings.cityDefault'),
|
||||||
cemeteryProvince: getConfigProperty('settings.cemeteries.provinceDefault')
|
cemeteryProvince: getConfigProperty('settings.provinceDefault')
|
||||||
}
|
}
|
||||||
|
|
||||||
const cemeterySVGs = await getCemeterySVGs()
|
const cemeterySVGs = await getCemeterySVGs()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
export default function handler(request: Request, response: Response): Promise<void>;
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
import getFuneralHome from '../../database/getFuneralHome.js';
|
||||||
|
import { getConfigProperty } from '../../helpers/config.helpers.js';
|
||||||
|
export default async function handler(request, response) {
|
||||||
|
const funeralHome = await getFuneralHome(request.params.funeralHomeId);
|
||||||
|
if (funeralHome === undefined) {
|
||||||
|
response.redirect(`${getConfigProperty('reverseProxy.urlPrefix')}/funeralHomes/?error=funeralHomeIdNotFound`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
response.render('funeralHome-edit', {
|
||||||
|
headTitle: funeralHome.funeralHomeName,
|
||||||
|
isCreate: false,
|
||||||
|
funeralHome
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import getFuneralHome from '../../database/getFuneralHome.js'
|
||||||
|
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
request: Request,
|
||||||
|
response: Response
|
||||||
|
): Promise<void> {
|
||||||
|
const funeralHome = await getFuneralHome(request.params.funeralHomeId)
|
||||||
|
|
||||||
|
if (funeralHome === undefined) {
|
||||||
|
response.redirect(
|
||||||
|
`${getConfigProperty('reverseProxy.urlPrefix')}/funeralHomes/?error=funeralHomeIdNotFound`
|
||||||
|
)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
response.render('funeralHome-edit', {
|
||||||
|
headTitle: funeralHome.funeralHomeName,
|
||||||
|
isCreate: false,
|
||||||
|
funeralHome
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
export default function handler(_request: Request, response: Response): void;
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
import { getConfigProperty } from '../../helpers/config.helpers.js';
|
||||||
|
export default function handler(_request, response) {
|
||||||
|
const funeralHome = {
|
||||||
|
funeralHomeCity: getConfigProperty('settings.cityDefault'),
|
||||||
|
funeralHomeProvince: getConfigProperty('settings.provinceDefault')
|
||||||
|
};
|
||||||
|
response.render('funeralHome-edit', {
|
||||||
|
headTitle: `Create a Funeral Home`,
|
||||||
|
isCreate: true,
|
||||||
|
funeralHome
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||||
|
import type { FuneralHome } from '../../types/recordTypes.js'
|
||||||
|
|
||||||
|
export default function handler(_request: Request, response: Response): void {
|
||||||
|
const funeralHome: FuneralHome = {
|
||||||
|
funeralHomeCity: getConfigProperty('settings.cityDefault'),
|
||||||
|
funeralHomeProvince: getConfigProperty('settings.provinceDefault')
|
||||||
|
}
|
||||||
|
|
||||||
|
response.render('funeralHome-edit', {
|
||||||
|
headTitle: `Create a Funeral Home`,
|
||||||
|
isCreate: true,
|
||||||
|
funeralHome
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
export default function handler(_request: Request, response: Response): Promise<void>;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import getFuneralHomes from '../../database/getFuneralHomes.js';
|
||||||
|
export default async function handler(_request, response) {
|
||||||
|
const funeralHomes = await getFuneralHomes();
|
||||||
|
response.render('funeralHome-search', {
|
||||||
|
headTitle: `Funeral Home Search`,
|
||||||
|
funeralHomes
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import getFuneralHomes from '../../database/getFuneralHomes.js'
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
_request: Request,
|
||||||
|
response: Response
|
||||||
|
): Promise<void> {
|
||||||
|
const funeralHomes = await getFuneralHomes()
|
||||||
|
|
||||||
|
response.render('funeralHome-search', {
|
||||||
|
headTitle: `Funeral Home Search`,
|
||||||
|
funeralHomes
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
export default function handler(request: Request, response: Response): Promise<void>;
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
import getFuneralHome from '../../database/getFuneralHome.js';
|
||||||
|
import { getConfigProperty } from '../../helpers/config.helpers.js';
|
||||||
|
export default async function handler(request, response) {
|
||||||
|
const funeralHome = await getFuneralHome(request.params.funeralHomeId);
|
||||||
|
if (funeralHome === undefined) {
|
||||||
|
response.redirect(`${getConfigProperty('reverseProxy.urlPrefix')}/funeralHomes/?error=funeralHomeIdNotFound`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
response.render('funeralHome-view', {
|
||||||
|
headTitle: funeralHome.funeralHomeName,
|
||||||
|
isCreate: false,
|
||||||
|
funeralHome
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import getFuneralHome from '../../database/getFuneralHome.js'
|
||||||
|
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
request: Request,
|
||||||
|
response: Response
|
||||||
|
): Promise<void> {
|
||||||
|
const funeralHome = await getFuneralHome(request.params.funeralHomeId)
|
||||||
|
|
||||||
|
if (funeralHome === undefined) {
|
||||||
|
response.redirect(
|
||||||
|
`${getConfigProperty('reverseProxy.urlPrefix')}/funeralHomes/?error=funeralHomeIdNotFound`
|
||||||
|
)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
response.render('funeralHome-view', {
|
||||||
|
headTitle: funeralHome.funeralHomeName,
|
||||||
|
isCreate: false,
|
||||||
|
funeralHome
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
import { type AddForm } from '../../database/addFuneralHome.js';
|
||||||
|
export default function handler(request: Request<unknown, unknown, AddForm>, response: Response): Promise<void>;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import addFuneralHome from '../../database/addFuneralHome.js';
|
||||||
|
export default async function handler(request, response) {
|
||||||
|
const funeralHomeId = await addFuneralHome(request.body, request.session.user);
|
||||||
|
response.json({
|
||||||
|
success: true,
|
||||||
|
funeralHomeId
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import addFuneralHome, { type AddForm } from '../../database/addFuneralHome.js'
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
request: Request<unknown, unknown, AddForm>,
|
||||||
|
response: Response
|
||||||
|
): Promise<void> {
|
||||||
|
const funeralHomeId = await addFuneralHome(
|
||||||
|
request.body,
|
||||||
|
request.session.user as User
|
||||||
|
)
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success: true,
|
||||||
|
funeralHomeId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
export default function handler(request: Request<unknown, unknown, {
|
||||||
|
funeralHomeId: string | number;
|
||||||
|
}>, response: Response): Promise<void>;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import { deleteRecord } from '../../database/deleteRecord.js';
|
||||||
|
export default async function handler(request, response) {
|
||||||
|
const success = await deleteRecord('FuneralHomes', request.body.funeralHomeId, request.session.user);
|
||||||
|
response.json({
|
||||||
|
success
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import { deleteRecord } from '../../database/deleteRecord.js'
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
request: Request<unknown, unknown, { funeralHomeId: string | number }>,
|
||||||
|
response: Response
|
||||||
|
): Promise<void> {
|
||||||
|
const success = await deleteRecord(
|
||||||
|
'FuneralHomes',
|
||||||
|
request.body.funeralHomeId,
|
||||||
|
request.session.user as User
|
||||||
|
)
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
import type { Request, Response } from 'express';
|
||||||
|
import { type UpdateForm } from '../../database/updateFuneralHome.js';
|
||||||
|
export default function handler(request: Request<unknown, unknown, UpdateForm>, response: Response): Promise<void>;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
import updateFuneralHome from '../../database/updateFuneralHome.js';
|
||||||
|
export default async function handler(request, response) {
|
||||||
|
const success = await updateFuneralHome(request.body, request.session.user);
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
funeralHomeId: request.body.funeralHomeId
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
|
import updateFuneralHome, {
|
||||||
|
type UpdateForm
|
||||||
|
} from '../../database/updateFuneralHome.js'
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
request: Request<unknown, unknown, UpdateForm>,
|
||||||
|
response: Response
|
||||||
|
): Promise<void> {
|
||||||
|
const success = await updateFuneralHome(
|
||||||
|
request.body,
|
||||||
|
request.session.user as User
|
||||||
|
)
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
funeralHomeId: request.body.funeralHomeId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -1,2 +1,5 @@
|
||||||
import type { Request, Response } from 'express';
|
import type { Request, Response } from 'express';
|
||||||
export default function handler(request: Request, response: Response): Promise<void>;
|
import { type ReportParameters } from '../../database/getReportData.js';
|
||||||
|
export default function handler(request: Request<{
|
||||||
|
reportName: string;
|
||||||
|
}, unknown, unknown, ReportParameters>, response: Response): Promise<void>;
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,14 @@ import getReportData, {
|
||||||
} from '../../database/getReportData.js'
|
} from '../../database/getReportData.js'
|
||||||
|
|
||||||
export default async function handler(
|
export default async function handler(
|
||||||
request: Request,
|
request: Request<{ reportName: string }, unknown, unknown, ReportParameters>,
|
||||||
response: Response
|
response: Response
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const reportName = request.params.reportName
|
const reportName = request.params.reportName
|
||||||
|
|
||||||
const rows = await getReportData(
|
const rows = await getReportData(
|
||||||
reportName,
|
reportName,
|
||||||
request.query as ReportParameters
|
request.query
|
||||||
)
|
)
|
||||||
|
|
||||||
if (rows === undefined) {
|
if (rows === undefined) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="modal-card has-width-900">
|
<div class="modal-card has-width-900">
|
||||||
<header class="modal-card-head">
|
<header class="modal-card-head">
|
||||||
<h3 class="modal-card-title">
|
<h3 class="modal-card-title">
|
||||||
Add <span class="alias" data-alias="Occupancy"></span> Type
|
Add Contract Type
|
||||||
</h3>
|
</h3>
|
||||||
<button
|
<button
|
||||||
class="delete is-close-modal-button"
|
class="delete is-close-modal-button"
|
||||||
|
|
@ -12,16 +12,16 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--occupancyTypeAdd">
|
<form id="form--contractTypeAdd">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypeAdd--occupancyType"
|
<label class="label" for="contractTypeAdd--contractType"
|
||||||
><span class="alias" data-alias="Occupancy"></span> Type</label
|
>Contract Type</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeAdd--occupancyType"
|
id="contractTypeAdd--contractType"
|
||||||
name="occupancyType"
|
name="contractType"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
required
|
required
|
||||||
|
|
@ -34,10 +34,10 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--occupancyTypeAdd"
|
form="form--contractTypeAdd"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add <span class="alias" data-alias="Occupancy"></span> Type</span>
|
<span>Add Contract Type</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-close-modal-button" type="button">Cancel</button>
|
<button class="button is-close-modal-button" type="button">Cancel</button>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="modal-card has-width-900">
|
<div class="modal-card has-width-900">
|
||||||
<header class="modal-card-head">
|
<header class="modal-card-head">
|
||||||
<h3 class="modal-card-title">
|
<h3 class="modal-card-title">
|
||||||
Add <span class="alias" data-alias="Occupancy"></span> Type Field
|
Add Contract Type Field
|
||||||
</h3>
|
</h3>
|
||||||
<button
|
<button
|
||||||
class="delete is-close-modal-button"
|
class="delete is-close-modal-button"
|
||||||
|
|
@ -12,22 +12,22 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--occupancyTypeFieldAdd">
|
<form id="form--contractTypeFieldAdd">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldAdd--occupancyTypeId"
|
id="contractTypeFieldAdd--contractTypeId"
|
||||||
name="occupancyTypeId"
|
name="contractTypeId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
/>
|
/>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypeFieldAdd--occupancyTypeField"
|
<label class="label" for="contractTypeFieldAdd--contractTypeField"
|
||||||
>New Field Name</label
|
>New Field Name</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldAdd--occupancyTypeField"
|
id="contractTypeFieldAdd--contractTypeField"
|
||||||
name="occupancyTypeField"
|
name="contractTypeField"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
required
|
required
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--occupancyTypeFieldAdd"
|
form="form--contractTypeFieldAdd"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Field</span>
|
<span>Add Field</span>
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="modal-card">
|
<div class="modal-card">
|
||||||
<header class="modal-card-head">
|
<header class="modal-card-head">
|
||||||
<h3 class="modal-card-title">
|
<h3 class="modal-card-title">
|
||||||
Add <span class="alias" data-alias="Occupancy"></span> Type Print
|
Add Contract Type Print
|
||||||
</h3>
|
</h3>
|
||||||
<button
|
<button
|
||||||
class="delete is-close-modal-button"
|
class="delete is-close-modal-button"
|
||||||
|
|
@ -12,21 +12,21 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--occupancyTypePrintAdd">
|
<form id="form--contractTypePrintAdd">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypePrintAdd--occupancyTypeId"
|
id="contractTypePrintAdd--contractTypeId"
|
||||||
name="occupancyTypeId"
|
name="contractTypeId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
/>
|
/>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypePrintAdd--printEJS"
|
<label class="label" for="contractTypePrintAdd--printEJS"
|
||||||
>Print</label
|
>Print</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select
|
<select
|
||||||
id="occupancyTypePrintAdd--printEJS"
|
id="contractTypePrintAdd--printEJS"
|
||||||
name="printEJS"
|
name="printEJS"
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--occupancyTypePrintAdd"
|
form="form--contractTypePrintAdd"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Print</span>
|
<span>Add Print</span>
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="modal-card has-width-900">
|
<div class="modal-card has-width-900">
|
||||||
<header class="modal-card-head">
|
<header class="modal-card-head">
|
||||||
<h3 class="modal-card-title">
|
<h3 class="modal-card-title">
|
||||||
Update <span class="alias" data-alias="Occupancy"></span> Type
|
Update Contract Type
|
||||||
</h3>
|
</h3>
|
||||||
<button
|
<button
|
||||||
class="delete is-close-modal-button"
|
class="delete is-close-modal-button"
|
||||||
|
|
@ -12,22 +12,22 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--occupancyTypeEdit">
|
<form id="form--contractTypeEdit">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeEdit--occupancyTypeId"
|
id="contractTypeEdit--contractTypeId"
|
||||||
name="occupancyTypeId"
|
name="contractTypeId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
/>
|
/>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypeEdit--occupancyType"
|
<label class="label" for="contractTypeEdit--contractType"
|
||||||
><span class="alias" data-alias="Occupancy"></span> Type</label
|
>Contract Type</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeEdit--occupancyType"
|
id="contractTypeEdit--contractType"
|
||||||
name="occupancyType"
|
name="contractType"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
required
|
required
|
||||||
|
|
@ -40,11 +40,11 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--occupancyTypeEdit"
|
form="form--contractTypeEdit"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||||
<span
|
<span
|
||||||
>Update <span class="alias" data-alias="Occupancy"></span> Type</span
|
>Update Contract Type</span
|
||||||
>
|
>
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-close-modal-button" type="button">Cancel</button>
|
<button class="button is-close-modal-button" type="button">Cancel</button>
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="modal-card has-width-900">
|
<div class="modal-card has-width-900">
|
||||||
<header class="modal-card-head">
|
<header class="modal-card-head">
|
||||||
<h3 class="modal-card-title">
|
<h3 class="modal-card-title">
|
||||||
Update <span class="alias" data-alias="Occupancy"></span> Type Field
|
Update Contract Type Field
|
||||||
</h3>
|
</h3>
|
||||||
<button
|
<button
|
||||||
class="delete is-close-modal-button"
|
class="delete is-close-modal-button"
|
||||||
|
|
@ -12,11 +12,11 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--occupancyTypeFieldEdit">
|
<form id="form--contractTypeFieldEdit">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldEdit--occupancyTypeFieldId"
|
id="contractTypeFieldEdit--contractTypeFieldId"
|
||||||
name="occupancyTypeFieldId"
|
name="contractTypeFieldId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
/>
|
/>
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
|
|
@ -24,14 +24,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="occupancyTypeFieldEdit--occupancyTypeField"
|
for="contractTypeFieldEdit--contractTypeField"
|
||||||
>Field Name</label
|
>Field Name</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldEdit--occupancyTypeField"
|
id="contractTypeFieldEdit--contractTypeField"
|
||||||
name="occupancyTypeField"
|
name="contractTypeField"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
required
|
required
|
||||||
|
|
@ -41,13 +41,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypeFieldEdit--isRequired"
|
<label class="label" for="contractTypeFieldEdit--isRequired"
|
||||||
>Required</label
|
>Required</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select
|
<select
|
||||||
id="occupancyTypeFieldEdit--isRequired"
|
id="contractTypeFieldEdit--isRequired"
|
||||||
name="isRequired"
|
name="isRequired"
|
||||||
>
|
>
|
||||||
<option value="0">Not Required</option>
|
<option value="0">Not Required</option>
|
||||||
|
|
@ -62,13 +62,13 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column is-5">
|
<div class="column is-5">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypeFieldEdit--fieldType"
|
<label class="label" for="contractTypeFieldEdit--fieldType"
|
||||||
>Field Type</label
|
>Field Type</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select
|
<select
|
||||||
id="occupancyTypeFieldEdit--fieldType"
|
id="contractTypeFieldEdit--fieldType"
|
||||||
name="fieldType"
|
name="fieldType"
|
||||||
>
|
>
|
||||||
<option value="text">Text Field</option>
|
<option value="text">Text Field</option>
|
||||||
|
|
@ -83,13 +83,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="occupancyTypeFieldEdit--minLength"
|
for="contractTypeFieldEdit--minLength"
|
||||||
>Minimum Length</label
|
>Minimum Length</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldEdit--minLength"
|
id="contractTypeFieldEdit--minLength"
|
||||||
name="minLength"
|
name="minLength"
|
||||||
type="number"
|
type="number"
|
||||||
min="0"
|
min="0"
|
||||||
|
|
@ -104,13 +104,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="occupancyTypeFieldEdit--maxLength"
|
for="contractTypeFieldEdit--maxLength"
|
||||||
>Maximum Length</label
|
>Maximum Length</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldEdit--maxLength"
|
id="contractTypeFieldEdit--maxLength"
|
||||||
name="maxLength"
|
name="maxLength"
|
||||||
type="number"
|
type="number"
|
||||||
min="0"
|
min="0"
|
||||||
|
|
@ -123,13 +123,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="occupancyTypeFieldEdit--pattern"
|
<label class="label" for="contractTypeFieldEdit--pattern"
|
||||||
>Regular Expression</label
|
>Regular Expression</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="occupancyTypeFieldEdit--pattern"
|
id="contractTypeFieldEdit--pattern"
|
||||||
name="pattern"
|
name="pattern"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
|
|
@ -141,14 +141,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="occupancyTypeFieldEdit--occupancyTypeFieldValues"
|
for="contractTypeFieldEdit--fieldValues"
|
||||||
>Field Values</label
|
>Field Values</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="occupancyTypeFieldEdit--occupancyTypeFieldValues"
|
id="contractTypeFieldEdit--fieldValues"
|
||||||
name="occupancyTypeFieldValues"
|
name="fieldValues"
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
<p class="help is-info">
|
<p class="help is-info">
|
||||||
|
|
@ -164,7 +164,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--occupancyTypeFieldEdit"
|
form="form--contractTypeFieldEdit"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||||
<span>Update Field</span>
|
<span>Update Field</span>
|
||||||
|
|
@ -182,7 +182,7 @@
|
||||||
<div class="dropdown-content">
|
<div class="dropdown-content">
|
||||||
<a
|
<a
|
||||||
class="dropdown-item"
|
class="dropdown-item"
|
||||||
id="button--deleteOccupancyTypeField"
|
id="button--deleteContractTypeField"
|
||||||
href="#"
|
href="#"
|
||||||
>
|
>
|
||||||
<span class="icon is-small"
|
<span class="icon is-small"
|
||||||
|
|
@ -78,13 +78,13 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="feeAdd--occupancyTypeId"
|
<label class="label" for="feeAdd--contractTypeId"
|
||||||
><span class="alias" data-alias="Occupancy"></span> Type
|
><span class="alias" data-alias="Occupancy"></span> Type
|
||||||
Filter</label
|
Filter</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select id="feeAdd--occupancyTypeId" name="occupancyTypeId">
|
<select id="feeAdd--contractTypeId" name="contractTypeId">
|
||||||
<option value="">(All Types)</option>
|
<option value="">(All Types)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -79,13 +79,13 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="feeEdit--occupancyTypeId"
|
<label class="label" for="feeEdit--contractTypeId"
|
||||||
><span class="alias" data-alias="Occupancy"></span> Type
|
><span class="alias" data-alias="Occupancy"></span> Type
|
||||||
Filter</label
|
Filter</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select id="feeEdit--occupancyTypeId" name="occupancyTypeId">
|
<select id="feeEdit--contractTypeId" name="contractTypeId">
|
||||||
<option value="">(All Types)</option>
|
<option value="">(All Types)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -12,46 +12,46 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyOccupantEdit">
|
<form id="form--contractOccupantEdit">
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyOccupantEdit--lotOccupancyId"
|
id="contractOccupantEdit--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyOccupantEdit--lotOccupantIndex"
|
id="contractOccupantEdit--lotOccupantIndex"
|
||||||
name="lotOccupantIndex"
|
name="lotOccupantIndex"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<label class="label" for="lotOccupancyOccupantEdit--lotOccupantTypeId"
|
<label class="label" for="contractOccupantEdit--lotOccupantTypeId"
|
||||||
><span class="alias" data-alias="Occupant"></span> Type</label
|
><span class="alias" data-alias="Occupant"></span> Type</label
|
||||||
>
|
>
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select
|
<select
|
||||||
id="lotOccupancyOccupantEdit--lotOccupantTypeId"
|
id="contractOccupantEdit--lotOccupantTypeId"
|
||||||
name="lotOccupantTypeId"
|
name="lotOccupantTypeId"
|
||||||
required
|
required
|
||||||
></select>
|
></select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<span class="button is-static" id="lotOccupancyOccupantEdit--fontAwesomeIconClass"></span>
|
<span class="button is-static" id="contractOccupantEdit--fontAwesomeIconClass"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns mt-2 mb-0">
|
<div class="columns mt-2 mb-0">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyOccupantEdit--occupantName"
|
<label class="label" for="contractOccupantEdit--occupantName"
|
||||||
><span class="alias" data-alias="Occupant"></span> Name</label
|
><span class="alias" data-alias="Occupant"></span> Name</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantName"
|
id="contractOccupantEdit--occupantName"
|
||||||
name="occupantName"
|
name="occupantName"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
|
|
@ -63,13 +63,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyOccupantEdit--occupantFamilyName"
|
<label class="label" for="contractOccupantEdit--occupantFamilyName"
|
||||||
>Family Name</label
|
>Family Name</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantFamilyName"
|
id="contractOccupantEdit--occupantFamilyName"
|
||||||
name="occupantFamilyName"
|
name="occupantFamilyName"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
|
|
@ -80,13 +80,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyOccupantEdit--occupantAddress1"
|
<label class="label" for="contractOccupantEdit--occupantAddress1"
|
||||||
>Address</label
|
>Address</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantAddress1"
|
id="contractOccupantEdit--occupantAddress1"
|
||||||
name="occupantAddress1"
|
name="occupantAddress1"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="50"
|
maxlength="50"
|
||||||
|
|
@ -99,7 +99,7 @@
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantAddress2"
|
id="contractOccupantEdit--occupantAddress2"
|
||||||
name="occupantAddress2"
|
name="occupantAddress2"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="50"
|
maxlength="50"
|
||||||
|
|
@ -112,13 +112,13 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyOccupantEdit--occupantCity"
|
<label class="label" for="contractOccupantEdit--occupantCity"
|
||||||
>City</label
|
>City</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantCity"
|
id="contractOccupantEdit--occupantCity"
|
||||||
name="occupantCity"
|
name="occupantCity"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="20"
|
maxlength="20"
|
||||||
|
|
@ -130,13 +130,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantEdit--occupantProvince"
|
for="contractOccupantEdit--occupantProvince"
|
||||||
>Province</label
|
>Province</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantProvince"
|
id="contractOccupantEdit--occupantProvince"
|
||||||
name="occupantProvince"
|
name="occupantProvince"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="2"
|
maxlength="2"
|
||||||
|
|
@ -148,13 +148,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantEdit--occupantPostalCode"
|
for="contractOccupantEdit--occupantPostalCode"
|
||||||
>Postal Code</label
|
>Postal Code</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantPostalCode"
|
id="contractOccupantEdit--occupantPostalCode"
|
||||||
name="occupantPostalCode"
|
name="occupantPostalCode"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="7"
|
maxlength="7"
|
||||||
|
|
@ -168,14 +168,14 @@
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantEdit--occupantPhoneNumber"
|
for="contractOccupantEdit--occupantPhoneNumber"
|
||||||
>Phone Number</label
|
>Phone Number</label
|
||||||
>
|
>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantPhoneNumber"
|
id="contractOccupantEdit--occupantPhoneNumber"
|
||||||
name="occupantPhoneNumber"
|
name="occupantPhoneNumber"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="30"
|
maxlength="30"
|
||||||
|
|
@ -190,14 +190,14 @@
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantEdit--occupantEmailAddress"
|
for="contractOccupantEdit--occupantEmailAddress"
|
||||||
>Email Address</label
|
>Email Address</label
|
||||||
>
|
>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantEdit--occupantEmailAddress"
|
id="contractOccupantEdit--occupantEmailAddress"
|
||||||
name="occupantEmailAddress"
|
name="occupantEmailAddress"
|
||||||
type="email"
|
type="email"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
|
|
@ -213,14 +213,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
id="lotOccupancyOccupantEdit--occupantCommentTitle"
|
id="contractOccupantEdit--occupantCommentTitle"
|
||||||
for="lotOccupancyOccupantEdit--occupantComment"
|
for="contractOccupantEdit--occupantComment"
|
||||||
>Comment</label
|
>Comment</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="lotOccupancyOccupantEdit--occupantComment"
|
id="contractOccupantEdit--occupantComment"
|
||||||
name="occupantComment"
|
name="occupantComment"
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -231,7 +231,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyOccupantEdit"
|
form="form--contractOccupantEdit"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Update <span class="alias" data-alias="Occupant"></span></span>
|
<span>Update <span class="alias" data-alias="Occupant"></span></span>
|
||||||
|
|
@ -10,22 +10,22 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyCommentAdd">
|
<form id="form--contractCommentAdd">
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyCommentAdd--lotOccupancyId"
|
id="contractCommentAdd--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyCommentAdd--lotOccupancyComment"
|
<label class="label" for="contractCommentAdd--contractComment"
|
||||||
>Comment</label
|
>Comment</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="lotOccupancyCommentAdd--lotOccupancyComment"
|
id="contractCommentAdd--contractComment"
|
||||||
name="lotOccupancyComment"
|
name="contractComment"
|
||||||
required
|
required
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyCommentAdd"
|
form="form--contractCommentAdd"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Comment</span>
|
<span>Add Comment</span>
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
<div class="tabs is-boxed">
|
<div class="tabs is-boxed">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="is-active">
|
<li class="is-active">
|
||||||
<a href="#tab--lotOccupancyOccupantAdd-new">
|
<a href="#tab--contractOccupantAdd-new">
|
||||||
<span class="icon is-small">
|
<span class="icon is-small">
|
||||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#tab--lotOccupancyOccupantAdd-copy">
|
<a href="#tab--contractOccupantAdd-copy">
|
||||||
<span class="icon is-small">
|
<span class="icon is-small">
|
||||||
<i class="fas fa-copy" aria-hidden="true"></i>
|
<i class="fas fa-copy" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|
@ -33,24 +33,24 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-container">
|
<div class="tab-container">
|
||||||
<div id="tab--lotOccupancyOccupantAdd-new">
|
<div id="tab--contractOccupantAdd-new">
|
||||||
<form id="form--lotOccupancyOccupantAdd">
|
<form id="form--contractOccupantAdd">
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyOccupantAdd--lotOccupancyId"
|
id="contractOccupantAdd--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--lotOccupantTypeId"
|
for="contractOccupantAdd--lotOccupantTypeId"
|
||||||
><span class="alias" data-alias="Occupant"></span> Type</label
|
><span class="alias" data-alias="Occupant"></span> Type</label
|
||||||
>
|
>
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select
|
<select
|
||||||
id="lotOccupancyOccupantAdd--lotOccupantTypeId"
|
id="contractOccupantAdd--lotOccupantTypeId"
|
||||||
name="lotOccupantTypeId"
|
name="lotOccupantTypeId"
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
|
|
@ -59,7 +59,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<span class="button is-static" id="lotOccupancyOccupantAdd--fontAwesomeIconClass">
|
<span class="button is-static" id="contractOccupantAdd--fontAwesomeIconClass">
|
||||||
<i class="fas fa-fw fa-user" aria-hidden="true"></i>
|
<i class="fas fa-fw fa-user" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -67,13 +67,13 @@
|
||||||
<div class="columns mt-2 mb-0">
|
<div class="columns mt-2 mb-0">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyOccupantAdd--occupantName"
|
<label class="label" for="contractOccupantAdd--occupantName"
|
||||||
><span class="alias" data-alias="Occupant"></span> Name</label
|
><span class="alias" data-alias="Occupant"></span> Name</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantName"
|
id="contractOccupantAdd--occupantName"
|
||||||
name="occupantName"
|
name="occupantName"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
|
|
@ -85,13 +85,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyOccupantAdd--occupantFamilyName"
|
<label class="label" for="contractOccupantAdd--occupantFamilyName"
|
||||||
>Family Name</label
|
>Family Name</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantFamilyName"
|
id="contractOccupantAdd--occupantFamilyName"
|
||||||
name="occupantFamilyName"
|
name="occupantFamilyName"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
|
|
@ -105,13 +105,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--occupantAddress1"
|
for="contractOccupantAdd--occupantAddress1"
|
||||||
>Address</label
|
>Address</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantAddress1"
|
id="contractOccupantAdd--occupantAddress1"
|
||||||
name="occupantAddress1"
|
name="occupantAddress1"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="50"
|
maxlength="50"
|
||||||
|
|
@ -124,7 +124,7 @@
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantAddress2"
|
id="contractOccupantAdd--occupantAddress2"
|
||||||
name="occupantAddress2"
|
name="occupantAddress2"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="50"
|
maxlength="50"
|
||||||
|
|
@ -139,13 +139,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--occupantCity"
|
for="contractOccupantAdd--occupantCity"
|
||||||
>City</label
|
>City</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantCity"
|
id="contractOccupantAdd--occupantCity"
|
||||||
name="occupantCity"
|
name="occupantCity"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="20"
|
maxlength="20"
|
||||||
|
|
@ -157,13 +157,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--occupantProvince"
|
for="contractOccupantAdd--occupantProvince"
|
||||||
>Province</label
|
>Province</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantProvince"
|
id="contractOccupantAdd--occupantProvince"
|
||||||
name="occupantProvince"
|
name="occupantProvince"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="2"
|
maxlength="2"
|
||||||
|
|
@ -175,13 +175,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--occupantPostalCode"
|
for="contractOccupantAdd--occupantPostalCode"
|
||||||
>Postal Code</label
|
>Postal Code</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantPostalCode"
|
id="contractOccupantAdd--occupantPostalCode"
|
||||||
name="occupantPostalCode"
|
name="occupantPostalCode"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="7"
|
maxlength="7"
|
||||||
|
|
@ -195,14 +195,14 @@
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--occupantPhoneNumber"
|
for="contractOccupantAdd--occupantPhoneNumber"
|
||||||
>Phone Number</label
|
>Phone Number</label
|
||||||
>
|
>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantPhoneNumber"
|
id="contractOccupantAdd--occupantPhoneNumber"
|
||||||
name="occupantPhoneNumber"
|
name="occupantPhoneNumber"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="30"
|
maxlength="30"
|
||||||
|
|
@ -217,14 +217,14 @@
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantAdd--occupantEmailAddress"
|
for="contractOccupantAdd--occupantEmailAddress"
|
||||||
>Email Address</label
|
>Email Address</label
|
||||||
>
|
>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantAdd--occupantEmailAddress"
|
id="contractOccupantAdd--occupantEmailAddress"
|
||||||
name="occupantEmailAddress"
|
name="occupantEmailAddress"
|
||||||
type="email"
|
type="email"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
|
|
@ -240,14 +240,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
id="lotOccupancyOccupantAdd--occupantCommentTitle"
|
id="contractOccupantAdd--occupantCommentTitle"
|
||||||
for="lotOccupancyOccupantAdd--occupantComment"
|
for="contractOccupantAdd--occupantComment"
|
||||||
>Comment</label
|
>Comment</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="lotOccupancyOccupantAdd--occupantComment"
|
id="contractOccupantAdd--occupantComment"
|
||||||
name="occupantComment"
|
name="occupantComment"
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -264,18 +264,18 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="is-hidden" id="tab--lotOccupancyOccupantAdd-copy">
|
<div class="is-hidden" id="tab--contractOccupantAdd-copy">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="field mb-4">
|
<div class="field mb-4">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantCopy--lotOccupantTypeId"
|
for="contractOccupantCopy--lotOccupantTypeId"
|
||||||
>New <span class="alias" data-alias="Occupant"></span> Type</label
|
>New <span class="alias" data-alias="Occupant"></span> Type</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select
|
<select
|
||||||
id="lotOccupancyOccupantCopy--lotOccupantTypeId"
|
id="contractOccupantCopy--lotOccupantTypeId"
|
||||||
name="lotOccupantTypeId"
|
name="lotOccupantTypeId"
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
|
|
@ -284,18 +284,18 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form id="form--lotOccupancyOccupantCopy">
|
<form id="form--contractOccupantCopy">
|
||||||
<input name="limit" type="hidden" value="50" />
|
<input name="limit" type="hidden" value="50" />
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyOccupantCopy--searchFilter"
|
for="contractOccupantCopy--searchFilter"
|
||||||
>Find a Previously Used <span class="alias" data-alias="Occupant"></span></label
|
>Find a Previously Used <span class="alias" data-alias="Occupant"></span></label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyOccupantCopy--searchFilter"
|
id="contractOccupantCopy--searchFilter"
|
||||||
name="searchFilter"
|
name="searchFilter"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="Filter by name or address"
|
placeholder="Filter by name or address"
|
||||||
|
|
@ -307,7 +307,7 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div id="lotOccupancyOccupantCopy--searchResults"></div>
|
<div id="contractOccupantCopy--searchResults"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyTransactionAdd">
|
<form id="form--contractTransactionAdd">
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyTransactionAdd--lotOccupancyId"
|
id="contractTransactionAdd--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
|
|
@ -21,13 +21,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyTransactionAdd--transactionAmount"
|
for="contractTransactionAdd--transactionAmount"
|
||||||
>Transaction Amount</label
|
>Transaction Amount</label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input has-text-right"
|
class="input has-text-right"
|
||||||
id="lotOccupancyTransactionAdd--transactionAmount"
|
id="contractTransactionAdd--transactionAmount"
|
||||||
name="transactionAmount"
|
name="transactionAmount"
|
||||||
type="number"
|
type="number"
|
||||||
step="0.01"
|
step="0.01"
|
||||||
|
|
@ -41,14 +41,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyTransactionAdd--externalReceiptNumber"
|
for="contractTransactionAdd--externalReceiptNumber"
|
||||||
>
|
>
|
||||||
<span class="alias" data-alias="ExternalReceiptNumber"></span>
|
<span class="alias" data-alias="ExternalReceiptNumber"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyTransactionAdd--externalReceiptNumber"
|
id="contractTransactionAdd--externalReceiptNumber"
|
||||||
name="externalReceiptNumber"
|
name="externalReceiptNumber"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
|
@ -56,13 +56,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyTransactionAdd--transactionNote"
|
<label class="label" for="contractTransactionAdd--transactionNote"
|
||||||
>Note</label
|
>Note</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="lotOccupancyTransactionAdd--transactionNote"
|
id="contractTransactionAdd--transactionNote"
|
||||||
name="transactionNote"
|
name="transactionNote"
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyTransactionAdd"
|
form="form--contractTransactionAdd"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Transaction</span>
|
<span>Add Transaction</span>
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--workOrderCreate">
|
<form id="form--workOrderCreate">
|
||||||
<input
|
<input
|
||||||
id="workOrderCreate--lotOccupancyId"
|
id="workOrderCreate--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -10,30 +10,30 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyCommentEdit">
|
<form id="form--contractCommentEdit">
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyCommentEdit--lotOccupancyId"
|
id="contractCommentEdit--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyCommentEdit--lotOccupancyCommentId"
|
id="contractCommentEdit--contractCommentId"
|
||||||
name="lotOccupancyCommentId"
|
name="contractCommentId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyCommentEdit--lotOccupancyComment"
|
for="contractCommentEdit--contractComment"
|
||||||
>Comment</label
|
>Comment</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="lotOccupancyCommentEdit--lotOccupancyComment"
|
id="contractCommentEdit--contractComment"
|
||||||
name="lotOccupancyComment"
|
name="contractComment"
|
||||||
required
|
required
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -43,14 +43,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyCommentEdit--lotOccupancyCommentDateString"
|
for="contractCommentEdit--contractCommentDateString"
|
||||||
>Comment Date</label
|
>Comment Date</label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyCommentEdit--lotOccupancyCommentDateString"
|
id="contractCommentEdit--contractCommentDateString"
|
||||||
name="lotOccupancyCommentDateString"
|
name="contractCommentDateString"
|
||||||
type="date"
|
type="date"
|
||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
|
|
@ -64,14 +64,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyCommentEdit--lotOccupancyCommentTimeString"
|
for="contractCommentEdit--contractCommentTimeString"
|
||||||
>Comment Time</label
|
>Comment Time</label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyCommentEdit--lotOccupancyCommentTimeString"
|
id="contractCommentEdit--contractCommentTimeString"
|
||||||
name="lotOccupancyCommentTimeString"
|
name="contractCommentTimeString"
|
||||||
type="time"
|
type="time"
|
||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
|
|
@ -88,7 +88,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyCommentEdit"
|
form="form--contractCommentEdit"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||||
<span>Update Comment</span>
|
<span>Update Comment</span>
|
||||||
|
|
|
||||||
|
|
@ -10,17 +10,17 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyFeeQuantity">
|
<form id="form--contractFeeQuantity">
|
||||||
<input id="lotOccupancyFeeQuantity--lotOccupancyId" name="lotOccupancyId" type="hidden" />
|
<input id="contractFeeQuantity--contractId" name="contractId" type="hidden" />
|
||||||
<input id="lotOccupancyFeeQuantity--feeId" name="feeId" type="hidden" />
|
<input id="contractFeeQuantity--feeId" name="feeId" type="hidden" />
|
||||||
<label class="label" for="lotOccupancyFeeQuantity--quantity"
|
<label class="label" for="contractFeeQuantity--quantity"
|
||||||
>Quantity</label
|
>Quantity</label
|
||||||
>
|
>
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyFeeQuantity--quantity"
|
id="contractFeeQuantity--quantity"
|
||||||
name="quantity"
|
name="quantity"
|
||||||
type="number"
|
type="number"
|
||||||
value="1"
|
value="1"
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<span
|
<span
|
||||||
class="button is-static"
|
class="button is-static"
|
||||||
id="lotOccupancyFeeQuantity--quantityUnit"
|
id="contractFeeQuantity--quantityUnit"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyFeeQuantity"
|
form="form--contractFeeQuantity"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||||
<span>Update Quantity</span>
|
<span>Update Quantity</span>
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,15 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyTransactionEdit">
|
<form id="form--contractTransactionEdit">
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyTransactionEdit--lotOccupancyId"
|
id="contractTransactionEdit--contractId"
|
||||||
name="lotOccupancyId"
|
name="contractId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
id="lotOccupancyTransactionEdit--transactionIndex"
|
id="contractTransactionEdit--transactionIndex"
|
||||||
name="transactionIndex"
|
name="transactionIndex"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyTransactionEdit--transactionAmount"
|
for="contractTransactionEdit--transactionAmount"
|
||||||
>Transaction Amount</label
|
>Transaction Amount</label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input has-text-right"
|
class="input has-text-right"
|
||||||
id="lotOccupancyTransactionEdit--transactionAmount"
|
id="contractTransactionEdit--transactionAmount"
|
||||||
name="transactionAmount"
|
name="transactionAmount"
|
||||||
type="number"
|
type="number"
|
||||||
step="0.01"
|
step="0.01"
|
||||||
|
|
@ -47,14 +47,14 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyTransactionEdit--externalReceiptNumber"
|
for="contractTransactionEdit--externalReceiptNumber"
|
||||||
>
|
>
|
||||||
<span class="alias" data-alias="ExternalReceiptNumber"></span>
|
<span class="alias" data-alias="ExternalReceiptNumber"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyTransactionEdit--externalReceiptNumber"
|
id="contractTransactionEdit--externalReceiptNumber"
|
||||||
name="externalReceiptNumber"
|
name="externalReceiptNumber"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
|
@ -62,13 +62,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancyTransactionEdit--transactionNote"
|
<label class="label" for="contractTransactionEdit--transactionNote"
|
||||||
>Note</label
|
>Note</label
|
||||||
>
|
>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<textarea
|
<textarea
|
||||||
class="textarea"
|
class="textarea"
|
||||||
id="lotOccupancyTransactionEdit--transactionNote"
|
id="contractTransactionEdit--transactionNote"
|
||||||
name="transactionNote"
|
name="transactionNote"
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -78,13 +78,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyTransactionEdit--transactionDateString"
|
for="contractTransactionEdit--transactionDateString"
|
||||||
>Transaction Date</label
|
>Transaction Date</label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyTransactionEdit--transactionDateString"
|
id="contractTransactionEdit--transactionDateString"
|
||||||
name="transactionDateString"
|
name="transactionDateString"
|
||||||
type="date"
|
type="date"
|
||||||
required
|
required
|
||||||
|
|
@ -99,13 +99,13 @@
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label
|
<label
|
||||||
class="label"
|
class="label"
|
||||||
for="lotOccupancyTransactionEdit--transactionTimeString"
|
for="contractTransactionEdit--transactionTimeString"
|
||||||
>Transaction Time</label
|
>Transaction Time</label
|
||||||
>
|
>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyTransactionEdit--transactionTimeString"
|
id="contractTransactionEdit--transactionTimeString"
|
||||||
name="transactionTimeString"
|
name="transactionTimeString"
|
||||||
type="time"
|
type="time"
|
||||||
required
|
required
|
||||||
|
|
@ -123,7 +123,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyTransactionEdit"
|
form="form--contractTransactionEdit"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||||
<span>Update Transaction</span>
|
<span>Update Transaction</span>
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,15 @@
|
||||||
></button>
|
></button>
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<form id="form--lotOccupancyFeeQuantity">
|
<form id="form--contractFeeQuantity">
|
||||||
<label class="label" for="lotOccupancyFeeQuantity--quantity"
|
<label class="label" for="contractFeeQuantity--quantity"
|
||||||
>Quantity</label
|
>Quantity</label
|
||||||
>
|
>
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancyFeeQuantity--quantity"
|
id="contractFeeQuantity--quantity"
|
||||||
name="quantity"
|
name="quantity"
|
||||||
type="number"
|
type="number"
|
||||||
value="1"
|
value="1"
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<span
|
<span
|
||||||
class="button is-static"
|
class="button is-static"
|
||||||
id="lotOccupancyFeeQuantity--quantityUnit"
|
id="contractFeeQuantity--quantityUnit"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<button
|
<button
|
||||||
class="button is-success"
|
class="button is-success"
|
||||||
type="submit"
|
type="submit"
|
||||||
form="form--lotOccupancyFeeQuantity"
|
form="form--contractFeeQuantity"
|
||||||
>
|
>
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Set Quantity and Add Fee</span>
|
<span>Set Quantity and Add Fee</span>
|
||||||
|
|
|
||||||
|
|
@ -14,17 +14,17 @@
|
||||||
</header>
|
</header>
|
||||||
<section class="modal-card-body">
|
<section class="modal-card-body">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<form id="form--lotOccupancySearch">
|
<form id="form--contractSearch">
|
||||||
<input name="limit" type="hidden" value="100" />
|
<input name="limit" type="hidden" value="100" />
|
||||||
<input name="offset" type="hidden" value="0" />
|
<input name="offset" type="hidden" value="0" />
|
||||||
<input
|
<input
|
||||||
id="lotOccupancySearch--notWorkOrderId"
|
id="contractSearch--notWorkOrderId"
|
||||||
name="notWorkOrderId"
|
name="notWorkOrderId"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
id="lotOccupancySearch--occupancyEffectiveDateString"
|
id="contractSearch--occupancyEffectiveDateString"
|
||||||
name="occupancyEffectiveDateString"
|
name="occupancyEffectiveDateString"
|
||||||
type="hidden"
|
type="hidden"
|
||||||
value=""
|
value=""
|
||||||
|
|
@ -32,14 +32,14 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancySearch--occupantName">
|
<label class="label" for="contractSearch--occupantName">
|
||||||
<span class="alias" data-alias="Occupant"></span>
|
<span class="alias" data-alias="Occupant"></span>
|
||||||
Name
|
Name
|
||||||
</label>
|
</label>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancySearch--occupantName"
|
id="contractSearch--occupantName"
|
||||||
name="occupantName"
|
name="occupantName"
|
||||||
type="text"
|
type="text"
|
||||||
/>
|
/>
|
||||||
|
|
@ -51,14 +51,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="lotOccupancySearch--lotName">
|
<label class="label" for="contractSearch--lotName">
|
||||||
<span class="alias" data-alias="Lot"></span>
|
<span class="alias" data-alias="Lot"></span>
|
||||||
Name
|
Name
|
||||||
</label>
|
</label>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
id="lotOccupancySearch--lotName"
|
id="contractSearch--lotName"
|
||||||
name="lotName"
|
name="lotName"
|
||||||
type="text"
|
type="text"
|
||||||
/>
|
/>
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div id="resultsContainer--lotOccupancyAdd"></div>
|
<div id="resultsContainer--contractAdd"></div>
|
||||||
</section>
|
</section>
|
||||||
<footer class="modal-card-foot justify-right">
|
<footer class="modal-card-foot justify-right">
|
||||||
<button class="button is-close-modal-button" type="button">Close</button>
|
<button class="button is-close-modal-button" type="button">Close</button>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const burialSiteId = document.querySelector('#burialSite--burialSiteId').value;
|
const burialSiteId = document.querySelector('#burialSite--burialSiteId').value;
|
||||||
const isCreate = burialSiteId === '';
|
const isCreate = burialSiteId === '';
|
||||||
// Main form
|
// Main form
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,14 @@ import type {
|
||||||
BurialSiteTypeField
|
BurialSiteTypeField
|
||||||
} from '../../types/recordTypes.js'
|
} from '../../types/recordTypes.js'
|
||||||
|
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
declare const bulmaJS: BulmaJS
|
declare const bulmaJS: BulmaJS
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const los = exports.sunrise as Sunrise
|
||||||
|
|
||||||
const burialSiteId = (
|
const burialSiteId = (
|
||||||
document.querySelector('#burialSite--burialSiteId') as HTMLInputElement
|
document.querySelector('#burialSite--burialSiteId') as HTMLInputElement
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const searchFilterFormElement = document.querySelector('#form--searchFilters');
|
const searchFilterFormElement = document.querySelector('#form--searchFilters');
|
||||||
const searchResultsContainerElement = document.querySelector('#container--searchResults');
|
const searchResultsContainerElement = document.querySelector('#container--searchResults');
|
||||||
const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10);
|
const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10);
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@ import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
||||||
|
|
||||||
import type { BurialSite } from '../../types/recordTypes.js'
|
import type { BurialSite } from '../../types/recordTypes.js'
|
||||||
|
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const los = exports.sunrise as Sunrise
|
||||||
|
|
||||||
const searchFilterFormElement = document.querySelector(
|
const searchFilterFormElement = document.querySelector(
|
||||||
'#form--searchFilters'
|
'#form--searchFilters'
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const mapContainerElement = document.querySelector('#burialSite--cemeterySvg');
|
const mapContainerElement = document.querySelector('#burialSite--cemeterySvg');
|
||||||
if (mapContainerElement !== null) {
|
if (mapContainerElement !== null) {
|
||||||
;
|
;
|
||||||
exports.los.highlightMap(mapContainerElement, mapContainerElement.dataset.cemeterySvgId ?? '', 'success');
|
exports.sunrise.highlightMap(mapContainerElement, mapContainerElement.dataset.cemeterySvgId ?? '', 'success');
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
|
|
@ -6,7 +6,7 @@ declare const exports: Record<string, unknown>
|
||||||
document.querySelector('#burialSite--cemeterySvg')
|
document.querySelector('#burialSite--cemeterySvg')
|
||||||
|
|
||||||
if (mapContainerElement !== null) {
|
if (mapContainerElement !== null) {
|
||||||
;(exports.los as LOS).highlightMap(
|
;(exports.sunrise as Sunrise).highlightMap(
|
||||||
mapContainerElement,
|
mapContainerElement,
|
||||||
mapContainerElement.dataset.cemeterySvgId ?? '',
|
mapContainerElement.dataset.cemeterySvgId ?? '',
|
||||||
'success'
|
'success'
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
/* eslint-disable max-lines */
|
/* eslint-disable max-lines */
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const containerElement = document.querySelector('#container--burialSiteTypes');
|
const containerElement = document.querySelector('#container--burialSiteTypes');
|
||||||
let burialSiteTypes = exports.burialSiteTypes;
|
let burialSiteTypes = exports.burialSiteTypes;
|
||||||
delete exports.burialSiteTypes;
|
delete exports.burialSiteTypes;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import type {
|
||||||
BurialSiteTypeField
|
BurialSiteTypeField
|
||||||
} from '../../types/recordTypes.js'
|
} from '../../types/recordTypes.js'
|
||||||
|
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
declare const bulmaJS: BulmaJS
|
declare const bulmaJS: BulmaJS
|
||||||
|
|
@ -27,7 +27,7 @@ type ResponseJSON =
|
||||||
errorMessage?: string
|
errorMessage?: string
|
||||||
}
|
}
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const los = exports.sunrise as Sunrise
|
||||||
|
|
||||||
const containerElement = document.querySelector(
|
const containerElement = document.querySelector(
|
||||||
'#container--burialSiteTypes'
|
'#container--burialSiteTypes'
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,30 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const sunrise = exports.sunrise;
|
||||||
const cemeteryId = document.querySelector('#cemetery--cemeteryId').value;
|
const cemeteryId = document.querySelector('#cemetery--cemeteryId').value;
|
||||||
const isCreate = cemeteryId === '';
|
const isCreate = cemeteryId === '';
|
||||||
const cemeteryForm = document.querySelector('#form--cemetery');
|
const cemeteryForm = document.querySelector('#form--cemetery');
|
||||||
function setUnsavedChanges() {
|
function setUnsavedChanges() {
|
||||||
los.setUnsavedChanges();
|
sunrise.setUnsavedChanges();
|
||||||
document
|
document
|
||||||
.querySelector("button[type='submit'][form='form--cemetery']")
|
.querySelector("button[type='submit'][form='form--cemetery']")
|
||||||
?.classList.remove('is-light');
|
?.classList.remove('is-light');
|
||||||
}
|
}
|
||||||
function clearUnsavedChanges() {
|
function clearUnsavedChanges() {
|
||||||
los.clearUnsavedChanges();
|
sunrise.clearUnsavedChanges();
|
||||||
document
|
document
|
||||||
.querySelector("button[type='submit'][form='form--cemetery']")
|
.querySelector("button[type='submit'][form='form--cemetery']")
|
||||||
?.classList.add('is-light');
|
?.classList.add('is-light');
|
||||||
}
|
}
|
||||||
function updateCemetery(formEvent) {
|
function updateCemetery(formEvent) {
|
||||||
formEvent.preventDefault();
|
formEvent.preventDefault();
|
||||||
cityssm.postJSON(`${los.urlPrefix}/cemeteries/${isCreate ? 'doCreateCemetery' : 'doUpdateCemetery'}`, cemeteryForm, (rawResponseJSON) => {
|
cityssm.postJSON(`${sunrise.urlPrefix}/cemeteries/${isCreate ? 'doCreateCemetery' : 'doUpdateCemetery'}`, cemeteryForm, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
clearUnsavedChanges();
|
clearUnsavedChanges();
|
||||||
if (isCreate) {
|
if (isCreate) {
|
||||||
globalThis.location.href = los.getCemeteryURL(responseJSON.cemeteryId, true);
|
globalThis.location.href = sunrise.getCemeteryURL(responseJSON.cemeteryId, true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
|
|
@ -52,12 +52,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
?.addEventListener('click', (clickEvent) => {
|
?.addEventListener('click', (clickEvent) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(`${los.urlPrefix}/cemeteries/doDeleteCemetery`, {
|
cityssm.postJSON(`${sunrise.urlPrefix}/cemeteries/doDeleteCemetery`, {
|
||||||
cemeteryId
|
cemeteryId
|
||||||
}, (rawResponseJSON) => {
|
}, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
globalThis.location.href = los.getCemeteryURL();
|
globalThis.location.href = sunrise.getCemeteryURL();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
import type { BulmaJS } from '@cityssm/bulma-js/types.js'
|
import type { BulmaJS } from '@cityssm/bulma-js/types.js'
|
||||||
import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
||||||
|
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
declare const bulmaJS: BulmaJS
|
declare const bulmaJS: BulmaJS
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const sunrise = exports.sunrise as Sunrise
|
||||||
|
|
||||||
const cemeteryId = (
|
const cemeteryId = (
|
||||||
document.querySelector('#cemetery--cemeteryId') as HTMLInputElement
|
document.querySelector('#cemetery--cemeteryId') as HTMLInputElement
|
||||||
|
|
@ -20,14 +20,14 @@ declare const exports: Record<string, unknown>
|
||||||
) as HTMLFormElement
|
) as HTMLFormElement
|
||||||
|
|
||||||
function setUnsavedChanges(): void {
|
function setUnsavedChanges(): void {
|
||||||
los.setUnsavedChanges()
|
sunrise.setUnsavedChanges()
|
||||||
document
|
document
|
||||||
.querySelector("button[type='submit'][form='form--cemetery']")
|
.querySelector("button[type='submit'][form='form--cemetery']")
|
||||||
?.classList.remove('is-light')
|
?.classList.remove('is-light')
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearUnsavedChanges(): void {
|
function clearUnsavedChanges(): void {
|
||||||
los.clearUnsavedChanges()
|
sunrise.clearUnsavedChanges()
|
||||||
document
|
document
|
||||||
.querySelector("button[type='submit'][form='form--cemetery']")
|
.querySelector("button[type='submit'][form='form--cemetery']")
|
||||||
?.classList.add('is-light')
|
?.classList.add('is-light')
|
||||||
|
|
@ -37,7 +37,7 @@ declare const exports: Record<string, unknown>
|
||||||
formEvent.preventDefault()
|
formEvent.preventDefault()
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
`${los.urlPrefix}/cemeteries/${isCreate ? 'doCreateCemetery' : 'doUpdateCemetery'}`,
|
`${sunrise.urlPrefix}/cemeteries/${isCreate ? 'doCreateCemetery' : 'doUpdateCemetery'}`,
|
||||||
cemeteryForm,
|
cemeteryForm,
|
||||||
(rawResponseJSON) => {
|
(rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON as {
|
const responseJSON = rawResponseJSON as {
|
||||||
|
|
@ -50,7 +50,7 @@ declare const exports: Record<string, unknown>
|
||||||
clearUnsavedChanges()
|
clearUnsavedChanges()
|
||||||
|
|
||||||
if (isCreate) {
|
if (isCreate) {
|
||||||
globalThis.location.href = los.getCemeteryURL(
|
globalThis.location.href = sunrise.getCemeteryURL(
|
||||||
responseJSON.cemeteryId,
|
responseJSON.cemeteryId,
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
@ -87,7 +87,7 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
function doDelete(): void {
|
function doDelete(): void {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
`${los.urlPrefix}/cemeteries/doDeleteCemetery`,
|
`${sunrise.urlPrefix}/cemeteries/doDeleteCemetery`,
|
||||||
{
|
{
|
||||||
cemeteryId
|
cemeteryId
|
||||||
},
|
},
|
||||||
|
|
@ -98,7 +98,7 @@ declare const exports: Record<string, unknown>
|
||||||
}
|
}
|
||||||
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
globalThis.location.href = los.getCemeteryURL()
|
globalThis.location.href = sunrise.getCemeteryURL()
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: `Error Deleting Cemetery`,
|
title: `Error Deleting Cemetery`,
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const sunrise = exports.sunrise;
|
||||||
const cemeteries = exports.cemeteries;
|
const cemeteries = exports.cemeteries;
|
||||||
const searchFilterElement = document.querySelector('#searchFilter--cemetery');
|
const searchFilterElement = document.querySelector('#searchFilter--cemetery');
|
||||||
const searchResultsContainerElement = document.querySelector('#container--searchResults');
|
const searchResultsContainerElement = document.querySelector('#container--searchResults');
|
||||||
// eslint-disable-next-line complexity
|
// eslint-disable-next-line complexity
|
||||||
function renderResults() {
|
function renderResults() {
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading Cemeteries...`);
|
searchResultsContainerElement.innerHTML = sunrise.getLoadingParagraphHTML(`Loading Cemeteries...`);
|
||||||
let searchResultCount = 0;
|
let searchResultCount = 0;
|
||||||
const searchResultsTbodyElement = document.createElement('tbody');
|
const searchResultsTbodyElement = document.createElement('tbody');
|
||||||
const filterStringSplit = searchFilterElement.value
|
const filterStringSplit = searchFilterElement.value
|
||||||
|
|
@ -31,7 +31,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
// eslint-disable-next-line no-unsanitized/method
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
searchResultsTbodyElement.insertAdjacentHTML('beforeend', `<tr>
|
searchResultsTbodyElement.insertAdjacentHTML('beforeend', `<tr>
|
||||||
<td>
|
<td>
|
||||||
<a class="has-text-weight-bold" href="${los.getCemeteryURL(cemetery.cemeteryId)}">
|
<a class="has-text-weight-bold" href="${sunrise.getCemeteryURL(cemetery.cemeteryId)}">
|
||||||
${cityssm.escapeHTML((cemetery.cemeteryName ?? '') === '' ? '(No Name)' : cemetery.cemeteryName ?? '')}
|
${cityssm.escapeHTML((cemetery.cemeteryName ?? '') === '' ? '(No Name)' : cemetery.cemeteryName ?? '')}
|
||||||
</a><br />
|
</a><br />
|
||||||
<span class="is-size-7">
|
<span class="is-size-7">
|
||||||
|
|
@ -63,13 +63,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
? ''
|
? ''
|
||||||
: '<span data-tooltip="Has Image"><i class="fas fa-image" role="img" aria-label="Has Image"></i></span>'}
|
: '<span data-tooltip="Has Image"><i class="fas fa-image" role="img" aria-label="Has Image"></i></span>'}
|
||||||
</td><td class="has-text-right">
|
</td><td class="has-text-right">
|
||||||
<a href="${los.urlPrefix}/burialSites?cemeteryId=${cemetery.cemeteryId}">${cemetery.burialSiteCount}</a>
|
<a href="${sunrise.urlPrefix}/burialSites?cemeteryId=${cemetery.cemeteryId}">${cemetery.burialSiteCount}</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>`);
|
</tr>`);
|
||||||
}
|
}
|
||||||
searchResultsContainerElement.innerHTML = '';
|
searchResultsContainerElement.innerHTML = '';
|
||||||
if (searchResultCount === 0) {
|
if (searchResultCount === 0) {
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
|
||||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no cemeteries that meet the search criteria.</p>
|
<p class="message-body">There are no cemeteries that meet the search criteria.</p>
|
||||||
</div>`;
|
</div>`;
|
||||||
|
|
@ -78,7 +77,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const searchResultsTableElement = document.createElement('table');
|
const searchResultsTableElement = document.createElement('table');
|
||||||
searchResultsTableElement.className =
|
searchResultsTableElement.className =
|
||||||
'table is-fullwidth is-striped is-hoverable has-sticky-header';
|
'table is-fullwidth is-striped is-hoverable has-sticky-header';
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
|
||||||
searchResultsTableElement.innerHTML = `<thead><tr>
|
searchResultsTableElement.innerHTML = `<thead><tr>
|
||||||
<th>Cemetery</th>
|
<th>Cemetery</th>
|
||||||
<th>Address</th>
|
<th>Address</th>
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@ import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
||||||
|
|
||||||
import type { Cemetery } from '../../types/recordTypes.js'
|
import type { Cemetery } from '../../types/recordTypes.js'
|
||||||
|
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const sunrise = exports.sunrise as Sunrise
|
||||||
|
|
||||||
const cemeteries = exports.cemeteries as Cemetery[]
|
const cemeteries = exports.cemeteries as Cemetery[]
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@ declare const exports: Record<string, unknown>
|
||||||
// eslint-disable-next-line complexity
|
// eslint-disable-next-line complexity
|
||||||
function renderResults(): void {
|
function renderResults(): void {
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(
|
searchResultsContainerElement.innerHTML = sunrise.getLoadingParagraphHTML(
|
||||||
`Loading Cemeteries...`
|
`Loading Cemeteries...`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ declare const exports: Record<string, unknown>
|
||||||
'beforeend',
|
'beforeend',
|
||||||
`<tr>
|
`<tr>
|
||||||
<td>
|
<td>
|
||||||
<a class="has-text-weight-bold" href="${los.getCemeteryURL(cemetery.cemeteryId)}">
|
<a class="has-text-weight-bold" href="${sunrise.getCemeteryURL(cemetery.cemeteryId)}">
|
||||||
${cityssm.escapeHTML(
|
${cityssm.escapeHTML(
|
||||||
(cemetery.cemeteryName ?? '') === '' ? '(No Name)' : cemetery.cemeteryName ?? ''
|
(cemetery.cemeteryName ?? '') === '' ? '(No Name)' : cemetery.cemeteryName ?? ''
|
||||||
)}
|
)}
|
||||||
|
|
@ -106,7 +106,7 @@ declare const exports: Record<string, unknown>
|
||||||
: '<span data-tooltip="Has Image"><i class="fas fa-image" role="img" aria-label="Has Image"></i></span>'
|
: '<span data-tooltip="Has Image"><i class="fas fa-image" role="img" aria-label="Has Image"></i></span>'
|
||||||
}
|
}
|
||||||
</td><td class="has-text-right">
|
</td><td class="has-text-right">
|
||||||
<a href="${los.urlPrefix}/burialSites?cemeteryId=${cemetery.cemeteryId}">${cemetery.burialSiteCount}</a>
|
<a href="${sunrise.urlPrefix}/burialSites?cemeteryId=${cemetery.cemeteryId}">${cemetery.burialSiteCount}</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>`
|
</tr>`
|
||||||
)
|
)
|
||||||
|
|
@ -115,7 +115,6 @@ declare const exports: Record<string, unknown>
|
||||||
searchResultsContainerElement.innerHTML = ''
|
searchResultsContainerElement.innerHTML = ''
|
||||||
|
|
||||||
if (searchResultCount === 0) {
|
if (searchResultCount === 0) {
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
|
||||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no cemeteries that meet the search criteria.</p>
|
<p class="message-body">There are no cemeteries that meet the search criteria.</p>
|
||||||
</div>`
|
</div>`
|
||||||
|
|
@ -125,7 +124,6 @@ declare const exports: Record<string, unknown>
|
||||||
searchResultsTableElement.className =
|
searchResultsTableElement.className =
|
||||||
'table is-fullwidth is-striped is-hoverable has-sticky-header'
|
'table is-fullwidth is-striped is-hoverable has-sticky-header'
|
||||||
|
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
|
||||||
searchResultsTableElement.innerHTML = `<thead><tr>
|
searchResultsTableElement.innerHTML = `<thead><tr>
|
||||||
<th>Cemetery</th>
|
<th>Cemetery</th>
|
||||||
<th>Address</th>
|
<th>Address</th>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const searchFilterFormElement = document.querySelector('#form--searchFilters');
|
const searchFilterFormElement = document.querySelector('#form--searchFilters');
|
||||||
const searchResultsContainerElement = document.querySelector('#container--searchResults');
|
const searchResultsContainerElement = document.querySelector('#container--searchResults');
|
||||||
const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10);
|
const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10);
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@ import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
||||||
|
|
||||||
import type { Contract } from '../../types/recordTypes.js'
|
import type { Contract } from '../../types/recordTypes.js'
|
||||||
|
|
||||||
import type { LOS } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const los = exports.sunrise as Sunrise
|
||||||
|
|
||||||
const searchFilterFormElement = document.querySelector(
|
const searchFilterFormElement = document.querySelector(
|
||||||
'#form--searchFilters'
|
'#form--searchFilters'
|
||||||
|
|
|
||||||
|
|
@ -1,88 +1,88 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const occupancyTypesContainerElement = document.querySelector('#container--occupancyTypes');
|
const contractTypesContainerElement = document.querySelector('#container--contractTypes');
|
||||||
const ContractTypePrintsContainerElement = document.querySelector('#container--ContractTypePrints');
|
const contractTypePrintsContainerElement = document.querySelector('#container--contractTypePrints');
|
||||||
let occupancyTypes = exports.occupancyTypes;
|
let contractTypes = exports.contractTypes;
|
||||||
delete exports.occupancyTypes;
|
delete exports.contractTypes;
|
||||||
let allContractTypeFields = exports.allContractTypeFields;
|
let allContractTypeFields = exports.allContractTypeFields;
|
||||||
delete exports.allContractTypeFields;
|
delete exports.allContractTypeFields;
|
||||||
const expandedOccupancyTypes = new Set();
|
const expandedContractTypes = new Set();
|
||||||
function toggleContractTypeFields(clickEvent) {
|
function toggleContractTypeFields(clickEvent) {
|
||||||
const toggleButtonElement = clickEvent.currentTarget;
|
const toggleButtonElement = clickEvent.currentTarget;
|
||||||
const occupancyTypeElement = toggleButtonElement.closest('.container--occupancyType');
|
const contractTypeElement = toggleButtonElement.closest('.container--contractType');
|
||||||
const contractTypeId = Number.parseInt(occupancyTypeElement.dataset.contractTypeId ?? '', 10);
|
const contractTypeId = Number.parseInt(contractTypeElement.dataset.contractTypeId ?? '', 10);
|
||||||
if (expandedOccupancyTypes.has(contractTypeId)) {
|
if (expandedContractTypes.has(contractTypeId)) {
|
||||||
expandedOccupancyTypes.delete(contractTypeId);
|
expandedContractTypes.delete(contractTypeId);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
expandedOccupancyTypes.add(contractTypeId);
|
expandedContractTypes.add(contractTypeId);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
toggleButtonElement.innerHTML = expandedOccupancyTypes.has(contractTypeId)
|
toggleButtonElement.innerHTML = expandedContractTypes.has(contractTypeId)
|
||||||
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
||||||
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>';
|
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>';
|
||||||
const panelBlockElements = occupancyTypeElement.querySelectorAll('.panel-block');
|
const panelBlockElements = contractTypeElement.querySelectorAll('.panel-block');
|
||||||
for (const panelBlockElement of panelBlockElements) {
|
for (const panelBlockElement of panelBlockElements) {
|
||||||
panelBlockElement.classList.toggle('is-hidden');
|
panelBlockElement.classList.toggle('is-hidden');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function occupancyTypeResponseHandler(rawResponseJSON) {
|
function contractTypeResponseHandler(rawResponseJSON) {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
occupancyTypes = responseJSON.occupancyTypes;
|
contractTypes = responseJSON.contractTypes;
|
||||||
allContractTypeFields = responseJSON.allContractTypeFields;
|
allContractTypeFields = responseJSON.allContractTypeFields;
|
||||||
renderOccupancyTypes();
|
renderContractTypes();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: `Error Updating ${los.escapedAliases.Occupancy} Type`,
|
title: `Error Updating Contract Type`,
|
||||||
message: responseJSON.errorMessage ?? '',
|
message: responseJSON.errorMessage ?? '',
|
||||||
contextualColorName: 'danger'
|
contextualColorName: 'danger'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function deleteOccupancyType(clickEvent) {
|
function deleteContractType(clickEvent) {
|
||||||
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.contractTypeId ?? '', 10);
|
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--contractType').dataset.contractTypeId ?? '', 10);
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteContractType`, {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteContractType`, {
|
||||||
contractTypeId
|
contractTypeId
|
||||||
}, occupancyTypeResponseHandler);
|
}, contractTypeResponseHandler);
|
||||||
}
|
}
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: `Delete ${los.escapedAliases.Occupancy} Type`,
|
title: `Delete Contract Type`,
|
||||||
message: `Are you sure you want to delete this ${los.escapedAliases.occupancy} type?`,
|
message: `Are you sure you want to delete this contract type?`,
|
||||||
contextualColorName: 'warning',
|
contextualColorName: 'warning',
|
||||||
okButton: {
|
okButton: {
|
||||||
text: `Yes, Delete ${los.escapedAliases.Occupancy} Type`,
|
text: `Yes, Delete Contract Type`,
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openEditOccupancyType(clickEvent) {
|
function openEditContractType(clickEvent) {
|
||||||
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.contractTypeId ?? '', 10);
|
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--contractType').dataset.contractTypeId ?? '', 10);
|
||||||
const occupancyType = occupancyTypes.find((currentOccupancyType) => contractTypeId === currentOccupancyType.contractTypeId);
|
const contractType = contractTypes.find((currentContractType) => contractTypeId === currentContractType.contractTypeId);
|
||||||
let editCloseModalFunction;
|
let editCloseModalFunction;
|
||||||
function doEdit(submitEvent) {
|
function doEdit(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/doUpdateContractType`, submitEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doUpdateContractType`, submitEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
contractTypeResponseHandler(responseJSON);
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
editCloseModalFunction();
|
editCloseModalFunction();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-editOccupancyType', {
|
cityssm.openHtmlModal('adminContractTypes-edit', {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector('#occupancyTypeEdit--contractTypeId').value = contractTypeId.toString();
|
modalElement.querySelector('#contractTypeEdit--contractTypeId').value = contractTypeId.toString();
|
||||||
modalElement.querySelector('#occupancyTypeEdit--occupancyType').value = occupancyType.occupancyType;
|
modalElement.querySelector('#contractTypeEdit--contractType').value = contractType.contractType;
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector('#occupancyTypeEdit--occupancyType').focus();
|
modalElement.querySelector('#contractTypeEdit--contractType').focus();
|
||||||
modalElement.querySelector('form')?.addEventListener('submit', doEdit);
|
modalElement.querySelector('form')?.addEventListener('submit', doEdit);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
},
|
},
|
||||||
|
|
@ -91,32 +91,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openAddOccupancyTypeField(clickEvent) {
|
function openAddContractTypeField(clickEvent) {
|
||||||
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.contractTypeId ?? '', 10);
|
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--contractType').dataset.contractTypeId ?? '', 10);
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
function doAdd(submitEvent) {
|
function doAdd(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/doAddContractTypeField`, submitEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doAddContractTypeField`, submitEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
expandedOccupancyTypes.add(contractTypeId);
|
expandedContractTypes.add(contractTypeId);
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
contractTypeResponseHandler(responseJSON);
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
addCloseModalFunction();
|
addCloseModalFunction();
|
||||||
openEditOccupancyTypeField(contractTypeId, responseJSON.contractTypeFieldId ?? 0);
|
openEditContractTypeField(contractTypeId, responseJSON.contractTypeFieldId ?? 0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyTypeField', {
|
cityssm.openHtmlModal('adminContractTypes-addField', {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
if (contractTypeId) {
|
if (contractTypeId) {
|
||||||
;
|
;
|
||||||
modalElement.querySelector('#occupancyTypeFieldAdd--contractTypeId').value = contractTypeId.toString();
|
modalElement.querySelector('#contractTypeFieldAdd--contractTypeId').value = contractTypeId.toString();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector('#occupancyTypeFieldAdd--occupancyTypeField').focus();
|
modalElement.querySelector('#contractTypeFieldAdd--contractTypeField').focus();
|
||||||
modalElement.querySelector('form')?.addEventListener('submit', doAdd);
|
modalElement.querySelector('form')?.addEventListener('submit', doAdd);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
},
|
},
|
||||||
|
|
@ -125,29 +125,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function moveOccupancyType(clickEvent) {
|
function moveContractType(clickEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget;
|
const buttonElement = clickEvent.currentTarget;
|
||||||
const contractTypeId = clickEvent.currentTarget.closest('.container--occupancyType').dataset.contractTypeId;
|
const contractTypeId = clickEvent.currentTarget.closest('.container--contractType').dataset.contractTypeId;
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
cityssm.postJSON(`${los.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
||||||
? 'doMoveContractTypeUp'
|
? 'doMoveContractTypeUp'
|
||||||
: 'doMoveContractTypeDown'}`, {
|
: 'doMoveContractTypeDown'}`, {
|
||||||
contractTypeId,
|
contractTypeId,
|
||||||
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
||||||
}, occupancyTypeResponseHandler);
|
}, contractTypeResponseHandler);
|
||||||
}
|
}
|
||||||
function openEditOccupancyTypeField(contractTypeId, contractTypeFieldId) {
|
function openEditContractTypeField(contractTypeId, contractTypeFieldId) {
|
||||||
let occupancyType;
|
let contractType;
|
||||||
if (contractTypeId) {
|
if (contractTypeId) {
|
||||||
occupancyType = occupancyTypes.find((currentOccupancyType) => currentOccupancyType.contractTypeId === contractTypeId);
|
contractType = contractTypes.find((currentContractType) => currentContractType.contractTypeId === contractTypeId);
|
||||||
}
|
}
|
||||||
const occupancyTypeField = (occupancyType
|
const contractTypeField = (contractType
|
||||||
? occupancyType.ContractTypeFields ?? []
|
? contractType.contractTypeFields ?? []
|
||||||
: allContractTypeFields).find((currentOccupancyTypeField) => currentOccupancyTypeField.contractTypeFieldId === contractTypeFieldId);
|
: allContractTypeFields).find((currentContractTypeField) => currentContractTypeField.contractTypeFieldId === contractTypeFieldId);
|
||||||
let fieldTypeElement;
|
let fieldTypeElement;
|
||||||
let minLengthInputElement;
|
let minLengthInputElement;
|
||||||
let maxLengthInputElement;
|
let maxLengthInputElement;
|
||||||
let patternElement;
|
let patternElement;
|
||||||
let occupancyTypeFieldValuesElement;
|
let fieldValuesElement;
|
||||||
let editCloseModalFunction;
|
let editCloseModalFunction;
|
||||||
function updateMaximumLengthMin() {
|
function updateMaximumLengthMin() {
|
||||||
maxLengthInputElement.min = minLengthInputElement.value;
|
maxLengthInputElement.min = minLengthInputElement.value;
|
||||||
|
|
@ -158,21 +158,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
minLengthInputElement.disabled = true;
|
minLengthInputElement.disabled = true;
|
||||||
maxLengthInputElement.disabled = true;
|
maxLengthInputElement.disabled = true;
|
||||||
patternElement.disabled = true;
|
patternElement.disabled = true;
|
||||||
occupancyTypeFieldValuesElement.disabled = true;
|
fieldValuesElement.disabled = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'select': {
|
case 'select': {
|
||||||
minLengthInputElement.disabled = true;
|
minLengthInputElement.disabled = true;
|
||||||
maxLengthInputElement.disabled = true;
|
maxLengthInputElement.disabled = true;
|
||||||
patternElement.disabled = true;
|
patternElement.disabled = true;
|
||||||
occupancyTypeFieldValuesElement.disabled = false;
|
fieldValuesElement.disabled = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
minLengthInputElement.disabled = false;
|
minLengthInputElement.disabled = false;
|
||||||
maxLengthInputElement.disabled = false;
|
maxLengthInputElement.disabled = false;
|
||||||
patternElement.disabled = false;
|
patternElement.disabled = false;
|
||||||
occupancyTypeFieldValuesElement.disabled = true;
|
fieldValuesElement.disabled = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -181,7 +181,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/doUpdateContractTypeField`, submitEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doUpdateContractTypeField`, submitEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
contractTypeResponseHandler(responseJSON);
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
editCloseModalFunction();
|
editCloseModalFunction();
|
||||||
}
|
}
|
||||||
|
|
@ -192,7 +192,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
contractTypeFieldId
|
contractTypeFieldId
|
||||||
}, (rawResponseJSON) => {
|
}, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
contractTypeResponseHandler(responseJSON);
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
editCloseModalFunction();
|
editCloseModalFunction();
|
||||||
}
|
}
|
||||||
|
|
@ -209,28 +209,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-editOccupancyTypeField', {
|
cityssm.openHtmlModal('adminContractTypes-editField', {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector('#occupancyTypeFieldEdit--contractTypeFieldId').value = occupancyTypeField.contractTypeFieldId.toString();
|
modalElement.querySelector('#contractTypeFieldEdit--contractTypeFieldId').value = contractTypeField.contractTypeFieldId.toString();
|
||||||
modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeField').value = occupancyTypeField.occupancyTypeField ?? '';
|
modalElement.querySelector('#contractTypeFieldEdit--contractTypeField').value = contractTypeField.contractTypeField ?? '';
|
||||||
modalElement.querySelector('#occupancyTypeFieldEdit--isRequired').value = occupancyTypeField.isRequired ?? false ? '1' : '0';
|
modalElement.querySelector('#contractTypeFieldEdit--isRequired').value = contractTypeField.isRequired ?? false ? '1' : '0';
|
||||||
fieldTypeElement = modalElement.querySelector('#occupancyTypeFieldEdit--fieldType');
|
fieldTypeElement = modalElement.querySelector('#contractTypeFieldEdit--fieldType');
|
||||||
fieldTypeElement.value = occupancyTypeField.fieldType;
|
fieldTypeElement.value = contractTypeField.fieldType;
|
||||||
minLengthInputElement = modalElement.querySelector('#occupancyTypeFieldEdit--minLength');
|
minLengthInputElement = modalElement.querySelector('#contractTypeFieldEdit--minLength');
|
||||||
minLengthInputElement.value =
|
minLengthInputElement.value =
|
||||||
occupancyTypeField.minLength?.toString() ?? '';
|
contractTypeField.minLength?.toString() ?? '';
|
||||||
maxLengthInputElement = modalElement.querySelector('#occupancyTypeFieldEdit--maxLength');
|
maxLengthInputElement = modalElement.querySelector('#contractTypeFieldEdit--maxLength');
|
||||||
maxLengthInputElement.value =
|
maxLengthInputElement.value =
|
||||||
occupancyTypeField.maxLength?.toString() ?? '';
|
contractTypeField.maxLength?.toString() ?? '';
|
||||||
patternElement = modalElement.querySelector('#occupancyTypeFieldEdit--pattern');
|
patternElement = modalElement.querySelector('#contractTypeFieldEdit--pattern');
|
||||||
patternElement.value = occupancyTypeField.pattern ?? '';
|
patternElement.value = contractTypeField.pattern ?? '';
|
||||||
occupancyTypeFieldValuesElement = modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeFieldValues');
|
fieldValuesElement = modalElement.querySelector('#contractTypeFieldEdit--fieldValues');
|
||||||
occupancyTypeFieldValuesElement.value =
|
fieldValuesElement.value = contractTypeField.fieldValues ?? '';
|
||||||
occupancyTypeField.occupancyTypeFieldValues ?? '';
|
|
||||||
toggleInputFields();
|
toggleInputFields();
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
bulmaJS.init(modalElement);
|
bulmaJS.init(modalElement);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
@ -240,77 +239,78 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
updateMaximumLengthMin();
|
updateMaximumLengthMin();
|
||||||
fieldTypeElement.addEventListener('change', toggleInputFields);
|
fieldTypeElement.addEventListener('change', toggleInputFields);
|
||||||
modalElement
|
modalElement
|
||||||
.querySelector('#button--deleteOccupancyTypeField')
|
.querySelector('#button--deleteContractTypeField')
|
||||||
?.addEventListener('click', confirmDoDelete);
|
?.addEventListener('click', confirmDoDelete);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
cityssm.disableNavBlocker();
|
cityssm.disableNavBlocker();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openEditOccupancyTypeFieldByClick(clickEvent) {
|
function openEditContractTypeFieldByClick(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const contractTypeFieldId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyTypeField').dataset.contractTypeFieldId ?? '', 10);
|
const contractTypeFieldId = Number.parseInt(clickEvent.currentTarget.closest('.container--contractTypeField').dataset.contractTypeFieldId ?? '', 10);
|
||||||
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.contractTypeId ?? '', 10);
|
const contractTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--contractType').dataset.contractTypeId ?? '', 10);
|
||||||
openEditOccupancyTypeField(contractTypeId, contractTypeFieldId);
|
openEditContractTypeField(contractTypeId, contractTypeFieldId);
|
||||||
}
|
}
|
||||||
function moveOccupancyTypeField(clickEvent) {
|
function moveContractTypeField(clickEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget;
|
const buttonElement = clickEvent.currentTarget;
|
||||||
const contractTypeFieldId = clickEvent.currentTarget.closest('.container--occupancyTypeField').dataset.contractTypeFieldId;
|
const contractTypeFieldId = clickEvent.currentTarget.closest('.container--contractTypeField').dataset.contractTypeFieldId;
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
cityssm.postJSON(`${los.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
||||||
? 'doMoveContractTypeFieldUp'
|
? // eslint-disable-next-line no-secrets/no-secrets
|
||||||
|
'doMoveContractTypeFieldUp'
|
||||||
: // eslint-disable-next-line no-secrets/no-secrets
|
: // eslint-disable-next-line no-secrets/no-secrets
|
||||||
'doMoveContractTypeFieldDown'}`, {
|
'doMoveContractTypeFieldDown'}`, {
|
||||||
contractTypeFieldId,
|
contractTypeFieldId,
|
||||||
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
||||||
}, occupancyTypeResponseHandler);
|
}, contractTypeResponseHandler);
|
||||||
}
|
}
|
||||||
function renderContractTypeFields(panelElement, contractTypeId, ContractTypeFields) {
|
function renderContractTypeFields(panelElement, contractTypeId, contractTypeFields) {
|
||||||
if (ContractTypeFields.length === 0) {
|
if (contractTypeFields.length === 0) {
|
||||||
// eslint-disable-next-line no-unsanitized/method
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block ${!contractTypeId || expandedOccupancyTypes.has(contractTypeId)
|
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block ${!contractTypeId || expandedContractTypes.has(contractTypeId)
|
||||||
? ''
|
? ''
|
||||||
: ' is-hidden'}">
|
: ' is-hidden'}">
|
||||||
<div class="message is-info"><p class="message-body">There are no additional fields.</p></div>
|
<div class="message is-info"><p class="message-body">There are no additional fields.</p></div>
|
||||||
</div>`);
|
</div>`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (const occupancyTypeField of ContractTypeFields) {
|
for (const contractTypeField of contractTypeFields) {
|
||||||
const panelBlockElement = document.createElement('div');
|
const panelBlockElement = document.createElement('div');
|
||||||
panelBlockElement.className =
|
panelBlockElement.className =
|
||||||
'panel-block is-block container--occupancyTypeField';
|
'panel-block is-block container--contractTypeField';
|
||||||
if (contractTypeId && !expandedOccupancyTypes.has(contractTypeId)) {
|
if (contractTypeId && !expandedContractTypes.has(contractTypeId)) {
|
||||||
panelBlockElement.classList.add('is-hidden');
|
panelBlockElement.classList.add('is-hidden');
|
||||||
}
|
}
|
||||||
panelBlockElement.dataset.contractTypeFieldId =
|
panelBlockElement.dataset.contractTypeFieldId =
|
||||||
occupancyTypeField.contractTypeFieldId.toString();
|
contractTypeField.contractTypeFieldId.toString();
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
panelBlockElement.innerHTML = `<div class="level is-mobile">
|
panelBlockElement.innerHTML = `<div class="level is-mobile">
|
||||||
<div class="level-left">
|
<div class="level-left">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<a class="has-text-weight-bold button--editOccupancyTypeField" href="#">
|
<a class="has-text-weight-bold button--editContractTypeField" href="#">
|
||||||
${cityssm.escapeHTML(occupancyTypeField.occupancyTypeField ?? '')}
|
${cityssm.escapeHTML(contractTypeField.contractTypeField ?? '')}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-right">
|
<div class="level-right">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
${los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypeFieldUp', 'button--moveOccupancyTypeFieldDown')}
|
${los.getMoveUpDownButtonFieldHTML('button--moveContractTypeFieldUp', 'button--moveContractTypeFieldDown')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector('.button--editOccupancyTypeField')
|
.querySelector('.button--editContractTypeField')
|
||||||
?.addEventListener('click', openEditOccupancyTypeFieldByClick);
|
?.addEventListener('click', openEditContractTypeFieldByClick);
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypeFieldUp').addEventListener('click', moveOccupancyTypeField);
|
panelBlockElement.querySelector('.button--moveContractTypeFieldUp').addEventListener('click', moveContractTypeField);
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypeFieldDown').addEventListener('click', moveOccupancyTypeField);
|
panelBlockElement.querySelector('.button--moveContractTypeFieldDown').addEventListener('click', moveContractTypeField);
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function openAddOccupancyTypePrint(clickEvent) {
|
function openAddContractTypePrint(clickEvent) {
|
||||||
const contractTypeId = clickEvent.currentTarget.closest('.container--occupancyTypePrintList').dataset.contractTypeId ?? '';
|
const contractTypeId = clickEvent.currentTarget.closest('.container--contractTypePrintList').dataset.contractTypeId ?? '';
|
||||||
let closeAddModalFunction;
|
let closeAddModalFunction;
|
||||||
function doAdd(formEvent) {
|
function doAdd(formEvent) {
|
||||||
formEvent.preventDefault();
|
formEvent.preventDefault();
|
||||||
|
|
@ -319,15 +319,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
closeAddModalFunction();
|
closeAddModalFunction();
|
||||||
}
|
}
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
contractTypeResponseHandler(responseJSON);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyTypePrint', {
|
cityssm.openHtmlModal('adminContractTypes-addPrint', {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector('#occupancyTypePrintAdd--contractTypeId').value = contractTypeId;
|
modalElement.querySelector('#contractTypePrintAdd--contractTypeId').value = contractTypeId;
|
||||||
const printSelectElement = modalElement.querySelector('#occupancyTypePrintAdd--printEJS');
|
const printSelectElement = modalElement.querySelector('#contractTypePrintAdd--printEJS');
|
||||||
for (const [printEJS, printTitle] of Object.entries(exports.occupancyTypePrintTitles)) {
|
for (const [printEJS, printTitle] of Object.entries(exports.contractTypePrintTitles)) {
|
||||||
const optionElement = document.createElement('option');
|
const optionElement = document.createElement('option');
|
||||||
optionElement.value = printEJS;
|
optionElement.value = printEJS;
|
||||||
optionElement.textContent = printTitle;
|
optionElement.textContent = printTitle;
|
||||||
|
|
@ -340,29 +340,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function moveOccupancyTypePrint(clickEvent) {
|
function moveContractTypePrint(clickEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget;
|
const buttonElement = clickEvent.currentTarget;
|
||||||
const printEJS = buttonElement.closest('.container--occupancyTypePrint').dataset.printEJS;
|
const printEJS = buttonElement.closest('.container--contractTypePrint').dataset.printEJS;
|
||||||
const contractTypeId = buttonElement.closest('.container--occupancyTypePrintList').dataset.contractTypeId;
|
const contractTypeId = buttonElement.closest('.container--contractTypePrintList').dataset.contractTypeId;
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
cityssm.postJSON(`${los.urlPrefix}/admin/${buttonElement.dataset.direction === 'up'
|
||||||
? // eslint-disable-next-line no-secrets/no-secrets
|
? 'doMoveContractTypePrintUp'
|
||||||
'doMoveContractTypePrintUp'
|
: 'doMoveContractTypePrintDown'}`, {
|
||||||
: // eslint-disable-next-line no-secrets/no-secrets
|
|
||||||
'doMoveContractTypePrintDown'}`, {
|
|
||||||
contractTypeId,
|
contractTypeId,
|
||||||
printEJS,
|
printEJS,
|
||||||
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
||||||
}, occupancyTypeResponseHandler);
|
}, contractTypeResponseHandler);
|
||||||
}
|
}
|
||||||
function deleteOccupancyTypePrint(clickEvent) {
|
function deleteContractTypePrint(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const printEJS = clickEvent.currentTarget.closest('.container--occupancyTypePrint').dataset.printEJS;
|
const printEJS = clickEvent.currentTarget.closest('.container--contractTypePrint').dataset.printEJS;
|
||||||
const contractTypeId = clickEvent.currentTarget.closest('.container--occupancyTypePrintList').dataset.contractTypeId;
|
const contractTypeId = clickEvent.currentTarget.closest('.container--contractTypePrintList').dataset.contractTypeId;
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteContractTypePrint`, {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteContractTypePrint`, {
|
||||||
contractTypeId,
|
contractTypeId,
|
||||||
printEJS
|
printEJS
|
||||||
}, occupancyTypeResponseHandler);
|
}, contractTypeResponseHandler);
|
||||||
}
|
}
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: 'Delete Print',
|
title: 'Delete Print',
|
||||||
|
|
@ -374,8 +372,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function renderContractTypePrints(panelElement, contractTypeId, ContractTypePrints) {
|
function renderContractTypePrints(panelElement, contractTypeId, contractTypePrints) {
|
||||||
if (ContractTypePrints.length === 0) {
|
if (contractTypePrints.length === 0) {
|
||||||
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block">
|
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block">
|
||||||
<div class="message is-info">
|
<div class="message is-info">
|
||||||
<p class="message-body">There are no prints associated with this record.</p>
|
<p class="message-body">There are no prints associated with this record.</p>
|
||||||
|
|
@ -383,14 +381,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
</div>`);
|
</div>`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (const printEJS of ContractTypePrints) {
|
for (const printEJS of contractTypePrints) {
|
||||||
const panelBlockElement = document.createElement('div');
|
const panelBlockElement = document.createElement('div');
|
||||||
panelBlockElement.className =
|
panelBlockElement.className =
|
||||||
'panel-block is-block container--occupancyTypePrint';
|
'panel-block is-block container--contractTypePrint';
|
||||||
panelBlockElement.dataset.printEJS = printEJS;
|
panelBlockElement.dataset.printEJS = printEJS;
|
||||||
const printTitle = printEJS === '*'
|
const printTitle = printEJS === '*'
|
||||||
? '(All Available Prints)'
|
? '(All Available Prints)'
|
||||||
: exports.occupancyTypePrintTitles[printEJS];
|
: exports.contractTypePrintTitles[printEJS];
|
||||||
let printIconClass = 'fa-star';
|
let printIconClass = 'fa-star';
|
||||||
if (printEJS.startsWith('pdf/')) {
|
if (printEJS.startsWith('pdf/')) {
|
||||||
printIconClass = 'fa-file-pdf';
|
printIconClass = 'fa-file-pdf';
|
||||||
|
|
@ -410,37 +408,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
</div>
|
</div>
|
||||||
<div class="level-right">
|
<div class="level-right">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
${los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypePrintUp', 'button--moveOccupancyTypePrintDown')}
|
${los.getMoveUpDownButtonFieldHTML('button--moveContractTypePrintUp', 'button--moveContractTypePrintDown')}
|
||||||
</div>
|
</div>
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-small is-danger button--deleteOccupancyTypePrint" data-tooltip="Delete" type="button" aria-label="Delete Print">
|
<button class="button is-small is-danger button--deleteContractTypePrint" data-tooltip="Delete" type="button" aria-label="Delete Print">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<i class="fas fa-trash" aria-hidden="true"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypePrintUp').addEventListener('click', moveOccupancyTypePrint);
|
panelBlockElement.querySelector('.button--moveContractTypePrintUp').addEventListener('click', moveContractTypePrint);
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypePrintDown').addEventListener('click', moveOccupancyTypePrint);
|
panelBlockElement.querySelector('.button--moveContractTypePrintDown').addEventListener('click', moveContractTypePrint);
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector('.button--deleteOccupancyTypePrint')
|
.querySelector('.button--deleteContractTypePrint')
|
||||||
?.addEventListener('click', deleteOccupancyTypePrint);
|
?.addEventListener('click', deleteContractTypePrint);
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function renderOccupancyTypes() {
|
function renderContractTypes() {
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
contractTypesContainerElement.innerHTML = `<div class="panel container--contractType" id="container--allContractTypeFields" data-contract-type-id="">
|
||||||
occupancyTypesContainerElement.innerHTML = `<div class="panel container--occupancyType" id="container--allContractTypeFields" data-occupancy-type-id="">
|
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<div class="level is-mobile">
|
<div class="level is-mobile">
|
||||||
<div class="level-left">
|
<div class="level-left">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<h2 class="title is-4">(All ${los.escapedAliases.Occupancy} Types)</h2>
|
<h2 class="title is-4">(All Contract Types)</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-right">
|
<div class="level-right">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-success is-small button--addOccupancyTypeField" type="button">
|
<button class="button is-success is-small button--addContractTypeField" type="button">
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Field</span>
|
<span>Add Field</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
@ -449,104 +446,102 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
ContractTypePrintsContainerElement.innerHTML = '';
|
contractTypePrintsContainerElement.innerHTML = '';
|
||||||
renderContractTypeFields(occupancyTypesContainerElement.querySelector('#container--allContractTypeFields'), undefined, allContractTypeFields);
|
renderContractTypeFields(contractTypesContainerElement.querySelector('#container--allContractTypeFields'), undefined, allContractTypeFields);
|
||||||
occupancyTypesContainerElement
|
contractTypesContainerElement
|
||||||
.querySelector('.button--addOccupancyTypeField')
|
.querySelector('.button--addContractTypeField')
|
||||||
?.addEventListener('click', openAddOccupancyTypeField);
|
?.addEventListener('click', openAddContractTypeField);
|
||||||
if (occupancyTypes.length === 0) {
|
if (contractTypes.length === 0) {
|
||||||
// eslint-disable-next-line no-unsanitized/method
|
contractTypesContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
||||||
occupancyTypesContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
<p class="message-body">There are no active contract types.</p>
|
||||||
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
|
||||||
</div>`);
|
</div>`);
|
||||||
// eslint-disable-next-line no-unsanitized/method
|
contractTypePrintsContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
||||||
ContractTypePrintsContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
<p class="message-body">There are no active contract types.</p>
|
||||||
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
|
||||||
</div>`);
|
</div>`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (const occupancyType of occupancyTypes) {
|
for (const contractType of contractTypes) {
|
||||||
/*
|
/*
|
||||||
* Types and Fields
|
* Types and Fields
|
||||||
*/
|
*/
|
||||||
const occupancyTypeContainer = document.createElement('div');
|
const contractTypeContainer = document.createElement('div');
|
||||||
occupancyTypeContainer.className = 'panel container--occupancyType';
|
contractTypeContainer.className = 'panel container--contractType';
|
||||||
occupancyTypeContainer.dataset.contractTypeId =
|
contractTypeContainer.dataset.contractTypeId =
|
||||||
occupancyType.contractTypeId.toString();
|
contractType.contractTypeId.toString();
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
occupancyTypeContainer.innerHTML = `<div class="panel-heading">
|
contractTypeContainer.innerHTML = `<div class="panel-heading">
|
||||||
<div class="level is-mobile">
|
<div class="level is-mobile">
|
||||||
<div class="level-left">
|
<div class="level-left">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-small button--toggleContractTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">
|
<button class="button is-small button--toggleContractTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">
|
||||||
${expandedOccupancyTypes.has(occupancyType.contractTypeId)
|
${expandedContractTypes.has(contractType.contractTypeId)
|
||||||
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
||||||
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>'}
|
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>'}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<h2 class="title is-4">${cityssm.escapeHTML(occupancyType.occupancyType)}</h2>
|
<h2 class="title is-4">${cityssm.escapeHTML(contractType.contractType)}</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-right">
|
<div class="level-right">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-danger is-small button--deleteOccupancyType" type="button">
|
<button class="button is-danger is-small button--deleteContractType" type="button">
|
||||||
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
<span>Delete</span>
|
<span>Delete</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-primary is-small button--editOccupancyType" type="button">
|
<button class="button is-primary is-small button--editContractType" type="button">
|
||||||
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
||||||
<span>Edit ${los.escapedAliases.Occupancy} Type</span>
|
<span>Edit Contract Type</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-success is-small button--addOccupancyTypeField" type="button">
|
<button class="button is-success is-small button--addContractTypeField" type="button">
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Field</span>
|
<span>Add Field</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
${los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypeUp', 'button--moveOccupancyTypeDown')}
|
${los.getMoveUpDownButtonFieldHTML('button--moveContractTypeUp', 'button--moveContractTypeDown')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
renderContractTypeFields(occupancyTypeContainer, occupancyType.contractTypeId, occupancyType.ContractTypeFields ?? []);
|
renderContractTypeFields(contractTypeContainer, contractType.contractTypeId, contractType.contractTypeFields ?? []);
|
||||||
occupancyTypeContainer
|
contractTypeContainer
|
||||||
.querySelector('.button--toggleContractTypeFields')
|
.querySelector('.button--toggleContractTypeFields')
|
||||||
?.addEventListener('click', toggleContractTypeFields);
|
?.addEventListener('click', toggleContractTypeFields);
|
||||||
occupancyTypeContainer
|
contractTypeContainer
|
||||||
.querySelector('.button--deleteOccupancyType')
|
.querySelector('.button--deleteContractType')
|
||||||
?.addEventListener('click', deleteOccupancyType);
|
?.addEventListener('click', deleteContractType);
|
||||||
occupancyTypeContainer
|
contractTypeContainer
|
||||||
.querySelector('.button--editOccupancyType')
|
.querySelector('.button--editContractType')
|
||||||
?.addEventListener('click', openEditOccupancyType);
|
?.addEventListener('click', openEditContractType);
|
||||||
occupancyTypeContainer
|
contractTypeContainer
|
||||||
.querySelector('.button--addOccupancyTypeField')
|
.querySelector('.button--addContractTypeField')
|
||||||
?.addEventListener('click', openAddOccupancyTypeField);
|
?.addEventListener('click', openAddContractTypeField);
|
||||||
occupancyTypeContainer.querySelector('.button--moveOccupancyTypeUp').addEventListener('click', moveOccupancyType);
|
contractTypeContainer.querySelector('.button--moveContractTypeUp').addEventListener('click', moveContractType);
|
||||||
occupancyTypeContainer.querySelector('.button--moveOccupancyTypeDown').addEventListener('click', moveOccupancyType);
|
contractTypeContainer.querySelector('.button--moveContractTypeDown').addEventListener('click', moveContractType);
|
||||||
occupancyTypesContainerElement.append(occupancyTypeContainer);
|
contractTypesContainerElement.append(contractTypeContainer);
|
||||||
/*
|
/*
|
||||||
* Prints
|
* Prints
|
||||||
*/
|
*/
|
||||||
const occupancyTypePrintContainer = document.createElement('div');
|
const contractTypePrintContainer = document.createElement('div');
|
||||||
occupancyTypePrintContainer.className =
|
contractTypePrintContainer.className =
|
||||||
'panel container--occupancyTypePrintList';
|
'panel container--contractTypePrintList';
|
||||||
occupancyTypePrintContainer.dataset.contractTypeId =
|
contractTypePrintContainer.dataset.contractTypeId =
|
||||||
occupancyType.contractTypeId.toString();
|
contractType.contractTypeId.toString();
|
||||||
occupancyTypePrintContainer.innerHTML = `<div class="panel-heading">
|
contractTypePrintContainer.innerHTML = `<div class="panel-heading">
|
||||||
<div class="level is-mobile">
|
<div class="level is-mobile">
|
||||||
<div class="level-left">
|
<div class="level-left">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<h2 class="title is-4">${cityssm.escapeHTML(occupancyType.occupancyType)}</h2>
|
<h2 class="title is-4">${cityssm.escapeHTML(contractType.contractType)}</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="level-right">
|
<div class="level-right">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<button class="button is-success is-small button--addOccupancyTypePrint" type="button">
|
<button class="button is-success is-small button--addContractTypePrint" type="button">
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<span>Add Print</span>
|
<span>Add Print</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
@ -554,15 +549,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
renderContractTypePrints(occupancyTypePrintContainer, occupancyType.contractTypeId, occupancyType.ContractTypePrints ?? []);
|
renderContractTypePrints(contractTypePrintContainer, contractType.contractTypeId, contractType.contractTypePrints ?? []);
|
||||||
occupancyTypePrintContainer
|
contractTypePrintContainer
|
||||||
.querySelector('.button--addOccupancyTypePrint')
|
.querySelector('.button--addContractTypePrint')
|
||||||
?.addEventListener('click', openAddOccupancyTypePrint);
|
?.addEventListener('click', openAddContractTypePrint);
|
||||||
ContractTypePrintsContainerElement.append(occupancyTypePrintContainer);
|
contractTypePrintsContainerElement.append(contractTypePrintContainer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
document
|
document
|
||||||
.querySelector('#button--addOccupancyType')
|
.querySelector('#button--addContractType')
|
||||||
?.addEventListener('click', () => {
|
?.addEventListener('click', () => {
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
function doAdd(submitEvent) {
|
function doAdd(submitEvent) {
|
||||||
|
|
@ -571,25 +566,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
addCloseModalFunction();
|
addCloseModalFunction();
|
||||||
occupancyTypes = responseJSON.occupancyTypes;
|
contractTypes = responseJSON.contractTypes;
|
||||||
renderOccupancyTypes();
|
renderContractTypes();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: `Error Adding ${los.escapedAliases.Occupancy} Type`,
|
title: `Error Adding Contract Type`,
|
||||||
message: responseJSON.errorMessage ?? '',
|
message: responseJSON.errorMessage ?? '',
|
||||||
contextualColorName: 'danger'
|
contextualColorName: 'danger'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyType', {
|
cityssm.openHtmlModal('adminContractTypes-add', {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector('#occupancyTypeAdd--occupancyType').focus();
|
modalElement.querySelector('#contractTypeAdd--contractType').focus();
|
||||||
modalElement.querySelector('form')?.addEventListener('submit', doAdd);
|
modalElement.querySelector('form')?.addEventListener('submit', doAdd);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
},
|
},
|
||||||
|
|
@ -598,5 +593,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
renderOccupancyTypes();
|
renderContractTypes();
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const workOrderNumberCircleElements = document.querySelectorAll('.fa-circle[data-work-order-number]');
|
const workOrderNumberCircleElements = document.querySelectorAll('.fa-circle[data-work-order-number]');
|
||||||
for (const workOrderNumberCircleElement of workOrderNumberCircleElements) {
|
for (const workOrderNumberCircleElement of workOrderNumberCircleElements) {
|
||||||
workOrderNumberCircleElement.style.color = los.getRandomColor(workOrderNumberCircleElement.dataset.workOrderNumber ?? '');
|
workOrderNumberCircleElement.style.color = los.getRandomColor(workOrderNumberCircleElement.dataset.workOrderNumber ?? '');
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import type { LOS } from '../../types/globalTypes.js'
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const los = exports.sunrise as LOS
|
||||||
|
|
||||||
const workOrderNumberCircleElements: NodeListOf<HTMLElement> =
|
const workOrderNumberCircleElements: NodeListOf<HTMLElement> =
|
||||||
document.querySelectorAll('.fa-circle[data-work-order-number]')
|
document.querySelectorAll('.fa-circle[data-work-order-number]')
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
function doBackup() {
|
function doBackup() {
|
||||||
cityssm.postJSON(`${los.urlPrefix}/admin/doBackupDatabase`, {}, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doBackupDatabase`, {}, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ declare const bulmaJS: BulmaJS
|
||||||
|
|
||||||
declare const exports: Record<string, unknown>
|
declare const exports: Record<string, unknown>
|
||||||
;(() => {
|
;(() => {
|
||||||
const los = exports.los as LOS
|
const los = exports.sunrise as LOS
|
||||||
|
|
||||||
function doBackup(): void {
|
function doBackup(): void {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.sunrise;
|
||||||
const feeCategoriesContainerElement = document.querySelector('#container--feeCategories');
|
const feeCategoriesContainerElement = document.querySelector('#container--feeCategories');
|
||||||
let feeCategories = exports.feeCategories;
|
let feeCategories = exports.feeCategories;
|
||||||
delete exports.feeCategories;
|
delete exports.feeCategories;
|
||||||
|
|
@ -108,7 +108,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
? ''
|
? ''
|
||||||
: ` <span class="tag has-tooltip-bottom" data-tooltip="${los.escapedAliases.Occupancy} Type Filter">
|
: ` <span class="tag has-tooltip-bottom" data-tooltip="${los.escapedAliases.Occupancy} Type Filter">
|
||||||
<span class="icon is-small"><i class="fas fa-filter" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-filter" aria-hidden="true"></i></span>
|
||||||
<span>${cityssm.escapeHTML(fee.occupancyType ?? '')}</span>
|
<span>${cityssm.escapeHTML(fee.contractType ?? '')}</span>
|
||||||
</span>`}
|
</span>`}
|
||||||
${(fee.burialSiteTypeId ?? -1) === -1
|
${(fee.burialSiteTypeId ?? -1) === -1
|
||||||
? ''
|
? ''
|
||||||
|
|
@ -344,12 +344,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
feeCategoryElement.append(optionElement);
|
feeCategoryElement.append(optionElement);
|
||||||
}
|
}
|
||||||
const occupancyTypeElement = modalElement.querySelector('#feeAdd--contractTypeId');
|
const contractTypeElement = modalElement.querySelector('#feeAdd--contractTypeId');
|
||||||
for (const occupancyType of exports.occupancyTypes) {
|
for (const contractType of exports.contractTypes) {
|
||||||
const optionElement = document.createElement('option');
|
const optionElement = document.createElement('option');
|
||||||
optionElement.value = occupancyType.contractTypeId.toString();
|
optionElement.value = contractType.contractTypeId.toString();
|
||||||
optionElement.textContent = occupancyType.occupancyType;
|
optionElement.textContent = contractType.contractType;
|
||||||
occupancyTypeElement.append(optionElement);
|
contractTypeElement.append(optionElement);
|
||||||
}
|
}
|
||||||
const lotTypeElement = modalElement.querySelector('#feeAdd--burialSiteTypeId');
|
const lotTypeElement = modalElement.querySelector('#feeAdd--burialSiteTypeId');
|
||||||
for (const lotType of exports.lotTypes) {
|
for (const lotType of exports.lotTypes) {
|
||||||
|
|
@ -566,15 +566,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
modalElement.querySelector('#feeEdit--feeName').value = fee.feeName ?? '';
|
modalElement.querySelector('#feeEdit--feeName').value = fee.feeName ?? '';
|
||||||
modalElement.querySelector('#feeEdit--feeAccount').value = fee.feeAccount ?? '';
|
modalElement.querySelector('#feeEdit--feeAccount').value = fee.feeAccount ?? '';
|
||||||
modalElement.querySelector('#feeEdit--feeDescription').value = fee.feeDescription ?? '';
|
modalElement.querySelector('#feeEdit--feeDescription').value = fee.feeDescription ?? '';
|
||||||
const occupancyTypeElement = modalElement.querySelector('#feeEdit--contractTypeId');
|
const contractTypeElement = modalElement.querySelector('#feeEdit--contractTypeId');
|
||||||
for (const occupancyType of exports.occupancyTypes) {
|
for (const contractType of exports.contractTypes) {
|
||||||
const optionElement = document.createElement('option');
|
const optionElement = document.createElement('option');
|
||||||
optionElement.value = occupancyType.contractTypeId.toString();
|
optionElement.value = contractType.contractTypeId.toString();
|
||||||
optionElement.textContent = occupancyType.occupancyType;
|
optionElement.textContent = contractType.contractType;
|
||||||
if (occupancyType.contractTypeId === fee.contractTypeId) {
|
if (contractType.contractTypeId === fee.contractTypeId) {
|
||||||
optionElement.selected = true;
|
optionElement.selected = true;
|
||||||
}
|
}
|
||||||
occupancyTypeElement.append(optionElement);
|
contractTypeElement.append(optionElement);
|
||||||
}
|
}
|
||||||
const lotTypeElement = modalElement.querySelector('#feeEdit--burialSiteTypeId');
|
const lotTypeElement = modalElement.querySelector('#feeEdit--burialSiteTypeId');
|
||||||
for (const lotType of exports.lotTypes) {
|
for (const lotType of exports.lotTypes) {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue