diff --git a/database/getContract.js b/database/getContract.js index d9e9fd78..f982afb2 100644 --- a/database/getContract.js +++ b/database/getContract.js @@ -1,4 +1,4 @@ -import { dateIntegerToString, timeIntegerToString } from '@cityssm/utils-datetime'; +import { dateIntegerToString, timeIntegerToPeriodString, timeIntegerToString } from '@cityssm/utils-datetime'; import getContractComments from './getContractComments.js'; import getContractFees from './getContractFees.js'; import getContractFields from './getContractFields.js'; @@ -10,6 +10,7 @@ export default async function getContract(contractId, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); database.function('userFn_timeIntegerToString', timeIntegerToString); + database.function('userFn_timeIntegerToPeriodString', timeIntegerToPeriodString); const contract = database .prepare(`select o.contractId, o.contractTypeId, t.contractType, t.isPreneed, @@ -24,7 +25,9 @@ export default async function getContract(contractId, connectedDatabase) { f.funeralHomeName, f.funeralHomeAddress1, f.funeralHomeAddress2, f.funeralHomeCity, f.funeralHomeProvince, f.funeralHomePostalCode, o.funeralDate, userFn_dateIntegerToString(o.funeralDate) as funeralDateString, - o.funeralTime, userFn_timeIntegerToString(o.funeralTime) as funeralTimeString, + o.funeralTime, + userFn_timeIntegerToString(o.funeralTime) as funeralTimeString, + userFn_timeIntegerToPeriodString(o.funeralTime) as funeralTimePeriodString, o.committalTypeId, c.committalType, o.recordUpdate_timeMillis from Contracts o diff --git a/database/getContract.ts b/database/getContract.ts index ae60c0c7..68726bd5 100644 --- a/database/getContract.ts +++ b/database/getContract.ts @@ -1,4 +1,4 @@ -import { dateIntegerToString, timeIntegerToString } from '@cityssm/utils-datetime' +import { dateIntegerToString, timeIntegerToPeriodString, timeIntegerToString } from '@cityssm/utils-datetime' import type { PoolConnection } from 'better-sqlite-pool' import type { Contract } from '../types/recordTypes.js' @@ -19,6 +19,7 @@ export default async function getContract( database.function('userFn_dateIntegerToString', dateIntegerToString) database.function('userFn_timeIntegerToString', timeIntegerToString) + database.function('userFn_timeIntegerToPeriodString', timeIntegerToPeriodString) const contract = database .prepare( @@ -35,7 +36,9 @@ export default async function getContract( f.funeralHomeName, f.funeralHomeAddress1, f.funeralHomeAddress2, f.funeralHomeCity, f.funeralHomeProvince, f.funeralHomePostalCode, o.funeralDate, userFn_dateIntegerToString(o.funeralDate) as funeralDateString, - o.funeralTime, userFn_timeIntegerToString(o.funeralTime) as funeralTimeString, + o.funeralTime, + userFn_timeIntegerToString(o.funeralTime) as funeralTimeString, + userFn_timeIntegerToPeriodString(o.funeralTime) as funeralTimePeriodString, o.committalTypeId, c.committalType, o.recordUpdate_timeMillis from Contracts o diff --git a/database/updateContract.d.ts b/database/updateContract.d.ts index 968bafcc..7727cd66 100644 --- a/database/updateContract.d.ts +++ b/database/updateContract.d.ts @@ -1,4 +1,4 @@ -import { type DateString } from '@cityssm/utils-datetime'; +import { type DateString, type TimeString } from '@cityssm/utils-datetime'; export interface UpdateContractForm { contractId: string | number; contractTypeId: string | number; @@ -6,7 +6,10 @@ export interface UpdateContractForm { contractStartDateString: DateString; contractEndDateString: DateString | ''; funeralHomeId?: string | number; - funeralDirectorName?: string; + funeralDirectorName: string; + funeralDateString: DateString | ''; + funeralTimeString: TimeString | ''; + committalTypeId?: string | number; purchaserName?: string; purchaserAddress1?: string; purchaserAddress2?: string; diff --git a/database/updateContract.js b/database/updateContract.js index 0d602dc3..1bd8c039 100644 --- a/database/updateContract.js +++ b/database/updateContract.js @@ -1,7 +1,8 @@ -import { dateStringToInteger } from '@cityssm/utils-datetime'; +import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; import addOrUpdateContractField from './addOrUpdateContractField.js'; import deleteContractField from './deleteContractField.js'; import { acquireConnection } from './pool.js'; +// eslint-disable-next-line complexity export default async function updateContract(updateForm, user) { const database = await acquireConnection(); const result = database @@ -12,6 +13,9 @@ export default async function updateContract(updateForm, user) { contractEndDate = ?, funeralHomeId = ?, funeralDirectorName = ?, + funeralDate = ?, + funeralTime = ?, + committalTypeId = ?, purchaserName = ?, purchaserAddress1 = ?, purchaserAddress2 = ?, @@ -27,7 +31,13 @@ export default async function updateContract(updateForm, user) { and recordDelete_timeMillis is null`) .run(updateForm.contractTypeId, updateForm.burialSiteId === '' ? undefined : updateForm.burialSiteId, dateStringToInteger(updateForm.contractStartDateString), updateForm.contractEndDateString === '' ? undefined - : dateStringToInteger(updateForm.contractEndDateString), updateForm.funeralHomeId === '' ? undefined : updateForm.funeralHomeId, updateForm.funeralDirectorName ?? '', updateForm.purchaserName ?? '', updateForm.purchaserAddress1 ?? '', updateForm.purchaserAddress2 ?? '', updateForm.purchaserCity ?? '', updateForm.purchaserProvince ?? '', updateForm.purchaserPostalCode ?? '', updateForm.purchaserPhoneNumber ?? '', updateForm.purchaserEmail ?? '', updateForm.purchaserRelationship ?? '', user.userName, Date.now(), updateForm.contractId); + : dateStringToInteger(updateForm.contractEndDateString), updateForm.funeralHomeId === '' ? undefined : updateForm.funeralHomeId, updateForm.funeralDirectorName, updateForm.funeralDateString === '' + ? undefined + : dateStringToInteger(updateForm.funeralDateString), updateForm.funeralTimeString === '' + ? undefined + : timeStringToInteger(updateForm.funeralTimeString), updateForm.committalTypeId === '' + ? undefined + : updateForm.committalTypeId, updateForm.purchaserName ?? '', updateForm.purchaserAddress1 ?? '', updateForm.purchaserAddress2 ?? '', updateForm.purchaserCity ?? '', updateForm.purchaserProvince ?? '', updateForm.purchaserPostalCode ?? '', updateForm.purchaserPhoneNumber ?? '', updateForm.purchaserEmail ?? '', updateForm.purchaserRelationship ?? '', user.userName, Date.now(), updateForm.contractId); if (result.changes > 0) { const contractTypeFieldIds = (updateForm.contractTypeFieldIds ?? '').split(','); for (const contractTypeFieldId of contractTypeFieldIds) { diff --git a/database/updateContract.ts b/database/updateContract.ts index 61be62c9..6809ab70 100644 --- a/database/updateContract.ts +++ b/database/updateContract.ts @@ -1,4 +1,9 @@ -import { type DateString, dateStringToInteger } from '@cityssm/utils-datetime' +import { + type DateString, + type TimeString, + dateStringToInteger, + timeStringToInteger +} from '@cityssm/utils-datetime' import addOrUpdateContractField from './addOrUpdateContractField.js' import deleteContractField from './deleteContractField.js' @@ -13,7 +18,10 @@ export interface UpdateContractForm { contractEndDateString: DateString | '' funeralHomeId?: string | number - funeralDirectorName?: string + funeralDirectorName: string + funeralDateString: DateString | '' + funeralTimeString: TimeString | '' + committalTypeId?: string | number purchaserName?: string purchaserAddress1?: string @@ -29,6 +37,7 @@ export interface UpdateContractForm { [fieldValue_contractTypeFieldId: `fieldValue_${string}`]: unknown } +// eslint-disable-next-line complexity export default async function updateContract( updateForm: UpdateContractForm, user: User @@ -44,6 +53,9 @@ export default async function updateContract( contractEndDate = ?, funeralHomeId = ?, funeralDirectorName = ?, + funeralDate = ?, + funeralTime = ?, + committalTypeId = ?, purchaserName = ?, purchaserAddress1 = ?, purchaserAddress2 = ?, @@ -66,7 +78,16 @@ export default async function updateContract( ? undefined : dateStringToInteger(updateForm.contractEndDateString), updateForm.funeralHomeId === '' ? undefined : updateForm.funeralHomeId, - updateForm.funeralDirectorName ?? '', + updateForm.funeralDirectorName, + updateForm.funeralDateString === '' + ? undefined + : dateStringToInteger(updateForm.funeralDateString), + updateForm.funeralTimeString === '' + ? undefined + : timeStringToInteger(updateForm.funeralTimeString), + updateForm.committalTypeId === '' + ? undefined + : updateForm.committalTypeId, updateForm.purchaserName ?? '', updateForm.purchaserAddress1 ?? '', updateForm.purchaserAddress2 ?? '', @@ -82,9 +103,9 @@ export default async function updateContract( ) if (result.changes > 0) { - const contractTypeFieldIds = ( - updateForm.contractTypeFieldIds ?? '' - ).split(',') + const contractTypeFieldIds = (updateForm.contractTypeFieldIds ?? '').split( + ',' + ) for (const contractTypeFieldId of contractTypeFieldIds) { const fieldValue = updateForm[ diff --git a/public/javascripts/contract.editInterments.js b/public/javascripts/contract.editInterments.js index 9e24b66f..c6626623 100644 --- a/public/javascripts/contract.editInterments.js +++ b/public/javascripts/contract.editInterments.js @@ -210,7 +210,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); Age:
+ Funeral Home
+ <%= contract.funeralHomeName %>
+
+ <% if (contract.funeralHomeAddress1) { %>
+ <%= contract.funeralHomeAddress1 %>
+ <% } %>
+ <% if (contract.funeralHomeAddress2) { %>
+ <%= contract.funeralHomeAddress2 %>
+ <% } %>
+ <% if (contract.funeralHomeCity) { %>
+ <%= contract.funeralHomeCity %>,
+ <% } %>
+ <%= contract.funeralHomeProvince %>
+ <%= contract.funeralHomePostalCode %>
+
+
+ Phone
+ <%= contract.funeralHomePhoneNumber %>
+
+ Email
+ <%= contract.funeralHomeEmail %>
+
+ Director
+ <%= contract.funeralDirectorName %>
+
+ Service Date
+ <%= contract.funeralDateString %>
+
+ Service Time
+ <%= contract.funeralTimePeriodString %>
+
+ Committal Type
+ <%= contract.committalType %>
+