linting
parent
4a1f6b42b0
commit
b2da12dac1
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"reject": ["puppeteer"]
|
||||||
|
}
|
||||||
|
|
@ -31,6 +31,15 @@ Sunrise CMS does not need an expensive server to run.
|
||||||
No separate database server is required either.
|
No separate database server is required either.
|
||||||
The whole application could run on a current, modest workstation.
|
The whole application could run on a current, modest workstation.
|
||||||
|
|
||||||
|
### ✔️ Track Unlimited Cemeteries and Burial Sites
|
||||||
|
|
||||||
|
There are no limits to the number of records that can be tracked in Sunrise CMS.
|
||||||
|
|
||||||
|
### ✔️ Includes a Built-In Work Order System
|
||||||
|
|
||||||
|
In addition to tracking data related to cemetery plots,
|
||||||
|
Sunrise CMS can also track work order activities, like grave maintenance.
|
||||||
|
|
||||||
### ✔️ Sunrise CMS is Free and Open Source
|
### ✔️ Sunrise CMS is Free and Open Source
|
||||||
|
|
||||||
There's no cost to use it.
|
There's no cost to use it.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import type { Request, Response } from 'express';
|
import type { Request, Response } from 'express';
|
||||||
export default function handler(request: Request<unknown, unknown, {
|
export default function handler(request: Request<unknown, unknown, {
|
||||||
burialSiteStatus: string;
|
burialSiteStatus: string;
|
||||||
orderNumber?: string | number;
|
orderNumber?: number | string;
|
||||||
}>, response: Response): Promise<void>;
|
}>, response: Response): Promise<void>;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ export default async function handler(request, response) {
|
||||||
const burialSiteStatuses = await getBurialSiteStatuses();
|
const burialSiteStatuses = await getBurialSiteStatuses();
|
||||||
response.json({
|
response.json({
|
||||||
success: true,
|
success: true,
|
||||||
burialSiteStatusId,
|
burialSiteStatuses,
|
||||||
burialSiteStatuses
|
burialSiteStatusId
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ export default async function handler(
|
||||||
request: Request<
|
request: Request<
|
||||||
unknown,
|
unknown,
|
||||||
unknown,
|
unknown,
|
||||||
{ burialSiteStatus: string; orderNumber?: string | number }
|
{ burialSiteStatus: string; orderNumber?: number | string }
|
||||||
>,
|
>,
|
||||||
response: Response
|
response: Response
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
|
|
@ -22,7 +22,8 @@ export default async function handler(
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
success: true,
|
success: true,
|
||||||
burialSiteStatusId,
|
|
||||||
burialSiteStatuses
|
burialSiteStatuses,
|
||||||
|
burialSiteStatusId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import type { Request, Response } from 'express';
|
import type { Request, Response } from 'express';
|
||||||
export default function handler(request: Request<unknown, unknown, {
|
export default function handler(request: Request<unknown, unknown, {
|
||||||
burialSiteType: string;
|
burialSiteType: string;
|
||||||
orderNumber?: string | number;
|
orderNumber?: number | string;
|
||||||
}>, response: Response): Promise<void>;
|
}>, response: Response): Promise<void>;
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ export default async function handler(
|
||||||
request: Request<
|
request: Request<
|
||||||
unknown,
|
unknown,
|
||||||
unknown,
|
unknown,
|
||||||
{ burialSiteType: string; orderNumber?: string | number }
|
{ burialSiteType: string; orderNumber?: number | string }
|
||||||
>,
|
>,
|
||||||
response: Response
|
response: Response
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
|
|
@ -22,6 +22,7 @@ export default async function handler(
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
success: true,
|
success: true,
|
||||||
|
|
||||||
burialSiteTypeId,
|
burialSiteTypeId,
|
||||||
burialSiteTypes
|
burialSiteTypes
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ export default async function handler(
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
success: true,
|
success: true,
|
||||||
|
|
||||||
burialSiteTypeFieldId,
|
burialSiteTypeFieldId,
|
||||||
burialSiteTypes
|
burialSiteTypes
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ export default async function handler(request, response) {
|
||||||
const allContractTypeFields = await getAllContractTypeFields();
|
const allContractTypeFields = await getAllContractTypeFields();
|
||||||
response.json({
|
response.json({
|
||||||
success: true,
|
success: true,
|
||||||
|
allContractTypeFields,
|
||||||
contractTypeId,
|
contractTypeId,
|
||||||
contractTypes,
|
contractTypes
|
||||||
allContractTypeFields
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,9 @@ export default async function handler(
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
success: true,
|
success: true,
|
||||||
|
|
||||||
|
allContractTypeFields,
|
||||||
contractTypeId,
|
contractTypeId,
|
||||||
contractTypes,
|
contractTypes
|
||||||
allContractTypeFields
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -192,11 +192,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
<strong>Birth:</strong>
|
<strong>Birth:</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
${cityssm.escapeHTML(interment.birthDateString ?? '(No Birth Date)')}<br />
|
${cityssm.escapeHTML((interment.birthDateString ?? '') === ''
|
||||||
|
? '(No Birth Date)'
|
||||||
|
: interment.birthDateString ?? '')}<br />
|
||||||
${cityssm.escapeHTML(interment.birthPlace ?? '(No Birth Place)')}
|
${cityssm.escapeHTML(interment.birthPlace ?? '(No Birth Place)')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="columns mb-0">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<strong>Death:</strong>
|
<strong>Death:</strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -205,12 +207,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
${cityssm.escapeHTML(interment.deathPlace ?? '(No Death Place)')}
|
${cityssm.escapeHTML(interment.deathPlace ?? '(No Death Place)')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="columns mb-0">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<strong>Age:</strong>
|
<strong>Age:</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
${cityssm.escapeHTML((interment.deathAge ?? '') === '' ? '(No Age)' : interment.deathAge?.toString() ?? '')}<br />
|
${cityssm.escapeHTML((interment.deathAge ?? '') === '' ? '(No Age)' : interment.deathAge?.toString() ?? '')}
|
||||||
${cityssm.escapeHTML(interment.deathAgePeriod ?? '')}
|
${cityssm.escapeHTML(interment.deathAgePeriod ?? '')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -291,11 +291,15 @@ declare const exports: Record<string, unknown>
|
||||||
<strong>Birth:</strong>
|
<strong>Birth:</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
${cityssm.escapeHTML(interment.birthDateString ?? '(No Birth Date)')}<br />
|
${cityssm.escapeHTML(
|
||||||
|
(interment.birthDateString ?? '') === ''
|
||||||
|
? '(No Birth Date)'
|
||||||
|
: interment.birthDateString ?? ''
|
||||||
|
)}<br />
|
||||||
${cityssm.escapeHTML(interment.birthPlace ?? '(No Birth Place)')}
|
${cityssm.escapeHTML(interment.birthPlace ?? '(No Birth Place)')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="columns mb-0">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<strong>Death:</strong>
|
<strong>Death:</strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -304,12 +308,12 @@ declare const exports: Record<string, unknown>
|
||||||
${cityssm.escapeHTML(interment.deathPlace ?? '(No Death Place)')}
|
${cityssm.escapeHTML(interment.deathPlace ?? '(No Death Place)')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="columns mb-0">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<strong>Age:</strong>
|
<strong>Age:</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
${cityssm.escapeHTML((interment.deathAge ?? '') === '' ? '(No Age)' : interment.deathAge?.toString() ?? '')}<br />
|
${cityssm.escapeHTML((interment.deathAge ?? '') === '' ? '(No Age)' : interment.deathAge?.toString() ?? '')}
|
||||||
${cityssm.escapeHTML(interment.deathAgePeriod ?? '')}
|
${cityssm.escapeHTML(interment.deathAgePeriod ?? '')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -103,10 +103,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
actualSeedString += 'a1';
|
actualSeedString += 'a1';
|
||||||
}
|
}
|
||||||
return exports.randomColor({
|
return exports.randomColor({
|
||||||
seed: actualSeedString + actualSeedString,
|
|
||||||
hue: hues[actualSeedString.codePointAt(actualSeedString.length - 1) %
|
hue: hues[actualSeedString.codePointAt(actualSeedString.length - 1) %
|
||||||
hues.length],
|
hues.length],
|
||||||
luminosity: luminosity[actualSeedString.codePointAt(actualSeedString.length - 2) % luminosity.length]
|
luminosity: luminosity[actualSeedString.codePointAt(actualSeedString.length - 2) % luminosity.length],
|
||||||
|
seed: actualSeedString + actualSeedString
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
@ -202,24 +202,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
* Declare sunrise
|
* Declare sunrise
|
||||||
*/
|
*/
|
||||||
const sunrise = {
|
const sunrise = {
|
||||||
urlPrefix,
|
|
||||||
apiKey: document.querySelector('main')?.dataset.apiKey ?? '',
|
apiKey: document.querySelector('main')?.dataset.apiKey ?? '',
|
||||||
dynamicsGPIntegrationIsEnabled,
|
dynamicsGPIntegrationIsEnabled,
|
||||||
|
urlPrefix,
|
||||||
highlightMap,
|
highlightMap,
|
||||||
initializeUnlockFieldButtons,
|
initializeUnlockFieldButtons,
|
||||||
populateAliases,
|
|
||||||
escapedAliases,
|
escapedAliases,
|
||||||
|
populateAliases,
|
||||||
getRandomColor,
|
getRandomColor,
|
||||||
setUnsavedChanges,
|
|
||||||
clearUnsavedChanges,
|
clearUnsavedChanges,
|
||||||
hasUnsavedChanges,
|
hasUnsavedChanges,
|
||||||
getMoveUpDownButtonFieldHTML,
|
setUnsavedChanges,
|
||||||
getLoadingParagraphHTML,
|
getLoadingParagraphHTML,
|
||||||
|
getMoveUpDownButtonFieldHTML,
|
||||||
getSearchResultsPagerHTML,
|
getSearchResultsPagerHTML,
|
||||||
getCemeteryURL,
|
|
||||||
getBurialSiteURL,
|
getBurialSiteURL,
|
||||||
getFuneralHomeURL,
|
getCemeteryURL,
|
||||||
getContractURL,
|
getContractURL,
|
||||||
|
getFuneralHomeURL,
|
||||||
getWorkOrderURL
|
getWorkOrderURL
|
||||||
};
|
};
|
||||||
exports.sunrise = sunrise;
|
exports.sunrise = sunrise;
|
||||||
|
|
|
||||||
|
|
@ -3,26 +3,26 @@ import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
||||||
import type { Sunrise } from './types.js'
|
import type { Sunrise } from './types.js'
|
||||||
|
|
||||||
type RandomColorHue =
|
type RandomColorHue =
|
||||||
| 'red'
|
|
||||||
| 'orange'
|
|
||||||
| 'yellow'
|
|
||||||
| 'green'
|
|
||||||
| 'blue'
|
| 'blue'
|
||||||
| 'purple'
|
| 'green'
|
||||||
| 'pink'
|
|
||||||
| 'monochrome'
|
| 'monochrome'
|
||||||
type RandomColorLuminosity = 'bright' | 'light' | 'dark'
|
| 'orange'
|
||||||
|
| 'pink'
|
||||||
|
| 'purple'
|
||||||
|
| 'red'
|
||||||
|
| 'yellow'
|
||||||
|
type RandomColorLuminosity = 'bright' | 'dark' | 'light'
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
declare const exports: Record<string, unknown> & {
|
declare const exports: Record<string, unknown> & {
|
||||||
aliases: Record<string, string>
|
aliases: Record<string, string>
|
||||||
randomColor: (options?: {
|
randomColor: (options?: {
|
||||||
|
alpha?: number
|
||||||
|
count?: number
|
||||||
|
format?: 'hex' | 'hsl' | 'hsla' | 'hslArray' | 'rgb' | 'rgba' | 'rgbArray'
|
||||||
hue?: RandomColorHue
|
hue?: RandomColorHue
|
||||||
luminosity?: RandomColorLuminosity
|
luminosity?: RandomColorLuminosity
|
||||||
count?: number
|
|
||||||
seed?: number | string
|
seed?: number | string
|
||||||
format?: 'rgb' | 'rgba' | 'rgbArray' | 'hsl' | 'hsla' | 'hslArray' | 'hex'
|
|
||||||
alpha?: number
|
|
||||||
}) => string
|
}) => string
|
||||||
}
|
}
|
||||||
;(() => {
|
;(() => {
|
||||||
|
|
@ -55,7 +55,7 @@ declare const exports: Record<string, unknown> & {
|
||||||
function highlightMap(
|
function highlightMap(
|
||||||
mapContainerElement: HTMLElement,
|
mapContainerElement: HTMLElement,
|
||||||
mapKey: string,
|
mapKey: string,
|
||||||
contextualClass: 'success' | 'danger'
|
contextualClass: 'danger' | 'success'
|
||||||
): void {
|
): void {
|
||||||
// Search for ID
|
// Search for ID
|
||||||
let svgId = mapKey
|
let svgId = mapKey
|
||||||
|
|
@ -175,7 +175,6 @@ declare const exports: Record<string, unknown> & {
|
||||||
}
|
}
|
||||||
|
|
||||||
return exports.randomColor({
|
return exports.randomColor({
|
||||||
seed: actualSeedString + actualSeedString,
|
|
||||||
hue: hues[
|
hue: hues[
|
||||||
(actualSeedString.codePointAt(actualSeedString.length - 1) as number) %
|
(actualSeedString.codePointAt(actualSeedString.length - 1) as number) %
|
||||||
hues.length
|
hues.length
|
||||||
|
|
@ -185,7 +184,8 @@ declare const exports: Record<string, unknown> & {
|
||||||
(actualSeedString.codePointAt(
|
(actualSeedString.codePointAt(
|
||||||
actualSeedString.length - 2
|
actualSeedString.length - 2
|
||||||
) as number) % luminosity.length
|
) as number) % luminosity.length
|
||||||
]
|
],
|
||||||
|
seed: actualSeedString + actualSeedString
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -271,10 +271,10 @@ declare const exports: Record<string, unknown> & {
|
||||||
|
|
||||||
function getRecordURL(
|
function getRecordURL(
|
||||||
recordTypePlural:
|
recordTypePlural:
|
||||||
| 'cemeteries'
|
|
||||||
| 'burialSites'
|
| 'burialSites'
|
||||||
| 'funeralHomes'
|
| 'cemeteries'
|
||||||
| 'contracts'
|
| 'contracts'
|
||||||
|
| 'funeralHomes'
|
||||||
| 'workOrders',
|
| 'workOrders',
|
||||||
recordId: number | string,
|
recordId: number | string,
|
||||||
edit: boolean,
|
edit: boolean,
|
||||||
|
|
@ -342,29 +342,30 @@ declare const exports: Record<string, unknown> & {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const sunrise: Sunrise = {
|
const sunrise: Sunrise = {
|
||||||
urlPrefix,
|
|
||||||
apiKey: document.querySelector('main')?.dataset.apiKey ?? '',
|
apiKey: document.querySelector('main')?.dataset.apiKey ?? '',
|
||||||
dynamicsGPIntegrationIsEnabled,
|
dynamicsGPIntegrationIsEnabled,
|
||||||
|
urlPrefix,
|
||||||
|
|
||||||
highlightMap,
|
highlightMap,
|
||||||
initializeUnlockFieldButtons,
|
initializeUnlockFieldButtons,
|
||||||
|
|
||||||
populateAliases,
|
|
||||||
escapedAliases,
|
escapedAliases,
|
||||||
|
populateAliases,
|
||||||
|
|
||||||
getRandomColor,
|
getRandomColor,
|
||||||
|
|
||||||
setUnsavedChanges,
|
|
||||||
clearUnsavedChanges,
|
clearUnsavedChanges,
|
||||||
hasUnsavedChanges,
|
hasUnsavedChanges,
|
||||||
|
setUnsavedChanges,
|
||||||
|
|
||||||
getMoveUpDownButtonFieldHTML,
|
|
||||||
getLoadingParagraphHTML,
|
getLoadingParagraphHTML,
|
||||||
|
getMoveUpDownButtonFieldHTML,
|
||||||
getSearchResultsPagerHTML,
|
getSearchResultsPagerHTML,
|
||||||
|
|
||||||
getCemeteryURL,
|
|
||||||
getBurialSiteURL,
|
getBurialSiteURL,
|
||||||
getFuneralHomeURL,
|
getCemeteryURL,
|
||||||
getContractURL,
|
getContractURL,
|
||||||
|
getFuneralHomeURL,
|
||||||
getWorkOrderURL
|
getWorkOrderURL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,28 @@
|
||||||
export interface Sunrise {
|
export interface Sunrise {
|
||||||
urlPrefix: string;
|
urlPrefix: string;
|
||||||
apiKey: string;
|
apiKey: string;
|
||||||
highlightMap: (mapContainerElement: HTMLElement, mapKey: string, contextualClass: 'success' | 'danger') => void;
|
highlightMap: (mapContainerElement: HTMLElement, mapKey: string, contextualClass: 'danger' | 'success') => void;
|
||||||
initializeUnlockFieldButtons: (containerElement: HTMLElement) => void;
|
initializeUnlockFieldButtons: (containerElement: HTMLElement) => void;
|
||||||
populateAliases: (containerElement: HTMLElement) => void;
|
populateAliases: (containerElement: HTMLElement) => void;
|
||||||
escapedAliases: {
|
escapedAliases: {
|
||||||
ExternalReceiptNumber: string;
|
ExternalReceiptNumber: string;
|
||||||
externalReceiptNumber: string;
|
externalReceiptNumber: string;
|
||||||
WorkOrderOpenDate: string;
|
|
||||||
workOrderOpenDate: string;
|
|
||||||
WorkOrderCloseDate: string;
|
WorkOrderCloseDate: string;
|
||||||
workOrderCloseDate: string;
|
workOrderCloseDate: string;
|
||||||
|
WorkOrderOpenDate: string;
|
||||||
|
workOrderOpenDate: string;
|
||||||
};
|
};
|
||||||
dynamicsGPIntegrationIsEnabled: boolean;
|
dynamicsGPIntegrationIsEnabled: boolean;
|
||||||
getRandomColor: (seedString: string) => string;
|
getRandomColor: (seedString: string) => string;
|
||||||
setUnsavedChanges: () => void;
|
|
||||||
clearUnsavedChanges: () => void;
|
clearUnsavedChanges: () => void;
|
||||||
hasUnsavedChanges: () => boolean;
|
hasUnsavedChanges: () => boolean;
|
||||||
getMoveUpDownButtonFieldHTML: (upButtonClassNames: string, downButtonClassNames: string, isSmall?: boolean) => string;
|
setUnsavedChanges: () => void;
|
||||||
getLoadingParagraphHTML: (captionText?: string) => string;
|
getLoadingParagraphHTML: (captionText?: string) => string;
|
||||||
|
getMoveUpDownButtonFieldHTML: (upButtonClassNames: string, downButtonClassNames: string, isSmall?: boolean) => string;
|
||||||
getSearchResultsPagerHTML: (limit: number, offset: number, count: number) => string;
|
getSearchResultsPagerHTML: (limit: number, offset: number, count: number) => string;
|
||||||
getFuneralHomeURL: (funeralHomeId?: number | string, edit?: boolean, time?: boolean) => string;
|
|
||||||
getCemeteryURL: (cemeteryId?: number | string, edit?: boolean, time?: boolean) => string;
|
|
||||||
getBurialSiteURL: (burialSiteId?: number | string, edit?: boolean, time?: boolean) => string;
|
getBurialSiteURL: (burialSiteId?: number | string, edit?: boolean, time?: boolean) => string;
|
||||||
|
getCemeteryURL: (cemeteryId?: number | string, edit?: boolean, time?: boolean) => string;
|
||||||
getContractURL: (contractId?: number | string, edit?: boolean, time?: boolean) => string;
|
getContractURL: (contractId?: number | string, edit?: boolean, time?: boolean) => string;
|
||||||
|
getFuneralHomeURL: (funeralHomeId?: number | string, edit?: boolean, time?: boolean) => string;
|
||||||
getWorkOrderURL: (workOrderId?: number | string, edit?: boolean, time?: boolean) => string;
|
getWorkOrderURL: (workOrderId?: number | string, edit?: boolean, time?: boolean) => string;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ export interface Sunrise {
|
||||||
highlightMap: (
|
highlightMap: (
|
||||||
mapContainerElement: HTMLElement,
|
mapContainerElement: HTMLElement,
|
||||||
mapKey: string,
|
mapKey: string,
|
||||||
contextualClass: 'success' | 'danger'
|
contextualClass: 'danger' | 'success'
|
||||||
) => void
|
) => void
|
||||||
|
|
||||||
initializeUnlockFieldButtons: (containerElement: HTMLElement) => void
|
initializeUnlockFieldButtons: (containerElement: HTMLElement) => void
|
||||||
|
|
@ -15,40 +15,52 @@ export interface Sunrise {
|
||||||
escapedAliases: {
|
escapedAliases: {
|
||||||
ExternalReceiptNumber: string
|
ExternalReceiptNumber: string
|
||||||
externalReceiptNumber: string
|
externalReceiptNumber: string
|
||||||
WorkOrderOpenDate: string
|
|
||||||
workOrderOpenDate: string
|
|
||||||
WorkOrderCloseDate: string
|
WorkOrderCloseDate: string
|
||||||
workOrderCloseDate: string
|
workOrderCloseDate: string
|
||||||
|
WorkOrderOpenDate: string
|
||||||
|
workOrderOpenDate: string
|
||||||
}
|
}
|
||||||
|
|
||||||
dynamicsGPIntegrationIsEnabled: boolean
|
dynamicsGPIntegrationIsEnabled: boolean
|
||||||
|
|
||||||
getRandomColor: (seedString: string) => string
|
getRandomColor: (seedString: string) => string
|
||||||
|
|
||||||
setUnsavedChanges: () => void
|
|
||||||
clearUnsavedChanges: () => void
|
clearUnsavedChanges: () => void
|
||||||
hasUnsavedChanges: () => boolean
|
hasUnsavedChanges: () => boolean
|
||||||
|
setUnsavedChanges: () => void
|
||||||
|
|
||||||
|
getLoadingParagraphHTML: (captionText?: string) => string
|
||||||
getMoveUpDownButtonFieldHTML: (
|
getMoveUpDownButtonFieldHTML: (
|
||||||
upButtonClassNames: string,
|
upButtonClassNames: string,
|
||||||
downButtonClassNames: string,
|
downButtonClassNames: string,
|
||||||
isSmall?: boolean
|
isSmall?: boolean
|
||||||
) => string
|
) => string
|
||||||
getLoadingParagraphHTML: (captionText?: string) => string
|
|
||||||
getSearchResultsPagerHTML: (
|
getSearchResultsPagerHTML: (
|
||||||
limit: number,
|
limit: number,
|
||||||
offset: number,
|
offset: number,
|
||||||
count: number
|
count: number
|
||||||
) => string
|
) => string
|
||||||
|
|
||||||
getFuneralHomeURL: (funeralHomeId?: number | string, edit?: boolean, time?: boolean) => string
|
getBurialSiteURL: (
|
||||||
getCemeteryURL: (cemeteryId?: number | string, edit?: boolean, time?: boolean) => string
|
burialSiteId?: number | string,
|
||||||
getBurialSiteURL: (burialSiteId?: number | string, edit?: boolean, time?: boolean) => string
|
edit?: boolean,
|
||||||
|
time?: boolean
|
||||||
|
) => string
|
||||||
|
getCemeteryURL: (
|
||||||
|
cemeteryId?: number | string,
|
||||||
|
edit?: boolean,
|
||||||
|
time?: boolean
|
||||||
|
) => string
|
||||||
getContractURL: (
|
getContractURL: (
|
||||||
contractId?: number | string,
|
contractId?: number | string,
|
||||||
edit?: boolean,
|
edit?: boolean,
|
||||||
time?: boolean
|
time?: boolean
|
||||||
) => string
|
) => string
|
||||||
|
getFuneralHomeURL: (
|
||||||
|
funeralHomeId?: number | string,
|
||||||
|
edit?: boolean,
|
||||||
|
time?: boolean
|
||||||
|
) => string
|
||||||
getWorkOrderURL: (
|
getWorkOrderURL: (
|
||||||
workOrderId?: number | string,
|
workOrderId?: number | string,
|
||||||
edit?: boolean,
|
edit?: boolean,
|
||||||
|
|
|
||||||
|
|
@ -382,7 +382,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
<div class="dropdown is-right">
|
<div class="dropdown is-right">
|
||||||
<div class="dropdown-trigger">
|
<div class="dropdown-trigger">
|
||||||
<button class="button is-small" data-tooltip="Options" type="button" aria-label="Options">
|
<button class="button is-small" data-tooltip="Options" type="button" aria-label="Options">
|
||||||
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-ellipsis-v" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
|
|
|
||||||
|
|
@ -559,6 +559,7 @@ declare const exports: Record<string, unknown>
|
||||||
conflictingMilestonePanelElement
|
conflictingMilestonePanelElement
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|
||||||
onremoved() {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
}
|
}
|
||||||
|
|
@ -622,7 +623,7 @@ declare const exports: Record<string, unknown>
|
||||||
<div class="dropdown is-right">
|
<div class="dropdown is-right">
|
||||||
<div class="dropdown-trigger">
|
<div class="dropdown-trigger">
|
||||||
<button class="button is-small" data-tooltip="Options" type="button" aria-label="Options">
|
<button class="button is-small" data-tooltip="Options" type="button" aria-label="Options">
|
||||||
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-ellipsis-v" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
<span>Edit</span>
|
<span>Edit</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-light is-danger button--delete" data-tooltip="Delete Comment" type="button" aria-label="Delete">
|
<button class="button is-light is-danger button--delete" data-tooltip="Delete Comment" type="button" aria-label="Delete">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</td>`;
|
</td>`;
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@ declare const exports: Record<string, unknown>
|
||||||
<span>Edit</span>
|
<span>Edit</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-light is-danger button--delete" data-tooltip="Delete Comment" type="button" aria-label="Delete">
|
<button class="button is-light is-danger button--delete" data-tooltip="Delete Comment" type="button" aria-label="Delete">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</td>`
|
</td>`
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
: `<ul class="fa-ul ml-5">${intermentsHTML}</ul>`}
|
: `<ul class="fa-ul ml-5">${intermentsHTML}</ul>`}
|
||||||
</td><td>
|
</td><td>
|
||||||
<button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button">
|
<button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</td>`);
|
</td>`);
|
||||||
rowElement
|
rowElement
|
||||||
|
|
@ -317,12 +317,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
${burialSite.burialSiteStatusId
|
${burialSite.burialSiteStatusId
|
||||||
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
|
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
|
||||||
: '<span class="has-text-grey">(No Status)</span>'}
|
: '<span class="has-text-grey">(No Status)</span>'}
|
||||||
</td><td class="is-nowrap">
|
</td><td class="has-text-right is-nowrap">
|
||||||
<button class="button is-small is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button">
|
<button class="button is-small is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button">
|
||||||
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button">
|
<button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</td>`;
|
</td>`;
|
||||||
rowElement
|
rowElement
|
||||||
|
|
@ -350,13 +350,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
document
|
document
|
||||||
.querySelector('#button--addContract')
|
.querySelector('#button--addContract')
|
||||||
?.addEventListener('click', () => {
|
?.addEventListener('click', (addClickEvent) => {
|
||||||
|
addClickEvent.preventDefault();
|
||||||
let searchFormElement;
|
let searchFormElement;
|
||||||
let searchResultsContainerElement;
|
let searchResultsContainerElement;
|
||||||
function doSearch(event) {
|
function doSearch(event) {
|
||||||
if (event) {
|
event?.preventDefault();
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML =
|
||||||
sunrise.getLoadingParagraphHTML('Searching...');
|
sunrise.getLoadingParagraphHTML('Searching...');
|
||||||
|
|
@ -459,13 +458,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
document
|
document
|
||||||
.querySelector('#button--addBurialSite')
|
.querySelector('#button--addBurialSite')
|
||||||
?.addEventListener('click', () => {
|
?.addEventListener('click', (addClickEvent) => {
|
||||||
|
addClickEvent.preventDefault();
|
||||||
let searchFormElement;
|
let searchFormElement;
|
||||||
let searchResultsContainerElement;
|
let searchResultsContainerElement;
|
||||||
function doSearch(event) {
|
function doSearch(event) {
|
||||||
if (event) {
|
event?.preventDefault();
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML =
|
||||||
sunrise.getLoadingParagraphHTML('Searching...');
|
sunrise.getLoadingParagraphHTML('Searching...');
|
||||||
|
|
@ -490,7 +488,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
for (const burialSite of responseJSON.burialSites) {
|
for (const burialSite of responseJSON.burialSites) {
|
||||||
const rowElement = document.createElement('tr');
|
const rowElement = document.createElement('tr');
|
||||||
rowElement.className = 'container--burialSite';
|
rowElement.className = 'container--burialSite';
|
||||||
rowElement.dataset.burialSiteId = burialSite.burialSiteId.toString();
|
rowElement.dataset.burialSiteId =
|
||||||
|
burialSite.burialSiteId.toString();
|
||||||
rowElement.innerHTML = `<td class="has-text-centered">
|
rowElement.innerHTML = `<td class="has-text-centered">
|
||||||
<button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add">
|
<button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add">
|
||||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@ declare const exports: Record<string, unknown>
|
||||||
}
|
}
|
||||||
</td><td>
|
</td><td>
|
||||||
<button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button">
|
<button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</td>`
|
</td>`
|
||||||
)
|
)
|
||||||
|
|
@ -502,12 +502,12 @@ declare const exports: Record<string, unknown>
|
||||||
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
|
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
|
||||||
: '<span class="has-text-grey">(No Status)</span>'
|
: '<span class="has-text-grey">(No Status)</span>'
|
||||||
}
|
}
|
||||||
</td><td class="is-nowrap">
|
</td><td class="has-text-right is-nowrap">
|
||||||
<button class="button is-small is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button">
|
<button class="button is-small is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button">
|
||||||
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button">
|
<button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button">
|
||||||
<i class="fas fa-trash" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</td>`
|
</td>`
|
||||||
|
|
||||||
|
|
@ -546,14 +546,14 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
document
|
document
|
||||||
.querySelector('#button--addContract')
|
.querySelector('#button--addContract')
|
||||||
?.addEventListener('click', () => {
|
?.addEventListener('click', (addClickEvent) => {
|
||||||
|
addClickEvent.preventDefault()
|
||||||
|
|
||||||
let searchFormElement: HTMLFormElement
|
let searchFormElement: HTMLFormElement
|
||||||
let searchResultsContainerElement: HTMLElement
|
let searchResultsContainerElement: HTMLElement
|
||||||
|
|
||||||
function doSearch(event?: Event): void {
|
function doSearch(event?: Event): void {
|
||||||
if (event) {
|
event?.preventDefault()
|
||||||
event.preventDefault()
|
|
||||||
}
|
|
||||||
|
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML =
|
||||||
|
|
@ -703,6 +703,7 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
searchFormElement.addEventListener('submit', doSearch)
|
searchFormElement.addEventListener('submit', doSearch)
|
||||||
},
|
},
|
||||||
|
|
||||||
onremoved() {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
;(
|
;(
|
||||||
|
|
@ -728,14 +729,14 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
document
|
document
|
||||||
.querySelector('#button--addBurialSite')
|
.querySelector('#button--addBurialSite')
|
||||||
?.addEventListener('click', () => {
|
?.addEventListener('click', (addClickEvent) => {
|
||||||
|
addClickEvent.preventDefault()
|
||||||
|
|
||||||
let searchFormElement: HTMLFormElement
|
let searchFormElement: HTMLFormElement
|
||||||
let searchResultsContainerElement: HTMLElement
|
let searchResultsContainerElement: HTMLElement
|
||||||
|
|
||||||
function doSearch(event?: Event): void {
|
function doSearch(event?: Event): void {
|
||||||
if (event) {
|
event?.preventDefault()
|
||||||
event.preventDefault()
|
|
||||||
}
|
|
||||||
|
|
||||||
// eslint-disable-next-line no-unsanitized/property
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML =
|
||||||
|
|
@ -745,7 +746,9 @@ declare const exports: Record<string, unknown>
|
||||||
`${sunrise.urlPrefix}/burialSites/doSearchBurialSites`,
|
`${sunrise.urlPrefix}/burialSites/doSearchBurialSites`,
|
||||||
searchFormElement,
|
searchFormElement,
|
||||||
(rawResponseJSON) => {
|
(rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON as { burialSites: BurialSite[] }
|
const responseJSON = rawResponseJSON as {
|
||||||
|
burialSites: BurialSite[]
|
||||||
|
}
|
||||||
|
|
||||||
if (responseJSON.burialSites.length === 0) {
|
if (responseJSON.burialSites.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
|
|
@ -769,7 +772,8 @@ declare const exports: Record<string, unknown>
|
||||||
for (const burialSite of responseJSON.burialSites) {
|
for (const burialSite of responseJSON.burialSites) {
|
||||||
const rowElement = document.createElement('tr')
|
const rowElement = document.createElement('tr')
|
||||||
rowElement.className = 'container--burialSite'
|
rowElement.className = 'container--burialSite'
|
||||||
rowElement.dataset.burialSiteId = burialSite.burialSiteId.toString()
|
rowElement.dataset.burialSiteId =
|
||||||
|
burialSite.burialSiteId.toString()
|
||||||
|
|
||||||
rowElement.innerHTML = `<td class="has-text-centered">
|
rowElement.innerHTML = `<td class="has-text-centered">
|
||||||
<button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add">
|
<button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add">
|
||||||
|
|
@ -843,6 +847,7 @@ declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
searchFormElement.addEventListener('submit', doSearch)
|
searchFormElement.addEventListener('submit', doSearch)
|
||||||
},
|
},
|
||||||
|
|
||||||
onremoved() {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
;(
|
;(
|
||||||
|
|
|
||||||
|
|
@ -127,8 +127,9 @@ async function importFromMasterCSV() {
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
burialSiteNameSegment3,
|
burialSiteNameSegment3,
|
||||||
burialSiteNameSegment4,
|
burialSiteNameSegment4,
|
||||||
burialSiteTypeId,
|
|
||||||
burialSiteStatusId: importIds.availableBurialSiteStatusId,
|
burialSiteStatusId: importIds.availableBurialSiteStatusId,
|
||||||
|
burialSiteTypeId,
|
||||||
|
burialSiteImage: '',
|
||||||
cemeteryId,
|
cemeteryId,
|
||||||
cemeterySvgId: '',
|
cemeterySvgId: '',
|
||||||
burialSiteLatitude: '',
|
burialSiteLatitude: '',
|
||||||
|
|
|
||||||
|
|
@ -322,10 +322,14 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
burialSiteNameSegment2,
|
burialSiteNameSegment2,
|
||||||
burialSiteNameSegment3,
|
burialSiteNameSegment3,
|
||||||
burialSiteNameSegment4,
|
burialSiteNameSegment4,
|
||||||
burialSiteTypeId,
|
|
||||||
burialSiteStatusId: importIds.availableBurialSiteStatusId,
|
burialSiteStatusId: importIds.availableBurialSiteStatusId,
|
||||||
|
burialSiteTypeId,
|
||||||
|
|
||||||
|
burialSiteImage: '',
|
||||||
cemeteryId,
|
cemeteryId,
|
||||||
cemeterySvgId: '',
|
cemeterySvgId: '',
|
||||||
|
|
||||||
burialSiteLatitude: '',
|
burialSiteLatitude: '',
|
||||||
burialSiteLongitude: ''
|
burialSiteLongitude: ''
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -40,81 +40,81 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="navbar-menu">
|
<div class="navbar-menu">
|
||||||
<div class="navbar-start">
|
<div class="navbar-start">
|
||||||
<a class="navbar-item" href="<%= urlPrefix %>/workOrders" accesskey="1">
|
<a class="navbar-item" href="<%= urlPrefix %>/workOrders" accesskey="1">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fas fa-hard-hat" aria-hidden="true"></i>
|
<i class="fas fa-hard-hat" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
<span>Work Orders</span>
|
<span>Work Orders</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="navbar-item" href="<%= urlPrefix %>/contracts" accesskey="2">
|
<a class="navbar-item" href="<%= urlPrefix %>/contracts" accesskey="2">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<span class="fa-layers fa-fw" aria-hidden="true">
|
<span class="fa-layers fa-fw" aria-hidden="true">
|
||||||
<i class="fas fa-vector-square"></i>
|
<i class="fas fa-vector-square"></i>
|
||||||
<i class="fas fa-user" data-fa-transform="shrink-10"></i>
|
<i class="fas fa-user" data-fa-transform="shrink-10"></i>
|
||||||
</span>
|
|
||||||
</span>
|
</span>
|
||||||
<span>Contracts</span>
|
</span>
|
||||||
</a>
|
<span>Contracts</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="navbar-item has-dropdown">
|
<div class="navbar-item has-dropdown">
|
||||||
<a class="navbar-link is-arrowless" href="#">
|
<a class="navbar-link is-arrowless" href="#">
|
||||||
<span>More</span>
|
<span>More</span>
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-angle-down" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
<div class="navbar-dropdown">
|
||||||
|
<a class="navbar-item" href="<%= urlPrefix %>/funeralHomes">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fas fa-angle-down" aria-hidden="true"></i>
|
<i class="fas fa-fw fa-place-of-worship" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
|
<span>Funeral Homes</span>
|
||||||
|
</a>
|
||||||
|
<a class="navbar-item" href="<%= urlPrefix %>/burialSites" accesskey="3">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-fw fa-vector-square" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span>Burial Sites</span>
|
||||||
|
</a>
|
||||||
|
<a class="navbar-item" href="<%= urlPrefix %>/cemeteries" accesskey="4">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="far fa-fw fa-map" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span>Cemeteries</span>
|
||||||
|
</a>
|
||||||
|
<hr class="navbar-divider" />
|
||||||
|
<a class="navbar-item" href="<%= urlPrefix %>/reports">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-fw fa-file" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span>Reports</span>
|
||||||
|
</a>
|
||||||
|
<hr class="navbar-divider" />
|
||||||
|
<a class="navbar-item" href="https://cityssm.github.io/sunrise-cms/docs"
|
||||||
|
target="_blank"
|
||||||
|
accesskey="h"
|
||||||
|
rel="noopener noreferrer">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-fw fa-question-circle" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span>Help</span>
|
||||||
</a>
|
</a>
|
||||||
<div class="navbar-dropdown">
|
|
||||||
<a class="navbar-item" href="<%= urlPrefix %>/funeralHomes">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-fw fa-place-of-worship" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
<span>Funeral Homes</span>
|
|
||||||
</a>
|
|
||||||
<a class="navbar-item" href="<%= urlPrefix %>/burialSites" accesskey="3">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-fw fa-vector-square" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
<span>Burial Sites</span>
|
|
||||||
</a>
|
|
||||||
<a class="navbar-item" href="<%= urlPrefix %>/cemeteries" accesskey="4">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="far fa-fw fa-map" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
<span>Cemeteries</span>
|
|
||||||
</a>
|
|
||||||
<hr class="navbar-divider" />
|
|
||||||
<a class="navbar-item" href="<%= urlPrefix %>/reports">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-fw fa-file" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
<span>Reports</span>
|
|
||||||
</a>
|
|
||||||
<hr class="navbar-divider" />
|
|
||||||
<a class="navbar-item" href="https://cityssm.github.io/sunrise-cms/docs"
|
|
||||||
target="_blank"
|
|
||||||
accesskey="h"
|
|
||||||
rel="noopener noreferrer">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-fw fa-question-circle" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
<span>Help</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="navbar-end">
|
|
||||||
<a class="navbar-item" id="cityssm-theme--logout-button" role="button" href="#" accesskey="x">
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fas fa-fw fa-sign-out-alt" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
<span>Log Out <%=user.userName %></span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" id="cityssm-theme--logout-button" role="button" href="#" accesskey="x">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-fw fa-sign-out-alt" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span>Log Out <%=user.userName %></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,43 @@
|
||||||
<%- include('_header'); -%>
|
<%- include('_header'); -%>
|
||||||
|
|
||||||
<div class="columns is-mobile">
|
<div class="columns is-mobile">
|
||||||
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
|
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
|
||||||
<%- include('_menu-admin'); -%>
|
<%- include('_menu-admin'); -%>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<nav class="breadcrumb">
|
<nav class="breadcrumb">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||||
<span>Administrator Tools</span>
|
<span>Administrator Tools</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="is-active">
|
<li class="is-active">
|
||||||
<a href="#" aria-current="page">
|
<a href="#" aria-current="page">
|
||||||
Burial Site Type Management
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div class="columns is-vcentered">
|
|
||||||
<div class="column">
|
|
||||||
<h1 class="title is-1">
|
|
||||||
Burial Site Type Management
|
Burial Site Type Management
|
||||||
</h1>
|
</a>
|
||||||
</div>
|
</li>
|
||||||
<div class="column has-text-right is-narrow is-hidden-print">
|
</ul>
|
||||||
<button class="button is-success" id="button--addBurialSiteType" type="button" accesskey="n">
|
</nav>
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Add Burial Site Type</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="container--burialSiteTypes"></div>
|
<div class="columns is-vcentered">
|
||||||
|
<div class="column">
|
||||||
|
<h1 class="title is-1">
|
||||||
|
Burial Site Type Management
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="column has-text-right is-narrow is-hidden-print">
|
||||||
|
<button class="button is-success" id="button--addBurialSiteType" type="button" accesskey="n">
|
||||||
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Add Burial Site Type</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="container--burialSiteTypes"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%- include('_footerA'); -%>
|
<%- include('_footerA'); -%>
|
||||||
|
|
|
||||||
|
|
@ -5,79 +5,79 @@
|
||||||
<%- include('_menu-admin'); -%>
|
<%- include('_menu-admin'); -%>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<nav class="breadcrumb">
|
<nav class="breadcrumb">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||||
<span>Administrator Tools</span>
|
<span>Administrator Tools</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="is-active">
|
<li class="is-active">
|
||||||
<a href="#" aria-current="page">
|
<a href="#" aria-current="page">
|
||||||
Contract Type Management
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div class="columns is-vcentered">
|
|
||||||
<div class="column">
|
|
||||||
<h1 class="title is-1">
|
|
||||||
Contract Type Management
|
Contract Type Management
|
||||||
</h1>
|
</a>
|
||||||
</div>
|
</li>
|
||||||
<div class="column has-text-right is-narrow is-hidden-print">
|
</ul>
|
||||||
<button class="button is-success" id="button--addContractType" type="button" accesskey="n">
|
</nav>
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Add Contract Type</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tabs is-boxed" role="tablist">
|
<div class="columns is-vcentered">
|
||||||
<ul role="presentation">
|
<div class="column">
|
||||||
<li class="is-active" role="presentation">
|
<h1 class="title is-1">
|
||||||
<a href="#tab--contractTypes">
|
Contract Type Management
|
||||||
<i class="fas fa-user-friends" aria-hidden="true"></i>
|
</h1>
|
||||||
<span class="ml-2">Types and Fields</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li role="presentation">
|
|
||||||
<a href="#tab--contractTypePrints">
|
|
||||||
<i class="fas fa-print" aria-hidden="true"></i>
|
|
||||||
<span class="ml-2">Prints</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-container">
|
<div class="column has-text-right is-narrow is-hidden-print">
|
||||||
<div id="tab--contractTypes">
|
<button class="button is-success" id="button--addContractType" type="button" accesskey="n">
|
||||||
<div id="container--contractTypes"></div>
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
</div>
|
<span>Add Contract Type</span>
|
||||||
<div class="is-hidden" id="tab--contractTypePrints">
|
</button>
|
||||||
<div class="columns">
|
</div>
|
||||||
<div class="column">
|
</div>
|
||||||
<div id="container--contractTypePrints"></div>
|
|
||||||
</div>
|
<div class="tabs is-boxed" role="tablist">
|
||||||
<div class="column is-4">
|
<ul role="presentation">
|
||||||
<div class="box">
|
<li class="is-active" role="presentation">
|
||||||
<h2 class="title is-6">Available Prints</h2>
|
<a href="#tab--contractTypes">
|
||||||
<ul class="fa-ul">
|
<i class="fas fa-user-friends" aria-hidden="true"></i>
|
||||||
<% for (const [printEJS, printTitle] of Object.entries(contractTypePrintTitles)) { %>
|
<span class="ml-2">Types and Fields</span>
|
||||||
<% const printIconClass = printEJS.startsWith("pdf/") ? "fa-file-pdf" : "fa-file" %>
|
</a>
|
||||||
<li>
|
</li>
|
||||||
<span class="fa-li"><i class="fas <%= printIconClass %>" aria-hidden="true"></i></span>
|
<li role="presentation">
|
||||||
<%= printTitle %>
|
<a href="#tab--contractTypePrints">
|
||||||
</li>
|
<i class="fas fa-print" aria-hidden="true"></i>
|
||||||
<% } %>
|
<span class="ml-2">Prints</span>
|
||||||
</ul>
|
</a>
|
||||||
</div>
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="tab-container">
|
||||||
|
<div id="tab--contractTypes">
|
||||||
|
<div id="container--contractTypes"></div>
|
||||||
|
</div>
|
||||||
|
<div class="is-hidden" id="tab--contractTypePrints">
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<div id="container--contractTypePrints"></div>
|
||||||
|
</div>
|
||||||
|
<div class="column is-4">
|
||||||
|
<div class="box">
|
||||||
|
<h2 class="title is-6">Available Prints</h2>
|
||||||
|
<ul class="fa-ul">
|
||||||
|
<% for (const [printEJS, printTitle] of Object.entries(contractTypePrintTitles)) { %>
|
||||||
|
<% const printIconClass = printEJS.startsWith("pdf/") ? "fa-file-pdf" : "fa-file" %>
|
||||||
|
<li>
|
||||||
|
<span class="fa-li"><i class="fas <%= printIconClass %>" aria-hidden="true"></i></span>
|
||||||
|
<%= printTitle %>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,94 +50,94 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-container">
|
<div class="tabs-container">
|
||||||
<div id="tab--workOrderTypes">
|
<div id="tab--workOrderTypes">
|
||||||
<h2 class="title is-4">Work Order Types</h2>
|
<h2 class="title is-4">Work Order Types</h2>
|
||||||
<table class="table is-striped is-hoverable has-sticky-header">
|
<table class="table is-striped is-hoverable has-sticky-header">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Work Order Type</th>
|
<th>Work Order Type</th>
|
||||||
<th class="has-text-centered has-width-1">Options</th>
|
<th class="has-text-centered has-width-1">Options</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<form id="form--addWorkOrderType">
|
<form id="form--addWorkOrderType">
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input class="input" name="workOrderType" type="text" maxlength="100" placeholder="New Work Order Type" required />
|
<input class="input" name="workOrderType" type="text" maxlength="100" placeholder="New Work Order Type" required />
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="button is-success has-tooltip-bottom" data-tooltip="Add Work Order Type" type="submit" aria-label="Add Work Order Type">
|
<button class="button is-success has-tooltip-bottom" data-tooltip="Add Work Order Type" type="submit" aria-label="Add Work Order Type">
|
||||||
<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>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
<tbody id="container--workOrderTypes"></tbody>
|
<tbody id="container--workOrderTypes"></tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="is-hidden" id="tab--workOrderMilestoneTypes">
|
<div class="is-hidden" id="tab--workOrderMilestoneTypes">
|
||||||
<h2 class="title is-4">Work Order Milestone Types</h2>
|
<h2 class="title is-4">Work Order Milestone Types</h2>
|
||||||
<table class="table is-striped is-hoverable has-sticky-header">
|
<table class="table is-striped is-hoverable has-sticky-header">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Work Order Milestone Type</th>
|
<th>Work Order Milestone Type</th>
|
||||||
<th class="has-text-centered has-width-1">Options</th>
|
<th class="has-text-centered has-width-1">Options</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<form id="form--addWorkOrderMilestoneType">
|
<form id="form--addWorkOrderMilestoneType">
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input class="input" name="workOrderMilestoneType" type="text" maxlength="100" placeholder="New Milestone Type" required />
|
<input class="input" name="workOrderMilestoneType" type="text" maxlength="100" placeholder="New Milestone Type" required />
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="button is-success has-tooltip-bottom" data-tooltip="Add Work Order Milestone Type" type="submit" aria-label="Add Work Order Milestone Type">
|
<button class="button is-success has-tooltip-bottom" data-tooltip="Add Work Order Milestone Type" type="submit" aria-label="Add Work Order Milestone Type">
|
||||||
<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>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
<tbody id="container--workOrderMilestoneTypes"></tbody>
|
<tbody id="container--workOrderMilestoneTypes"></tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="is-hidden" id="tab--burialSiteStatuses">
|
<div class="is-hidden" id="tab--burialSiteStatuses">
|
||||||
<h2 class="title is-4">Burial Site Statuses</h2>
|
<h2 class="title is-4">Burial Site Statuses</h2>
|
||||||
<table class="table is-striped is-hoverable has-sticky-header">
|
<table class="table is-striped is-hoverable has-sticky-header">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Burial Site Status</th>
|
<th>Burial Site Status</th>
|
||||||
<th class="has-text-centered has-width-1">Options</th>
|
<th class="has-text-centered has-width-1">Options</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<form id="form--addBurialSiteStatus">
|
<form id="form--addBurialSiteStatus">
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input class="input" name="burialSiteStatus" type="text" maxlength="100" placeholder="New Burial Site Status" required />
|
<input class="input" name="burialSiteStatus" type="text" maxlength="100" placeholder="New Burial Site Status" required />
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="button is-success has-tooltip-bottom" data-tooltip="Add Status" type="submit" aria-label="Add Status">
|
<button class="button is-success has-tooltip-bottom" data-tooltip="Add Status" type="submit" aria-label="Add Status">
|
||||||
<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>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
<tbody id="container--burialSiteStatuses"></tbody>
|
<tbody id="container--burialSiteStatuses"></tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -338,7 +338,20 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Geographic Location</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Geographic Location</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-map-marker-alt" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="burialSite--burialSiteLatitude">Latitude</label>
|
<label class="label" for="burialSite--burialSiteLatitude">Latitude</label>
|
||||||
|
|
@ -363,7 +376,20 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Image</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Image</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-image" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="burialSite--cemeterySvgId">
|
<label class="label" for="burialSite--cemeterySvgId">
|
||||||
|
|
|
||||||
|
|
@ -75,46 +75,46 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="searchFilter--cemeteryId">Cemetery</label>
|
<label class="label" for="searchFilter--cemeteryId">Cemetery</label>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select id="searchFilter--cemeteryId" name="cemeteryId">
|
<select id="searchFilter--cemeteryId" name="cemeteryId">
|
||||||
<option value="">(All Cemeteries)</option>
|
<option value="">(All Cemeteries)</option>
|
||||||
<% for (const cemetery of cemeteries) { %>
|
<% for (const cemetery of cemeteries) { %>
|
||||||
<option value="<%= cemetery.cemeteryId %>" <%= (cemetery.cemeteryId.toString() === cemeteryId) ? " selected" : "" %>>
|
<option value="<%= cemetery.cemeteryId %>" <%= (cemetery.cemeteryId.toString() === cemeteryId) ? " selected" : "" %>>
|
||||||
<%= cemetery.cemeteryName || "(No Name)" %>
|
<%= cemetery.cemeteryName || "(No Name)" %>
|
||||||
</option>
|
</option>
|
||||||
<% } %>
|
<% } %>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<span class="icon is-small is-left">
|
<span class="icon is-small is-left">
|
||||||
<i class="fas fa-search" aria-hidden="true"></i>
|
<i class="fas fa-search" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="column">
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="searchFilter--burialSiteStatusId">Status</label>
|
<label class="label" for="searchFilter--burialSiteStatusId">Status</label>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select id="searchFilter--burialSiteStatusId" name="burialSiteStatusId">
|
<select id="searchFilter--burialSiteStatusId" name="burialSiteStatusId">
|
||||||
<option value="">(All Statuses)</option>
|
<option value="">(All Statuses)</option>
|
||||||
<% for (const burialSiteStatus of burialSiteStatuses) { %>
|
<% for (const burialSiteStatus of burialSiteStatuses) { %>
|
||||||
<option value="<%= burialSiteStatus.burialSiteStatusId %>" <%= (burialSiteStatus.burialSiteStatusId.toString() === burialSiteStatusId) ? " selected" : "" %>>
|
<option value="<%= burialSiteStatus.burialSiteStatusId %>" <%= (burialSiteStatus.burialSiteStatusId.toString() === burialSiteStatusId) ? " selected" : "" %>>
|
||||||
<%= burialSiteStatus.burialSiteStatus %>
|
<%= burialSiteStatus.burialSiteStatus %>
|
||||||
</option>
|
</option>
|
||||||
<% } %>
|
<% } %>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-search" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-search" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,20 @@
|
||||||
|
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Image</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Image</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-image" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<% if (burialSite.burialSiteImage) { %>
|
<% if (burialSite.burialSiteImage) { %>
|
||||||
<div class="image">
|
<div class="image">
|
||||||
|
|
|
||||||
|
|
@ -125,63 +125,89 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Address</h2>
|
<div class="panel-heading">
|
||||||
<div class="panel-block is-block">
|
<div class="level">
|
||||||
<div class="field">
|
<div class="level-left">
|
||||||
<label class="label" for="cemetery--cemeteryAddress1">Address</label>
|
<div class="level-item">
|
||||||
<div class="control">
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Address</h2>
|
||||||
<input class="input" id="cemetery--cemeteryAddress1" name="cemeteryAddress1" type="text" value="<%= cemetery.cemeteryAddress1 %>" maxlength="50" placeholder="Line 1" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
</div>
|
||||||
<div class="control">
|
<div class="level-right">
|
||||||
<input class="input" id="cemetery--cemeteryAddress2" name="cemeteryAddress2" type="text" value="<%= cemetery.cemeteryAddress2 %>" maxlength="50" placeholder="Line 2" aria-label="Address Line 2" />
|
<div class="level-item">
|
||||||
</div>
|
<i class="fas fa-location-arrow" aria-hidden="true"></i>
|
||||||
</div>
|
|
||||||
<div class="columns">
|
|
||||||
<div class="column is-8">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="cemetery--cemeteryCity">City</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="cemetery--cemeteryCity" name="cemeteryCity" value="<%= cemetery.cemeteryCity %>" maxlength="20" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="cemetery--cemeteryProvince">Province</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="cemetery--cemeteryProvince" name="cemeteryProvince" value="<%= cemetery.cemeteryProvince %>" maxlength="2" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="columns">
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="cemetery--cemeteryPostalCode">Postal Code</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="cemetery--cemeteryPostalCode" name="cemeteryPostalCode" value="<%= cemetery.cemeteryPostalCode %>" maxlength="7" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="cemetery--cemeteryPhoneNumber">Phone Number</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="cemetery--cemeteryPhoneNumber" name="cemeteryPhoneNumber" value="<%= cemetery.cemeteryPhoneNumber %>" maxlength="30" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="panel-block is-block">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="cemetery--cemeteryAddress1">Address</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="cemetery--cemeteryAddress1" name="cemeteryAddress1" type="text" value="<%= cemetery.cemeteryAddress1 %>" maxlength="50" placeholder="Line 1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="field">
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="cemetery--cemeteryAddress2" name="cemeteryAddress2" type="text" value="<%= cemetery.cemeteryAddress2 %>" maxlength="50" placeholder="Line 2" aria-label="Address Line 2" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column is-8">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="cemetery--cemeteryCity">City</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="cemetery--cemeteryCity" name="cemeteryCity" value="<%= cemetery.cemeteryCity %>" maxlength="20" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="cemetery--cemeteryProvince">Province</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="cemetery--cemeteryProvince" name="cemeteryProvince" value="<%= cemetery.cemeteryProvince %>" maxlength="2" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="cemetery--cemeteryPostalCode">Postal Code</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="cemetery--cemeteryPostalCode" name="cemeteryPostalCode" value="<%= cemetery.cemeteryPostalCode %>" maxlength="7" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="cemetery--cemeteryPhoneNumber">Phone Number</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="cemetery--cemeteryPhoneNumber" name="cemeteryPhoneNumber" value="<%= cemetery.cemeteryPhoneNumber %>" maxlength="30" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Geographic Location</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Geographic Location</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-map-marker-alt" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="cemetery--cemeteryLatitude">Latitude</label>
|
<label class="label" for="cemetery--cemeteryLatitude">Latitude</label>
|
||||||
|
|
@ -206,7 +232,20 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Image</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Image</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-image" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="cemetery--cemeterySvg">SVG File</label>
|
<label class="label" for="cemetery--cemeterySvg">SVG File</label>
|
||||||
|
|
@ -232,107 +271,107 @@
|
||||||
<% if (!isCreate) { %>
|
<% if (!isCreate) { %>
|
||||||
<% const burialSiteSearchUrl = urlPrefix + "/burialSites?cemeteryId=" + cemetery.cemeteryId; %>
|
<% const burialSiteSearchUrl = urlPrefix + "/burialSites?cemeteryId=" + cemetery.cemeteryId; %>
|
||||||
<div class="panel mt-4">
|
<div class="panel mt-4">
|
||||||
<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-5 has-text-white has-text-weight-bold">
|
<h2 class="title is-5 has-text-white has-text-weight-bold">
|
||||||
Burial Site Summaries
|
Burial Site Summaries
|
||||||
<a class="tag is-link ml-2" href="<%= burialSiteSearchUrl %>">
|
<a class="tag is-link ml-2" href="<%= burialSiteSearchUrl %>">
|
||||||
<%= cemetery.burialSiteCount %>
|
<%= cemetery.burialSiteCount %>
|
||||||
</a>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="level-right">
|
|
||||||
<div class="level-item">
|
|
||||||
<a class="button is-small is-success has-text-weight-normal" href="<%=urlPrefix %>/burialSites/new?cemeteryId=<%= cemetery.cemeteryId %>">
|
|
||||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Create a Burial Site</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="level-item">
|
|
||||||
<a class="button is-small has-text-weight-normal" href="<%=urlPrefix %>/reports/burialSites-byCemeteryId?cemeteryId=<%= cemetery.cemeteryId %>" download>
|
|
||||||
<span class="icon"><i class="fas fa-download" aria-hidden="true"></i></span>
|
|
||||||
<span>Export All</span>
|
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<a class="button is-small is-success has-text-weight-normal" href="<%=urlPrefix %>/burialSites/new?cemeteryId=<%= cemetery.cemeteryId %>">
|
||||||
|
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Create a Burial Site</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="level-item">
|
||||||
|
<a class="button is-small has-text-weight-normal" href="<%=urlPrefix %>/reports/burialSites-byCemeteryId?cemeteryId=<%= cemetery.cemeteryId %>" download>
|
||||||
|
<span class="icon"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||||
|
<span>Export All</span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-block is-block">
|
</div>
|
||||||
<% if (cemetery.burialSiteCount === 0) { %>
|
<div class="panel-block is-block">
|
||||||
<div class="message is-info">
|
<% if (cemetery.burialSiteCount === 0) { %>
|
||||||
<p class="message-body">
|
<div class="message is-info">
|
||||||
There are no burial sites
|
<p class="message-body">
|
||||||
associated with this cemetery.
|
There are no burial sites
|
||||||
</p>
|
associated with this cemetery.
|
||||||
</div>
|
</p>
|
||||||
<% } else { %>
|
</div>
|
||||||
<div class="columns">
|
<% } else { %>
|
||||||
<div class="column">
|
<div class="columns">
|
||||||
<table class="table is-fullwidth is-striped is-hoverable">
|
<div class="column">
|
||||||
<thead>
|
<table class="table is-fullwidth is-striped is-hoverable">
|
||||||
<tr>
|
<thead>
|
||||||
<th>Type</th>
|
<tr>
|
||||||
<th class="has-text-right">
|
<th>Type</th>
|
||||||
Burial Site Count
|
<th class="has-text-right">
|
||||||
</th>
|
Burial Site Count
|
||||||
<th class="has-text-right">Percentage</th>
|
</th>
|
||||||
</tr>
|
<th class="has-text-right">Percentage</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
<% for (const burialSiteType of burialSiteTypeSummary) { %>
|
<tbody>
|
||||||
<tr>
|
<% for (const burialSiteType of burialSiteTypeSummary) { %>
|
||||||
<td>
|
<tr>
|
||||||
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteTypeId=<%= burialSiteType.burialSiteTypeId %>">
|
<td>
|
||||||
<%= burialSiteType.burialSiteType %>
|
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteTypeId=<%= burialSiteType.burialSiteTypeId %>">
|
||||||
</a>
|
<%= burialSiteType.burialSiteType %>
|
||||||
</td>
|
</a>
|
||||||
<td class="has-text-right">
|
</td>
|
||||||
<%= burialSiteType.burialSiteCount %>
|
<td class="has-text-right">
|
||||||
</td>
|
<%= burialSiteType.burialSiteCount %>
|
||||||
<td class="has-text-right">
|
</td>
|
||||||
<%= ((burialSiteType.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
<td class="has-text-right">
|
||||||
</td>
|
<%= ((burialSiteType.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
||||||
</tr>
|
</td>
|
||||||
<% } %>
|
</tr>
|
||||||
</tbody>
|
<% } %>
|
||||||
</table>
|
</tbody>
|
||||||
</div>
|
</table>
|
||||||
<div class="column">
|
</div>
|
||||||
<table class="table is-fullwidth is-striped is-hoverable">
|
<div class="column">
|
||||||
<thead>
|
<table class="table is-fullwidth is-striped is-hoverable">
|
||||||
<tr>
|
<thead>
|
||||||
<th>Status</th>
|
<tr>
|
||||||
<th class="has-text-right">
|
<th>Status</th>
|
||||||
Burial Site Count
|
<th class="has-text-right">
|
||||||
</th>
|
Burial Site Count
|
||||||
<th class="has-text-right">Percentage</th>
|
</th>
|
||||||
</tr>
|
<th class="has-text-right">Percentage</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
<% for (const burialSiteStatus of burialSiteStatusSummary) { %>
|
<tbody>
|
||||||
<tr>
|
<% for (const burialSiteStatus of burialSiteStatusSummary) { %>
|
||||||
<td>
|
<tr>
|
||||||
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteStatusId=<%= burialSiteStatus.burialSiteStatusId %>">
|
<td>
|
||||||
<%= burialSiteStatus.burialSiteStatus %>
|
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteStatusId=<%= burialSiteStatus.burialSiteStatusId %>">
|
||||||
</a>
|
<%= burialSiteStatus.burialSiteStatus %>
|
||||||
</td>
|
</a>
|
||||||
<td class="has-text-right">
|
</td>
|
||||||
<%= burialSiteStatus.burialSiteCount %>
|
<td class="has-text-right">
|
||||||
</td>
|
<%= burialSiteStatus.burialSiteCount %>
|
||||||
<td class="has-text-right">
|
</td>
|
||||||
<%= ((burialSiteStatus.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
<td class="has-text-right">
|
||||||
</td>
|
<%= ((burialSiteStatus.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
||||||
</tr>
|
</td>
|
||||||
<% } %>
|
</tr>
|
||||||
</tbody>
|
<% } %>
|
||||||
</table>
|
</tbody>
|
||||||
</div>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<% } %>
|
</div>
|
||||||
</div>
|
<% } %>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,20 @@
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Geographic Location</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Geographic Location</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-map-marker-alt" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<% if (cemetery.cemeteryLatitude && cemetery.cemeteryLongitude) { %>
|
<% if (cemetery.cemeteryLatitude && cemetery.cemeteryLongitude) { %>
|
||||||
<div id="cemetery--leaflet" data-cemetery-latitude="<%= cemetery.cemeteryLatitude %>" data-cemetery-longitude="<%= cemetery.cemeteryLongitude %>" style="height:300px"></div>
|
<div id="cemetery--leaflet" data-cemetery-latitude="<%= cemetery.cemeteryLatitude %>" data-cemetery-longitude="<%= cemetery.cemeteryLongitude %>" style="height:300px"></div>
|
||||||
|
|
@ -112,7 +125,20 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2 class="panel-heading">Image</h2>
|
<div class="panel-heading">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Image</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<i class="fas fa-image" aria-hidden="true"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<% if (cemetery.cemeterySvg) { %>
|
<% if (cemetery.cemeterySvg) { %>
|
||||||
<% const imageURL = urlPrefix + "/internal/images/cemeteries/" + cemetery.cemeterySvg %>
|
<% const imageURL = urlPrefix + "/internal/images/cemeteries/" + cemetery.cemeterySvg %>
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
<% if (workOrderPrints.length > 0) { %>
|
<% if (workOrderPrints.length > 0) { %>
|
||||||
<span class="is-pulled-right">
|
<span class="is-pulled-right">
|
||||||
<a class="button is-small" data-tooltip="Print Work Order" href="<%=urlPrefix %>/print/<%= workOrderPrints[0] %>/?workOrderId=<%= milestone.workOrderId %>" target="_blank" aria-label="Print">
|
<a class="button is-small" data-tooltip="Print Work Order" href="<%=urlPrefix %>/print/<%= workOrderPrints[0] %>/?workOrderId=<%= milestone.workOrderId %>" target="_blank" aria-label="Print">
|
||||||
<i class="fas fa-print" aria-hidden="true"></i>
|
<span class="icon is-small"><i class="fas fa-print" aria-hidden="true"></i></span>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
@ -228,8 +228,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns is-desktop">
|
<div class="columns is-multiline">
|
||||||
<div class="column">
|
<div class="column is-6-widescreen is-full-desktop is-full-tablet">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<a class="panel-block" href="<%= urlPrefix %>/reports">
|
<a class="panel-block" href="<%= urlPrefix %>/reports">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
|
|
@ -246,7 +246,7 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column is-6-widescreen is-full-desktop is-full-tablet">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<a class="panel-block" href="https://cityssm.github.io/sunrise-cms/docs" rel="noopener noreferrer" target="_blank">
|
<a class="panel-block" href="https://cityssm.github.io/sunrise-cms/docs" rel="noopener noreferrer" target="_blank">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
|
|
|
||||||
|
|
@ -83,76 +83,75 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form id="form--funeralHome">
|
<form id="form--funeralHome">
|
||||||
<input id="funeralHome--funeralHomeId" name="funeralHomeId" type="hidden" value="<%= funeralHome.funeralHomeId %>" />
|
<input id="funeralHome--funeralHomeId" name="funeralHomeId" type="hidden" value="<%= funeralHome.funeralHomeId %>" />
|
||||||
|
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="funeralHome--funeralHomeName">Funeral Home Name</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="funeralHome--funeralHomeName" name="funeralHomeName" type="text"
|
||||||
|
value="<%= funeralHome.funeralHomeName %>" maxlength="200" required
|
||||||
|
accesskey="f"
|
||||||
|
<%= (isCreate ? " autofocus" : "") %> />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="funeralHome--funeralHomeAddress1">Address</label>
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="funeralHome--funeralHomeAddress1" name="funeralHomeAddress1" type="text" value="<%= funeralHome.funeralHomeAddress1 %>" maxlength="50" placeholder="Line 1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="field">
|
||||||
|
<div class="control">
|
||||||
|
<input class="input" id="funeralHome--funeralHomeAddress2" name="funeralHomeAddress2" type="text" value="<%= funeralHome.funeralHomeAddress2 %>" maxlength="50" placeholder="Line 2" aria-label="Address Line 2" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column is-8">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="funeralHome--funeralHomeName">Funeral Home Name</label>
|
<label class="label" for="funeralHome--funeralHomeCity">City</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input class="input" id="funeralHome--funeralHomeName" name="funeralHomeName" type="text"
|
<input class="input" id="funeralHome--funeralHomeCity" name="funeralHomeCity" value="<%= funeralHome.funeralHomeCity %>" maxlength="20" />
|
||||||
value="<%= funeralHome.funeralHomeName %>" maxlength="200" required
|
|
||||||
accesskey="f"
|
|
||||||
<%= (isCreate ? " autofocus" : "") %> />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="funeralHome--funeralHomeAddress1">Address</label>
|
<label class="label" for="funeralHome--funeralHomeProvince">Province</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input class="input" id="funeralHome--funeralHomeAddress1" name="funeralHomeAddress1" type="text" value="<%= funeralHome.funeralHomeAddress1 %>" maxlength="50" placeholder="Line 1" />
|
<input class="input" id="funeralHome--funeralHomeProvince" name="funeralHomeProvince" value="<%= funeralHome.funeralHomeProvince %>" maxlength="2" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
<label class="label" for="funeralHome--funeralHomePostalCode">Postal Code</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input class="input" id="funeralHome--funeralHomeAddress2" name="funeralHomeAddress2" type="text" value="<%= funeralHome.funeralHomeAddress2 %>" maxlength="50" placeholder="Line 2" aria-label="Address Line 2" />
|
<input class="input" id="funeralHome--funeralHomePostalCode" name="funeralHomePostalCode" value="<%= funeralHome.funeralHomePostalCode %>" maxlength="7" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
</div>
|
||||||
<div class="column is-8">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="funeralHome--funeralHomeCity">City</label>
|
<label class="label" for="funeralHome--funeralHomePhoneNumber">Phone Number</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input class="input" id="funeralHome--funeralHomeCity" name="funeralHomeCity" value="<%= funeralHome.funeralHomeCity %>" maxlength="20" />
|
<input class="input" id="funeralHome--funeralHomePhoneNumber" name="funeralHomePhoneNumber" value="<%= funeralHome.funeralHomePhoneNumber %>" maxlength="30" />
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="funeralHome--funeralHomeProvince">Province</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="funeralHome--funeralHomeProvince" name="funeralHomeProvince" value="<%= funeralHome.funeralHomeProvince %>" maxlength="2" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="columns">
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="funeralHome--funeralHomePostalCode">Postal Code</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="funeralHome--funeralHomePostalCode" name="funeralHomePostalCode" value="<%= funeralHome.funeralHomePostalCode %>" maxlength="7" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="funeralHome--funeralHomePhoneNumber">Phone Number</label>
|
|
||||||
<div class="control">
|
|
||||||
<input class="input" id="funeralHome--funeralHomePhoneNumber" name="funeralHomePhoneNumber" value="<%= funeralHome.funeralHomePhoneNumber %>" maxlength="30" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<%- include('_footerA'); -%>
|
<%- include('_footerA'); -%>
|
||||||
|
|
|
||||||
|
|
@ -1,74 +1,74 @@
|
||||||
<% const deceased = contract.contractInterments[0]; %>
|
<% const deceased = contract.contractInterments[0]; %>
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title><%= headTitle %></title>
|
<title><%= headTitle %></title>
|
||||||
<style>
|
<style>
|
||||||
<%- include('style.css'); %>
|
<%- include('style.css'); %>
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body style="margin:100px 80px">
|
<body style="margin:100px 80px">
|
||||||
<p class="mb-2 has-text-centered is-capitalized">Province of Ontario</p>
|
<p class="mb-2 has-text-centered is-capitalized">Province of Ontario</p>
|
||||||
<p class="has-text-centered is-italic">Vital Statistics Act</p>
|
<p class="has-text-centered is-italic">Vital Statistics Act</p>
|
||||||
<h1 class="has-text-centered is-capitalized mt-4 mb-4">Burial Permit</h1>
|
<h1 class="has-text-centered is-capitalized mt-4 mb-4">Burial Permit</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Under the <span class="is-italic">Vital Statistics Act</span>
|
Under the <span class="is-italic">Vital Statistics Act</span>
|
||||||
and the regulations,
|
and the regulations,
|
||||||
subject to the limitations thereof,
|
subject to the limitations thereof,
|
||||||
this permit is granted to:<br />
|
this permit is granted to:<br />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="has-text-centered">
|
<p class="has-text-centered">
|
||||||
<strong><%= contract.funeralHomeName %></strong><br />
|
<strong><%= contract.funeralHomeName %></strong><br />
|
||||||
<%= contract.funeralHomeAddress1 %><br />
|
<%= contract.funeralHomeAddress1 %><br />
|
||||||
<% if (contract.funeralHomeAddress2) { %><%= contract.funeralHomeAddress2 %><br /><% } %>
|
<% if (contract.funeralHomeAddress2) { %><%= contract.funeralHomeAddress2 %><br /><% } %>
|
||||||
<%= contract.funeralHomeCity %>, <%= contract.funeralHomeProvince %><br />
|
<%= contract.funeralHomeCity %>, <%= contract.funeralHomeProvince %><br />
|
||||||
<%= contract.funeralHomePostalCode %>
|
<%= contract.funeralHomePostalCode %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="mt-4">
|
<p class="mt-4">
|
||||||
for the purpose of the burial or other disposition of the body of:
|
for the purpose of the burial or other disposition of the body of:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="has-text-centered">
|
<p class="has-text-centered">
|
||||||
<% if (!contract.isPreneed && deceased !== undefined) { %>
|
<% if (!contract.isPreneed && deceased !== undefined) { %>
|
||||||
<strong><%= deceased.deceasedName %></strong>
|
<strong><%= deceased.deceasedName %></strong>
|
||||||
<% } %>
|
<% } %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
who died at
|
who died at
|
||||||
<span class="field has-text-centered" style="width:300px">
|
<span class="field has-text-centered" style="width:300px">
|
||||||
|
|
||||||
<%= deceased?.deathPlace ?? '' %>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
in Ontario on
|
|
||||||
<span class="field has-text-centered" style="width:150px">
|
|
||||||
|
|
||||||
<%= deceased?.deathDateString %>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="has-text-right mt-6">
|
|
||||||
<span class="field mb-1" style="width:300px"> </span><br />
|
|
||||||
<span class="is-8pt">(Signature of Division Registrar)</span>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="has-text-right">
|
|
||||||
Sault Ste. Marie
|
|
||||||
|
|
||||||
|
<%= deceased?.deathPlace ?? '' %>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
in Ontario on
|
||||||
|
<span class="field has-text-centered" style="width:150px">
|
||||||
|
|
||||||
5724
|
<%= deceased?.deathDateString %>
|
||||||
</p>
|
|
||||||
|
</span>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p class="has-text-right mt-4">
|
<p class="has-text-right mt-6">
|
||||||
<span class="field mb-1" style="width:150px"> </span><br />
|
<span class="field mb-1" style="width:300px"> </span><br />
|
||||||
<span class="is-8pt">(Year Month Day)</span>
|
<span class="is-8pt">(Signature of Division Registrar)</span>
|
||||||
</p>
|
</p>
|
||||||
</body>
|
|
||||||
|
<p class="has-text-right">
|
||||||
|
Sault Ste. Marie
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
5724
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="has-text-right mt-4">
|
||||||
|
<span class="field mb-1" style="width:150px"> </span><br />
|
||||||
|
<span class="is-8pt">(Year Month Day)</span>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -2,463 +2,463 @@
|
||||||
<head>
|
<head>
|
||||||
<title><%= headTitle %></title>
|
<title><%= headTitle %></title>
|
||||||
<style>
|
<style>
|
||||||
<%- include('style.css'); %>
|
<%- include('style.css'); %>
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 0 50px;
|
margin: 0 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@page {
|
@page {
|
||||||
margin: 50px 0;
|
margin: 50px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.termsList {
|
.termsList {
|
||||||
counter-reset: list;
|
counter-reset: list;
|
||||||
}
|
}
|
||||||
|
|
||||||
.termsList > li {
|
.termsList > li {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.termsList > li::before {
|
.termsList > li::before {
|
||||||
content: "(" counter(list, lower-alpha) ")";
|
content: "(" counter(list, lower-alpha) ")";
|
||||||
counter-increment: list;
|
counter-increment: list;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: -1.8em;
|
left: -1.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.confirmList > li {
|
.confirmList > li {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.confirmList > li::before {
|
.confirmList > li::before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
border: 2px solid black;
|
border: 2px solid black;
|
||||||
width: 0.8em;
|
width: 0.8em;
|
||||||
height: 0.8em;
|
height: 0.8em;
|
||||||
left: -1.4em;
|
left: -1.4em;
|
||||||
top: -0.1em;
|
top: -0.1em;
|
||||||
font-size: 15pt;
|
font-size: 15pt;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="is-10pt">
|
<body class="is-10pt">
|
||||||
<h1 class="is-12pt has-text-centered is-capitalized">
|
<h1 class="is-12pt has-text-centered is-capitalized">
|
||||||
Contract for the Purchase of Interment Rights or<br />
|
Contract for the Purchase of Interment Rights or<br />
|
||||||
Cemetery Services
|
Cemetery Services
|
||||||
</h1>
|
</h1>
|
||||||
<p class="has-text-centered">
|
<p class="has-text-centered">
|
||||||
in
|
in
|
||||||
<span class="field" style="width:300px">
|
<span class="field" style="width:300px">
|
||||||
<%= contract.cemeteryName %>
|
<%= contract.cemeteryName %>
|
||||||
</span>
|
</span>
|
||||||
cemetery<br />
|
cemetery<br />
|
||||||
<span class="is-capitalized">operated by</span><br />
|
<span class="is-capitalized">operated by</span><br />
|
||||||
The Corporation of the City of Sault Ste. Marie, 99 Foster Drive<br />
|
The Corporation of the City of Sault Ste. Marie, 99 Foster Drive<br />
|
||||||
Sault Ste. Marie Ontario P6A 5X6
|
Sault Ste. Marie Ontario P6A 5X6
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Contract No.
|
Contract No.
|
||||||
<span class="field">
|
<span class="field">
|
||||||
<%= contract.contractId %>
|
<%= contract.contractId %>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Date of Purchase
|
Date of Purchase
|
||||||
<span class="field">
|
<span class="field">
|
||||||
<%= contract.contractStartDateString %>
|
<%= contract.contractStartDateString %>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<table class="layout-table is-10pt" style="table-layout:fixed">
|
<table class="layout-table is-10pt" style="table-layout:fixed">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h2 class="is-10pt">Purchaser</h2>
|
||||||
|
<table class="is-10pt layout-table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th class="has-text-left">Name:</th>
|
||||||
|
<td class="has-border-bottom">
|
||||||
|
<%= contract.purchaserName %>
|
||||||
|
</td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left" rowspan="2" style="vertical-align:top">Address:</th>
|
||||||
|
<td class="has-border-bottom"><%= contract.purchaserAddress1 %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<td class="has-border-bottom"><%= contract.purchaserAddress2 %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">City:</th>
|
||||||
|
<td class="has-border-bottom"><%= contract.purchaserCity %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">Province:</th>
|
||||||
|
<td class="has-border-bottom"><%= contract.purchaserProvince %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left has-text-nowrap">Postal Code:</th>
|
||||||
|
<td class="has-border-bottom" style="width:100%"><%= contract.purchaserPostalCode %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">Telephone:</th>
|
||||||
|
<td class="has-border-bottom"><%= contract.purchaserPhoneNumber %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">E-mail:</th>
|
||||||
|
<td class="has-border-bottom"><%= contract.purchaserEmail %> </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<h2 class="is-10pt">Recipient</h2>
|
||||||
|
<%
|
||||||
|
const recipient = contract.contractInterments[0]
|
||||||
|
%>
|
||||||
|
<table class="is-10pt layout-table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th class="has-text-left">Name:</th>
|
||||||
|
<td class="has-border-bottom">
|
||||||
|
<%= recipient ? recipient.deceasedName : "" %>
|
||||||
|
</td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left" rowspan="2" style="vertical-align:top">Address:</th>
|
||||||
|
<td class="has-border-bottom"><%= recipient ? recipient.deceasedAddress1 : "" %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<td class="has-border-bottom"><%= recipient ? recipient.deceasedAddress2 : "" %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">City:</th>
|
||||||
|
<td class="has-border-bottom"><%= recipient ? recipient.deceasedCity : "" %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">Province:</th>
|
||||||
|
<td class="has-border-bottom"><%= recipient ? recipient.deceasedProvince : "" %> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<th class="has-text-left">Postal Code:</th>
|
||||||
|
<td class="has-border-bottom"><%= recipient ? recipient.deceasedPostalCode : "" %> </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p>
|
||||||
|
Purchaser's relationship to Recipient:
|
||||||
|
<span class="field" style="width:550px">
|
||||||
|
<%= contract.purchaserRelationship %>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This Contract for Purchase of Interment Rights or Cemetery Services
|
||||||
|
is between the Purchaser and The Corporation of the City of Sault Ste. Marie (Corporation)
|
||||||
|
concerning interment rights or cemetery services for the Recipient(s)
|
||||||
|
as identified in this Contract.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The Purchaser (if different than the Recipient)
|
||||||
|
represents being legally authorized or charged with the responsibility for
|
||||||
|
the Recipient's interment rights and prepaid cemetery services
|
||||||
|
specified in this Contract. This Contract will be enforceable to
|
||||||
|
the benefit of and be binding upon the parties hereto
|
||||||
|
and their respective heirs, executors, administrators, successors, and assigns.
|
||||||
|
</p>
|
||||||
|
<table class="layout-table" style="table-layout:fixed">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h2 class="is-10pt is-capitalized">Details</h2>
|
||||||
|
<table class="is-10pt data-table">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>Cemetery</td>
|
||||||
<h2 class="is-10pt">Purchaser</h2>
|
<td><%= contract.cemeteryName ?? '(No ' + configFunctions.getConfigProperty("aliases.map") + ')' %></td>
|
||||||
<table class="is-10pt layout-table">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="has-text-left">Name:</th>
|
|
||||||
<td class="has-border-bottom">
|
|
||||||
<%= contract.purchaserName %>
|
|
||||||
</td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left" rowspan="2" style="vertical-align:top">Address:</th>
|
|
||||||
<td class="has-border-bottom"><%= contract.purchaserAddress1 %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<td class="has-border-bottom"><%= contract.purchaserAddress2 %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">City:</th>
|
|
||||||
<td class="has-border-bottom"><%= contract.purchaserCity %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">Province:</th>
|
|
||||||
<td class="has-border-bottom"><%= contract.purchaserProvince %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left has-text-nowrap">Postal Code:</th>
|
|
||||||
<td class="has-border-bottom" style="width:100%"><%= contract.purchaserPostalCode %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">Telephone:</th>
|
|
||||||
<td class="has-border-bottom"><%= contract.purchaserPhoneNumber %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">E-mail:</th>
|
|
||||||
<td class="has-border-bottom"><%= contract.purchaserEmail %> </td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<h2 class="is-10pt">Recipient</h2>
|
|
||||||
<%
|
|
||||||
const recipient = contract.contractInterments[0]
|
|
||||||
%>
|
|
||||||
<table class="is-10pt layout-table">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="has-text-left">Name:</th>
|
|
||||||
<td class="has-border-bottom">
|
|
||||||
<%= recipient ? recipient.deceasedName : "" %>
|
|
||||||
</td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left" rowspan="2" style="vertical-align:top">Address:</th>
|
|
||||||
<td class="has-border-bottom"><%= recipient ? recipient.deceasedAddress1 : "" %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<td class="has-border-bottom"><%= recipient ? recipient.deceasedAddress2 : "" %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">City:</th>
|
|
||||||
<td class="has-border-bottom"><%= recipient ? recipient.deceasedCity : "" %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">Province:</th>
|
|
||||||
<td class="has-border-bottom"><%= recipient ? recipient.deceasedProvince : "" %> </td>
|
|
||||||
</tr><tr>
|
|
||||||
<th class="has-text-left">Postal Code:</th>
|
|
||||||
<td class="has-border-bottom"><%= recipient ? recipient.deceasedPostalCode : "" %> </td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
<tr>
|
||||||
</table>
|
<td>Burial Site</td>
|
||||||
<p>
|
<td><%= contract.burialSiteName ?? '(No ' + configFunctions.getConfigProperty("aliases.lot") + ')' %></td>
|
||||||
Purchaser's relationship to Recipient:
|
</tr>
|
||||||
<span class="field" style="width:550px">
|
<%
|
||||||
<%= contract.purchaserRelationship %>
|
for (const field of contract.contractFields) {
|
||||||
|
if (!recipientFields.includes(field.contractTypeField) && field.contractFieldValue) {
|
||||||
</span>
|
%>
|
||||||
</p>
|
<tr>
|
||||||
<p>
|
<td><%= field.contractTypeField %></td>
|
||||||
This Contract for Purchase of Interment Rights or Cemetery Services
|
<td><%= field.contractFieldValue %></td>
|
||||||
is between the Purchaser and The Corporation of the City of Sault Ste. Marie (Corporation)
|
</tr>
|
||||||
concerning interment rights or cemetery services for the Recipient(s)
|
<%
|
||||||
as identified in this Contract.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
The Purchaser (if different than the Recipient)
|
|
||||||
represents being legally authorized or charged with the responsibility for
|
|
||||||
the Recipient's interment rights and prepaid cemetery services
|
|
||||||
specified in this Contract. This Contract will be enforceable to
|
|
||||||
the benefit of and be binding upon the parties hereto
|
|
||||||
and their respective heirs, executors, administrators, successors, and assigns.
|
|
||||||
</p>
|
|
||||||
<table class="layout-table" style="table-layout:fixed">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<h2 class="is-10pt is-capitalized">Details</h2>
|
|
||||||
<table class="is-10pt data-table">
|
|
||||||
<tr>
|
|
||||||
<td>Cemetery</td>
|
|
||||||
<td><%= contract.cemeteryName ?? '(No ' + configFunctions.getConfigProperty("aliases.map") + ')' %></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Burial Site</td>
|
|
||||||
<td><%= contract.burialSiteName ?? '(No ' + configFunctions.getConfigProperty("aliases.lot") + ')' %></td>
|
|
||||||
</tr>
|
|
||||||
<%
|
|
||||||
for (const field of contract.contractFields) {
|
|
||||||
if (!recipientFields.includes(field.contractTypeField) && field.contractFieldValue) {
|
|
||||||
%>
|
|
||||||
<tr>
|
|
||||||
<td><%= field.contractTypeField %></td>
|
|
||||||
<td><%= field.contractFieldValue %></td>
|
|
||||||
</tr>
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<h2 class="is-10pt is-capitalized">Interment Rights and Services</h2>
|
||||||
|
<table class="is-10pt data-table">
|
||||||
|
<tbody>
|
||||||
|
<%
|
||||||
|
let currentFeeCategory = "";
|
||||||
|
let feeAmountTotal = 0;
|
||||||
|
let taxAmountTotal = 0;
|
||||||
%>
|
%>
|
||||||
</table>
|
<% for (const fee of contract.contractFees) { %>
|
||||||
</td>
|
<% if (currentFeeCategory !== fee.feeCategory) { %>
|
||||||
<td>
|
<tr>
|
||||||
<h2 class="is-10pt is-capitalized">Interment Rights and Services</h2>
|
<td colspan="3">
|
||||||
<table class="is-10pt data-table">
|
<strong><%= fee.feeCategory %></strong>
|
||||||
<tbody>
|
</td>
|
||||||
<%
|
</tr>
|
||||||
let currentFeeCategory = "";
|
<% currentFeeCategory = fee.feeCategory; %>
|
||||||
let feeAmountTotal = 0;
|
<% } %>
|
||||||
let taxAmountTotal = 0;
|
<tr>
|
||||||
%>
|
<td <% if (fee.quantity === 1) { %>colspan="2"<% } %>>
|
||||||
<% for (const fee of contract.contractFees) { %>
|
<%= fee.feeName %>
|
||||||
<% if (currentFeeCategory !== fee.feeCategory) { %>
|
</td>
|
||||||
<tr>
|
<% if (fee.quantity !== 1) { %>
|
||||||
<td colspan="3">
|
<td class="has-text-right is-8pt has-text-nowrap">
|
||||||
<strong><%= fee.feeCategory %></strong>
|
$<%= fee.feeAmount.toFixed(2) %>
|
||||||
</td>
|
×
|
||||||
</tr>
|
<%= fee.quantity %>
|
||||||
<% currentFeeCategory = fee.feeCategory; %>
|
</td>
|
||||||
<% } %>
|
<% } %>
|
||||||
<tr>
|
<td class="has-text-right">
|
||||||
<td <% if (fee.quantity === 1) { %>colspan="2"<% } %>>
|
$<%= fee.feeAmount.toFixed(2) %>
|
||||||
<%= fee.feeName %>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<% if (fee.quantity !== 1) { %>
|
<%
|
||||||
<td class="has-text-right is-8pt has-text-nowrap">
|
feeAmountTotal += fee.feeAmount * fee.quantity;
|
||||||
$<%= fee.feeAmount.toFixed(2) %>
|
taxAmountTotal += fee.taxAmount * fee.quantity;
|
||||||
×
|
%>
|
||||||
<%= fee.quantity %>
|
<% } %>
|
||||||
</td>
|
<tr>
|
||||||
<% } %>
|
<td colspan="2"><strong>Sub Total</strong></td>
|
||||||
<td class="has-text-right">
|
<td class="has-text-right">
|
||||||
$<%= fee.feeAmount.toFixed(2) %>
|
<strong>$<%= feeAmountTotal.toFixed(2) %></strong>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr><tr>
|
||||||
<%
|
<td colspan="2">HST</td>
|
||||||
feeAmountTotal += fee.feeAmount * fee.quantity;
|
<td class="has-text-right">
|
||||||
taxAmountTotal += fee.taxAmount * fee.quantity;
|
$<%= taxAmountTotal.toFixed(2) %>
|
||||||
%>
|
</td>
|
||||||
<% } %>
|
</tr><tr>
|
||||||
<tr>
|
<td colspan="2"><strong>Total Sale</strong></td>
|
||||||
<td colspan="2"><strong>Sub Total</strong></td>
|
<td class="has-text-right">
|
||||||
<td class="has-text-right">
|
<strong>$<%= (feeAmountTotal + taxAmountTotal).toFixed(2) %></strong>
|
||||||
<strong>$<%= feeAmountTotal.toFixed(2) %></strong>
|
</td>
|
||||||
</td>
|
</tr><tr>
|
||||||
</tr><tr>
|
<td colspan="2"><strong>Balance Owing</strong></td>
|
||||||
<td colspan="2">HST</td>
|
<td class="has-text-right">
|
||||||
<td class="has-text-right">
|
<strong>$<%= (feeAmountTotal + taxAmountTotal - contractFunctions.getTransactionTotal(contract)).toFixed(2) %></strong>
|
||||||
$<%= taxAmountTotal.toFixed(2) %>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr><tr>
|
</tbody>
|
||||||
<td colspan="2"><strong>Total Sale</strong></td>
|
</table>
|
||||||
<td class="has-text-right">
|
</td>
|
||||||
<strong>$<%= (feeAmountTotal + taxAmountTotal).toFixed(2) %></strong>
|
</tr>
|
||||||
</td>
|
</table>
|
||||||
</tr><tr>
|
|
||||||
<td colspan="2"><strong>Balance Owing</strong></td>
|
|
||||||
<td class="has-text-right">
|
|
||||||
<strong>$<%= (feeAmountTotal + taxAmountTotal - contractFunctions.getTransactionTotal(contract)).toFixed(2) %></strong>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!-- PAGE BREAK -->
|
<!-- PAGE BREAK -->
|
||||||
|
|
||||||
<h2 class="is-10pt" style="page-break-before:always">
|
<h2 class="is-10pt" style="page-break-before:always">
|
||||||
Contribution Levels to the Care and Maintenance Fund<br />
|
Contribution Levels to the Care and Maintenance Fund<br />
|
||||||
(based on the price of Interment Rights and as prescribed by the <em>Funeral, Burial and Cremation Services Act</em>)
|
(based on the price of Interment Rights and as prescribed by the <em>Funeral, Burial and Cremation Services Act</em>)
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<table class="layout-table is-10pt">
|
<table class="layout-table is-10pt">
|
||||||
<tr>
|
<tr>
|
||||||
<td>Niches</td>
|
<td>Niches</td>
|
||||||
<td>the greater of 15% and $100</td>
|
<td>the greater of 15% and $100</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Crypts</td>
|
<td>Crypts</td>
|
||||||
<td>the greater of 20% and $500</td>
|
<td>the greater of 20% and $500</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
In-ground grave (2.23 sq.m. or 24 sq.ft. or larger)
|
In-ground grave (2.23 sq.m. or 24 sq.ft. or larger)
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
the greater of 40% and $250
|
the greater of 40% and $250
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>In-ground grave (smaller than 2.23 sq.m. or 24 sq ft)</td>
|
<td>In-ground grave (smaller than 2.23 sq.m. or 24 sq ft)</td>
|
||||||
<td>the greater of 40% and $150</td>
|
<td>the greater of 40% and $150</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2 class="is-10pt">
|
<h2 class="is-10pt">
|
||||||
Contribution Levels to the Care and Maintenance Fund - Markers<br />
|
Contribution Levels to the Care and Maintenance Fund - Markers<br />
|
||||||
(as prescribed by the <em>Funeral, Burial and Cremation Services Act</em>)
|
(as prescribed by the <em>Funeral, Burial and Cremation Services Act</em>)
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<table class="layout-table is-10pt">
|
<table class="layout-table is-10pt">
|
||||||
<tr>
|
<tr>
|
||||||
<td>Flat marker measuring less than 1,116.3 sq.m. (173 sq.in.)</td>
|
<td>Flat marker measuring less than 1,116.3 sq.m. (173 sq.in.)</td>
|
||||||
<td class="has-text-right">$0.00</td>
|
<td class="has-text-right">$0.00</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Flat marker measuring over 1,116.3 sq.m. (173 sq.in.)</td>
|
<td>Flat marker measuring over 1,116.3 sq.m. (173 sq.in.)</td>
|
||||||
<td class="has-text-right">$50.00</td>
|
<td class="has-text-right">$50.00</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
Upright monument measuring more than 1.22 m. (4 ft.) or less in height or length,
|
Upright monument measuring more than 1.22 m. (4 ft.) or less in height or length,
|
||||||
including the base
|
including the base
|
||||||
</td>
|
</td>
|
||||||
<td class="has-text-right">$100.00</td>
|
<td class="has-text-right">$100.00</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
Upright monument measuring more than 1.22m. (4 ft.) either in height or length,
|
Upright monument measuring more than 1.22m. (4 ft.) either in height or length,
|
||||||
including the base
|
including the base
|
||||||
</td>
|
</td>
|
||||||
<td class="has-text-right">$200.00</td>
|
<td class="has-text-right">$200.00</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2 class="is-10pt">Contract Terms and Conditions</h2>
|
<h2 class="is-10pt">Contract Terms and Conditions</h2>
|
||||||
|
|
||||||
<ol class="termsList">
|
<ol class="termsList">
|
||||||
<li>
|
<li>
|
||||||
The Purchaser may only cancel a contract for interment rights or cemetery services upon written notice of cancellation
|
The Purchaser may only cancel a contract for interment rights or cemetery services upon written notice of cancellation
|
||||||
to the City Clerk in accordance with the <em>Funeral, Burial and Cremation Services Act</em> and the terms and conditions set
|
to the City Clerk in accordance with the <em>Funeral, Burial and Cremation Services Act</em> and the terms and conditions set
|
||||||
out herein.
|
out herein.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Where interment rights have not been exercised and none of the contracted cemetery services have been provided
|
Where interment rights have not been exercised and none of the contracted cemetery services have been provided
|
||||||
and where the contract is cancelled within thirty (30) days of its execution, the Corporation shall refund the Purchaser
|
and where the contract is cancelled within thirty (30) days of its execution, the Corporation shall refund the Purchaser
|
||||||
all moneys paid less an administrative fee as set out in the Price List.
|
all moneys paid less an administrative fee as set out in the Price List.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Where interment rights have not been exercised and part of the contracted cemetery services have been provided,
|
Where interment rights have not been exercised and part of the contracted cemetery services have been provided,
|
||||||
and where the contract is cancelled within thirty (30) days of its execution, the Corporation shall refund the Purchaser
|
and where the contract is cancelled within thirty (30) days of its execution, the Corporation shall refund the Purchaser
|
||||||
the amount described in (b) above which shall be reduced by the cost of cemetery services provided as set out in the
|
the amount described in (b) above which shall be reduced by the cost of cemetery services provided as set out in the
|
||||||
current Price List.
|
current Price List.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
A contract for interment rights cannot be cancelled more than thirty (30) days after the date of execution of the
|
A contract for interment rights cannot be cancelled more than thirty (30) days after the date of execution of the
|
||||||
contract.
|
contract.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Where a contract for cemetery services is cancelled more than thirty (30) days after the date of execution of the
|
Where a contract for cemetery services is cancelled more than thirty (30) days after the date of execution of the
|
||||||
contract, the Purchaser shall be refunded the amount described in (b) and (c) above plus the amount of income
|
contract, the Purchaser shall be refunded the amount described in (b) and (c) above plus the amount of income
|
||||||
earned on that money.
|
earned on that money.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Written consent of all surviving interment rights holder(s), if any, and any other required documentation as set out in
|
Written consent of all surviving interment rights holder(s), if any, and any other required documentation as set out in
|
||||||
Cemetery By-law 2012-129 is required for: cremation, interments, disinterments, and the placement of markers,
|
Cemetery By-law 2012-129 is required for: cremation, interments, disinterments, and the placement of markers,
|
||||||
inscriptions or photos.
|
inscriptions or photos.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Transfer or resale of the above listed interment rights to a third party is permitted, subject to the provisions of
|
Transfer or resale of the above listed interment rights to a third party is permitted, subject to the provisions of
|
||||||
Cemetery By-law 2012-129 and the <em>Funeral, Burial and Cremation Services Act</em>. A Certificate of Interment Rights
|
Cemetery By-law 2012-129 and the <em>Funeral, Burial and Cremation Services Act</em>. A Certificate of Interment Rights
|
||||||
holder shall not resell interment rights for an amount that is greater than the price of those rights as indicated on the
|
holder shall not resell interment rights for an amount that is greater than the price of those rights as indicated on the
|
||||||
current Price List, inclusive of the care and maintenance component.
|
current Price List, inclusive of the care and maintenance component.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
No Certificate of Interment Rights holder(s) may subdivide and sell or transfer a portion of interment rights.
|
No Certificate of Interment Rights holder(s) may subdivide and sell or transfer a portion of interment rights.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
An Interment Rights Certificate will not be issued until this Contract has been paid in full.
|
An Interment Rights Certificate will not be issued until this Contract has been paid in full.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
A marker, purchased and/or installed by anyone other than the Certificate of Interment Rights holder(s) may be
|
A marker, purchased and/or installed by anyone other than the Certificate of Interment Rights holder(s) may be
|
||||||
removed by cemetery staff upon the written request of the Certificate of Interment Rights holder(s).
|
removed by cemetery staff upon the written request of the Certificate of Interment Rights holder(s).
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Dead human bodies cannot be cremated if there is a pacemaker or radioactive implant in the body or if the body is in
|
Dead human bodies cannot be cremated if there is a pacemaker or radioactive implant in the body or if the body is in
|
||||||
a container made of or containing non-flammable or hazardous material or chlorinated or fibre-reinforced plastic.
|
a container made of or containing non-flammable or hazardous material or chlorinated or fibre-reinforced plastic.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Dead human bodies will not be cremated unless a coroner's certificate has been provided to the operator.
|
Dead human bodies will not be cremated unless a coroner's certificate has been provided to the operator.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
The Corporation shall not be responsible in the event that it is unable to or prevented from carrying out this Contract
|
The Corporation shall not be responsible in the event that it is unable to or prevented from carrying out this Contract
|
||||||
due to causes beyond its control.
|
due to causes beyond its control.
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<!-- PAGE BREAK -->
|
<!-- PAGE BREAK -->
|
||||||
|
|
||||||
<h2 class="is-10pt" style="page-break-before:always">Payment Terms</h2>
|
<h2 class="is-10pt" style="page-break-before:always">Payment Terms</h2>
|
||||||
<p>
|
<p>
|
||||||
All pre-need interment rights and cemetery services must be paid in full at the time of ordering.
|
All pre-need interment rights and cemetery services must be paid in full at the time of ordering.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
In the case of at-need interment rights and cemetery services, the interment rights and services directly related to the
|
In the case of at-need interment rights and cemetery services, the interment rights and services directly related to the
|
||||||
deceased will be invoiced by the Corporation and interest shall be charged at the rate determined by the Treasurer on the
|
deceased will be invoiced by the Corporation and interest shall be charged at the rate determined by the Treasurer on the
|
||||||
unpaid balance after thirty (30) days from the date of invoice. Such services do not include interment rights in a
|
unpaid balance after thirty (30) days from the date of invoice. Such services do not include interment rights in a
|
||||||
mausoleum.
|
mausoleum.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Any rights of cancellation of this Contract, whether within thirty (30) days or after thirty (30) days can only be exercised by
|
Any rights of cancellation of this Contract, whether within thirty (30) days or after thirty (30) days can only be exercised by
|
||||||
the Purchaser or his or her Estate Trustee.
|
the Purchaser or his or her Estate Trustee.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 class="is-10pt">Personal Information</h2>
|
<h2 class="is-10pt">Personal Information</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The Purchaser acknowledges and provides consent to permit the Corporation to collect, use and disclose personal
|
The Purchaser acknowledges and provides consent to permit the Corporation to collect, use and disclose personal
|
||||||
information in accordance with the requirements under the <em>Funeral, Burial and Cremation Services Act</em> and the
|
information in accordance with the requirements under the <em>Funeral, Burial and Cremation Services Act</em> and the
|
||||||
regulations made thereunder for information within the cemetery/crematorium public register. The Purchaser also
|
regulations made thereunder for information within the cemetery/crematorium public register. The Purchaser also
|
||||||
understands that the Corporation does not rent or sell personal information to third party organizations.
|
understands that the Corporation does not rent or sell personal information to third party organizations.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
All information provided by the Purchaser to the Corporation shall be held, retained, disclosed, and destroyed, as the case
|
All information provided by the Purchaser to the Corporation shall be held, retained, disclosed, and destroyed, as the case
|
||||||
may be, in accordance with the provisions of the <em>Municipal Freedom of Information and Protection of Privacy Act</em>.
|
may be, in accordance with the provisions of the <em>Municipal Freedom of Information and Protection of Privacy Act</em>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 class="is-10pt">Consumer Information Guide and Cemetery Price List</h2>
|
<h2 class="is-10pt">Consumer Information Guide and Cemetery Price List</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
By initialling below, the Purchaser acknowledges receiving a copy of the Ontario Government's Consumer Information
|
By initialling below, the Purchaser acknowledges receiving a copy of the Ontario Government's Consumer Information
|
||||||
Guide (where made available by the Registrar) and the Cemetery Price List at the time of entering into this Contract.
|
Guide (where made available by the Registrar) and the Cemetery Price List at the time of entering into this Contract.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul class="confirmList">
|
<ul class="confirmList">
|
||||||
<li>
|
<li>
|
||||||
I hereby acknowledge that I have been offered and/or received a copy of the Ontario Government's Consumer
|
I hereby acknowledge that I have been offered and/or received a copy of the Ontario Government's Consumer
|
||||||
Information Guide and the Cemetery Price List.
|
Information Guide and the Cemetery Price List.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
I have reviewed the terms and conditions of the Contract and hereby confirm that the interment rights and cemetery
|
I have reviewed the terms and conditions of the Contract and hereby confirm that the interment rights and cemetery
|
||||||
services as specified in this Contract are complete and correct. I direct the Corporation to proceed with the sale of the
|
services as specified in this Contract are complete and correct. I direct the Corporation to proceed with the sale of the
|
||||||
interment right(s) as identified in this Contract in accordance with the Cemetery By-law 2012-129 which is now or at any
|
interment right(s) as identified in this Contract in accordance with the Cemetery By-law 2012-129 which is now or at any
|
||||||
time hereinafter in force.
|
time hereinafter in force.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
I hereby acknowledge that I have received and reviewed a copy of Cemetery By-law 2012-129.
|
I hereby acknowledge that I have received and reviewed a copy of Cemetery By-law 2012-129.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
I acknowledge having received a copy of this Contract, and will assume full responsibility for payment of the total
|
I acknowledge having received a copy of this Contract, and will assume full responsibility for payment of the total
|
||||||
Contract price to the Corporation in accordance with the terms and conditions of the Contract.
|
Contract price to the Corporation in accordance with the terms and conditions of the Contract.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The Contract date set out below is the date on which this Contract is accepted by the Corporation.
|
The Contract date set out below is the date on which this Contract is accepted by the Corporation.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Purchaser:
|
Purchaser:
|
||||||
<span class="field" style="width:400px"> </span>
|
<span class="field" style="width:400px"> </span>
|
||||||
Date:
|
Date:
|
||||||
<span class="field" style="width:200px"> </span>
|
<span class="field" style="width:200px"> </span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Purchaser:
|
Purchaser:
|
||||||
<span class="field" style="width:400px"> </span>
|
<span class="field" style="width:400px"> </span>
|
||||||
Date:
|
Date:
|
||||||
<span class="field" style="width:200px"> </span>
|
<span class="field" style="width:200px"> </span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="has-text-right mt-4">
|
<p class="has-text-right mt-4">
|
||||||
Accepted on behalf of The Corporation<br />
|
Accepted on behalf of The Corporation<br />
|
||||||
of the City of Sault Ste. Marie by:
|
of the City of Sault Ste. Marie by:
|
||||||
</p>
|
</p>
|
||||||
<p class="has-text-right">
|
<p class="has-text-right">
|
||||||
Name:
|
Name:
|
||||||
<span class="field" style="width:300px"> </span>
|
<span class="field" style="width:300px"> </span>
|
||||||
</p>
|
</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1,47 +1,46 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title><%= headTitle %></title>
|
<title><%= headTitle %></title>
|
||||||
<style>
|
<style>
|
||||||
<%- include('style.css'); %>
|
<%- include('style.css'); %>
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<%- include('_workOrder-header.ejs'); %>
|
<%- include('_workOrder-header.ejs'); %>
|
||||||
|
|
||||||
<h2 class="mb-0">Comments</h2>
|
<h2 class="mb-0">Comments</h2>
|
||||||
|
|
||||||
<% if (workOrder.workOrderComments.length === 0) { %>
|
<% if (workOrder.workOrderComments.length === 0) { %>
|
||||||
<p>There are no comments associated with this work order.</p>
|
<p>There are no comments associated with this work order.</p>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<table class="data-table">
|
<table class="data-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Commentor</th>
|
<th>Commentor</th>
|
||||||
<th>Comment Time</th>
|
<th>Comment Time</th>
|
||||||
<th>Comment</th>
|
<th>Comment</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<% for (const comment of workOrder.workOrderComments) { %>
|
<% for (const comment of workOrder.workOrderComments) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= comment.recordUpdate_userName %></td>
|
<td><%= comment.recordUpdate_userName %></td>
|
||||||
<td><%= comment.workOrderCommentDateString %> <%= comment.workOrderCommentTimePeriodString %></td>
|
<td><%= comment.workOrderCommentDateString %> <%= comment.workOrderCommentTimePeriodString %></td>
|
||||||
<td><%= comment.workOrderComment %></td>
|
<td><%= comment.workOrderComment %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% } %>
|
<% } %>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
||||||
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
<%
|
||||||
<%
|
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
||||||
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
const currentDate = new Date();
|
||||||
const currentDate = new Date();
|
%>
|
||||||
%>
|
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimeString(recordCreateDate) %>.
|
||||||
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimeString(recordCreateDate) %>.
|
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimeString(currentDate) %>.<br />
|
||||||
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimeString(currentDate) %>.<br />
|
workOrderId = <%= workOrder.workOrderId %>
|
||||||
workOrderId = <%= workOrder.workOrderId %>
|
</p>
|
||||||
</p>
|
</body>
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -69,55 +69,55 @@
|
||||||
<h2 class="mb-0">Milestones</h2>
|
<h2 class="mb-0">Milestones</h2>
|
||||||
|
|
||||||
<table class="data-table">
|
<table class="data-table">
|
||||||
<thead>
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="is-width-1"></th>
|
||||||
|
<th>Milestone Description</th>
|
||||||
|
<th>Due Date</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<% for (const milestone of workOrder.workOrderMilestones) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="is-width-1"></th>
|
<td class="is-width-1">
|
||||||
<th>Milestone Description</th>
|
<% if (milestone.workOrderMilestoneCompletionDate) { %>
|
||||||
<th>Due Date</th>
|
<span class="checkbox is-checked"></span>
|
||||||
|
<% } else { %>
|
||||||
|
<span class="checkbox"></span>
|
||||||
|
<% } %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<% if (milestone.workOrderMilestoneTypeId) { %>
|
||||||
|
<strong><%= milestone.workOrderMilestoneType %></strong><br />
|
||||||
|
<% } %>
|
||||||
|
<%= milestone.workOrderMilestoneDescription %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<% if (milestone.workOrderMilestoneDate === 0) { %>
|
||||||
|
(No Set Date)
|
||||||
|
<% } else { %>
|
||||||
|
<%= milestone.workOrderMilestoneDateString %>
|
||||||
|
<% } %>
|
||||||
|
<% if (milestone.workOrderMilestoneTime) { %>
|
||||||
|
<%= milestone.workOrderMilestoneTimePeriodString %>
|
||||||
|
<% } %>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
<% } %>
|
||||||
<tbody>
|
</tbody>
|
||||||
<% for (const milestone of workOrder.workOrderMilestones) { %>
|
|
||||||
<tr>
|
|
||||||
<td class="is-width-1">
|
|
||||||
<% if (milestone.workOrderMilestoneCompletionDate) { %>
|
|
||||||
<span class="checkbox is-checked"></span>
|
|
||||||
<% } else { %>
|
|
||||||
<span class="checkbox"></span>
|
|
||||||
<% } %>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<% if (milestone.workOrderMilestoneTypeId) { %>
|
|
||||||
<strong><%= milestone.workOrderMilestoneType %></strong><br />
|
|
||||||
<% } %>
|
|
||||||
<%= milestone.workOrderMilestoneDescription %>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<% if (milestone.workOrderMilestoneDate === 0) { %>
|
|
||||||
(No Set Date)
|
|
||||||
<% } else { %>
|
|
||||||
<%= milestone.workOrderMilestoneDateString %>
|
|
||||||
<% } %>
|
|
||||||
<% if (milestone.workOrderMilestoneTime) { %>
|
|
||||||
<%= milestone.workOrderMilestoneTimePeriodString %>
|
|
||||||
<% } %>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<% } %>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
</table>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
<h2 class="mb-0">Notes</h2>
|
<h2 class="mb-0">Notes</h2>
|
||||||
|
|
||||||
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
||||||
<%
|
<%
|
||||||
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
||||||
const currentDate = new Date();
|
const currentDate = new Date();
|
||||||
%>
|
%>
|
||||||
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(recordCreateDate) %>.
|
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(recordCreateDate) %>.
|
||||||
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(currentDate) %>.<br />
|
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(currentDate) %>.<br />
|
||||||
workOrderId = <%= workOrder.workOrderId %>
|
workOrderId = <%= workOrder.workOrderId %>
|
||||||
</p>
|
</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -104,14 +104,14 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<div class="dropdown-content">
|
<div class="dropdown-content">
|
||||||
<a class="dropdown-item" id="button--deleteWorkOrder" href="#">
|
<a class="dropdown-item" id="button--deleteWorkOrder" href="#">
|
||||||
<span class="icon is-small">
|
<span class="icon is-small">
|
||||||
<i class="fas fa-trash has-text-danger" aria-hidden="true"></i>
|
<i class="fas fa-trash has-text-danger" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
<span>Delete Work Order</span>
|
<span>Delete Work Order</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -128,201 +128,197 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="columns is-desktop">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<form id="form--workOrderEdit">
|
<form id="form--workOrderEdit">
|
||||||
<input id="workOrderEdit--workOrderId" name="workOrderId" type="hidden" value="<%= workOrder.workOrderId %>" />
|
<input id="workOrderEdit--workOrderId" name="workOrderId" type="hidden" value="<%= workOrder.workOrderId %>" />
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<div class="panel-block is-block">
|
<div class="panel-block is-block">
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<label class="label" for="workOrderEdit--workOrderNumber">Work Order Number</label>
|
<label class="label" for="workOrderEdit--workOrderNumber">Work Order Number</label>
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<input class="input <%= (isCreate ? '' : ' is-readonly') %>" id="workOrderEdit--workOrderNumber" name="workOrderNumber" type="text" value="<%= workOrder.workOrderNumber %>" maxlength="50" readonly accesskey="f" <%= (isCreate ? "" : " required") %> />
|
<input class="input <%= (isCreate ? '' : ' is-readonly') %>" id="workOrderEdit--workOrderNumber" name="workOrderNumber" type="text" value="<%= workOrder.workOrderNumber %>" maxlength="50" readonly accesskey="f" <%= (isCreate ? "" : " required") %> />
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="button is-unlock-field-button" data-tooltip="Unlock Field" type="button" aria-label="Unlock Field">
|
<button class="button is-unlock-field-button" data-tooltip="Unlock Field" type="button" aria-label="Unlock Field">
|
||||||
<span class="icon"><i class="fas fa-unlock" aria-hidden="true"></i></span>
|
<span class="icon"><i class="fas fa-unlock" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<% if (isCreate) { %>
|
|
||||||
<p class="help">Leave work order number blank to autopopulate.</p>
|
|
||||||
<% } %>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<% if (isCreate) { %>
|
||||||
<div class="field">
|
<p class="help">Leave work order number blank to autopopulate.</p>
|
||||||
<label class="label" for="workOrderEdit--workOrderTypeId">Work Order Type</label>
|
<% } %>
|
||||||
<div class="control">
|
</div>
|
||||||
<div class="select is-fullwidth">
|
<div class="column">
|
||||||
<select id="workOrderEdit--workOrderTypeId" name="workOrderTypeId" required <%= (isCreate ? " autofocus" : "") %>>
|
<div class="field">
|
||||||
<% if (isCreate && workOrderTypes.length > 1) { %>
|
<label class="label" for="workOrderEdit--workOrderTypeId">Work Order Type</label>
|
||||||
<option value="">(Select Type)</option>
|
<div class="control">
|
||||||
<% } %>
|
<div class="select is-fullwidth">
|
||||||
<% for (const workOrderType of workOrderTypes) { %>
|
<select id="workOrderEdit--workOrderTypeId" name="workOrderTypeId" required <%= (isCreate ? " autofocus" : "") %>>
|
||||||
<option value="<%= workOrderType.workOrderTypeId %>" <%= (workOrder.workOrderTypeId === workOrderType.workOrderTypeId ? " selected" : "") %>>
|
<% if (isCreate && workOrderTypes.length > 1) { %>
|
||||||
<%= workOrderType.workOrderType %>
|
<option value="">(Select Type)</option>
|
||||||
</option>
|
<% } %>
|
||||||
<% } %>
|
<% for (const workOrderType of workOrderTypes) { %>
|
||||||
</select>
|
<option value="<%= workOrderType.workOrderTypeId %>" <%= (workOrder.workOrderTypeId === workOrderType.workOrderTypeId ? " selected" : "") %>>
|
||||||
</div>
|
<%= workOrderType.workOrderType %>
|
||||||
|
</option>
|
||||||
|
<% } %>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
</div>
|
||||||
<label class="label" for="workOrderEdit--workOrderDescription">Description</label>
|
<div class="field">
|
||||||
<div class="control">
|
<label class="label" for="workOrderEdit--workOrderDescription">Description</label>
|
||||||
<textarea class="textarea" id="workOrderEdit--workOrderDescription" name="workOrderDescription"><%= workOrder.workOrderDescription %></textarea>
|
<div class="control">
|
||||||
|
<textarea class="textarea" id="workOrderEdit--workOrderDescription" name="workOrderDescription"><%= workOrder.workOrderDescription %></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="workOrderEdit--workOrderOpenDateString"><%= configFunctions.getConfigProperty("aliases.workOrderOpenDate") %></label>
|
||||||
|
<div class="control has-icons-left">
|
||||||
|
<%
|
||||||
|
const currentDateString = dateTimeFunctions.dateToString(new Date());
|
||||||
|
%>
|
||||||
|
<input class="input" id="workOrderEdit--workOrderOpenDateString" name="workOrderOpenDateString" type="date"
|
||||||
|
value="<%= workOrder.workOrderOpenDateString %>"
|
||||||
|
max="<%= workOrder.workOrderOpenDateString > currentDateString ? workOrder.workOrderOpenDateString : currentDateString %>"
|
||||||
|
required />
|
||||||
|
<span class="icon is-left">
|
||||||
|
<i class="fas fa-calendar" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="column">
|
||||||
<div class="column">
|
<label class="label" for="workOrderEdit--workOrderCloseDateString"><%= configFunctions.getConfigProperty("aliases.workOrderCloseDate") %></label>
|
||||||
<div class="field">
|
<div class="field has-addons">
|
||||||
<label class="label" for="workOrderEdit--workOrderOpenDateString"><%= configFunctions.getConfigProperty("aliases.workOrderOpenDate") %></label>
|
<div class="control is-expanded">
|
||||||
<div class="control has-icons-left">
|
<input class="input" id="workOrderEdit--workOrderCloseDateString" name="workOrderCloseDateString" type="date" value="<%= workOrder.workOrderCloseDateString %>" disabled readonly />
|
||||||
<%
|
</div>
|
||||||
const currentDateString = dateTimeFunctions.dateToString(new Date());
|
<div class="control">
|
||||||
%>
|
<button class="button is-light is-success" id="button--closeWorkOrder" type="button">
|
||||||
<input class="input" id="workOrderEdit--workOrderOpenDateString" name="workOrderOpenDateString" type="date"
|
<span class="icon is-small"><i class="fas fa-stop-circle" aria-hidden="true"></i></span>
|
||||||
value="<%= workOrder.workOrderOpenDateString %>"
|
<span>
|
||||||
max="<%= workOrder.workOrderOpenDateString > currentDateString ? workOrder.workOrderOpenDateString : currentDateString %>"
|
Close
|
||||||
required />
|
|
||||||
<span class="icon is-left">
|
|
||||||
<i class="fas fa-calendar" aria-hidden="true"></i>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
</div>
|
||||||
<label class="label" for="workOrderEdit--workOrderCloseDateString"><%= configFunctions.getConfigProperty("aliases.workOrderCloseDate") %></label>
|
</div>
|
||||||
<div class="field has-addons">
|
</div>
|
||||||
<div class="control is-expanded">
|
</div>
|
||||||
<input class="input" id="workOrderEdit--workOrderCloseDateString" name="workOrderCloseDateString" type="date" value="<%= workOrder.workOrderCloseDateString %>" disabled readonly />
|
</form>
|
||||||
</div>
|
|
||||||
<div class="control">
|
<% if (!isCreate) { %>
|
||||||
<button class="button is-light is-success" id="button--closeWorkOrder" type="button">
|
<div class="panel mt-4">
|
||||||
<span class="icon is-small"><i class="fas fa-stop-circle" aria-hidden="true"></i></span>
|
<div class="panel-heading">
|
||||||
<span>
|
<div class="level">
|
||||||
Close
|
<div class="level-left">
|
||||||
</span>
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-weight-bold has-text-white">Related Burial Sites</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<div class="dropdown is-right">
|
||||||
|
<div class="dropdown-trigger">
|
||||||
|
<button class="button is-success is-small" type="button">
|
||||||
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Add</span>
|
||||||
|
<span class="icon is-small"><i class="fas fa-angle-down" aria-hidden="true"></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="dropdown-menu">
|
||||||
</div>
|
<div class="dropdown-content has-text-weight-normal">
|
||||||
</div>
|
<a class="dropdown-item" id="button--addContract" href="#">
|
||||||
</div>
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
</div>
|
<span>Add a Related Contract</span>
|
||||||
</form>
|
</a>
|
||||||
|
<a class="dropdown-item" id="button--addBurialSite" href="#">
|
||||||
<% if (!isCreate) { %>
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
<div class="panel mt-4">
|
<span>Add a Related Burial Site</span>
|
||||||
<h2 class="panel-heading">Related Burial Sites</h2>
|
</a>
|
||||||
<div class="panel-block is-block">
|
|
||||||
<%
|
|
||||||
const tabToSelect = (workOrder.workOrderContracts.length > 0 || workOrder.workOrderBurialSites.length === 0 ? "contracts" : "burialSites");
|
|
||||||
%>
|
|
||||||
<div class="tabs is-boxed">
|
|
||||||
<ul>
|
|
||||||
<li class="<%= (tabToSelect === 'contracts' ? 'is-active' : '') %>">
|
|
||||||
<a href="#relatedTab--contracts">
|
|
||||||
<span>Contracts</span>
|
|
||||||
<span class="ml-2 tag"></span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="<%= (tabToSelect === 'burialSites' ? 'is-active' : '') %>">
|
|
||||||
<a href="#relatedTab--burialSites">
|
|
||||||
<span>Burial Sites</span>
|
|
||||||
<span class="ml-2 tag"></span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="tab-container">
|
|
||||||
<div class="<%= (tabToSelect === 'contracts' ? '' : 'is-hidden') %>" id="relatedTab--contracts">
|
|
||||||
<div class="box has-background-light has-text-right p-3">
|
|
||||||
<button class="button is-small is-success" id="button--addContract" type="button">
|
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Add Related Contract</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div id="container--contracts"></div>
|
|
||||||
</div>
|
|
||||||
<div class="<%= (tabToSelect === 'burialSites' ? '' : 'is-hidden') %>" id="relatedTab--burialSites">
|
|
||||||
<div class="box has-background-light has-text-right p-3">
|
|
||||||
<button class="button is-small is-success" id="button--addBurialSite" type="button">
|
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Add Related Burial Site</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div id="container--burialSites"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
||||||
|
|
||||||
<% if (!isCreate) { %>
|
|
||||||
<div class="panel">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<div class="level is-mobile">
|
|
||||||
<div class="level-left">
|
|
||||||
<div class="level-item">
|
|
||||||
<h2 class="has-text-weight-bold is-size-5">
|
|
||||||
Comments
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="level-right">
|
|
||||||
<div class="level-item">
|
|
||||||
<button class="button is-small is-success" id="workOrderComments--add" type="button">
|
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Add a Comment</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel-block is-block" id="container--workOrderComments"></div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
||||||
</div>
|
|
||||||
<% if (!isCreate) { %>
|
|
||||||
<div class="column is-4-desktop">
|
|
||||||
<div class="panel" id="panel--milestones">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<div class="level is-mobile">
|
|
||||||
<div class="level-left">
|
|
||||||
<div class="level-item">
|
|
||||||
<h2 class="title is-5 has-text-white has-text-weight-bold">Milestones</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="level-right">
|
|
||||||
<div class="level-item">
|
|
||||||
<button class="button is-small is-success" id="button--addMilestone" type="button">
|
|
||||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
|
||||||
<span>Add Milestone</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="level-item">
|
|
||||||
<div class="dropdown is-right has-text-weight-normal">
|
|
||||||
<div class="dropdown-trigger">
|
|
||||||
<button class="button is-small has-tooltip-left" data-tooltip="Milestone Options" type="button" aria-label="Options">
|
|
||||||
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-menu">
|
</div>
|
||||||
<div class="dropdown-content">
|
</div>
|
||||||
<a class="dropdown-item" href="<%= urlPrefix %>/api/<%= user.userProperties.apiKey %>/milestoneICS/?workOrderId=<%= workOrder.workOrderId %>">
|
</div>
|
||||||
<span class="icon is-small"><i class="fas fa-calendar" aria-hidden="true"></i></span>
|
</div>
|
||||||
<span>Download iCalendar</span>
|
</div>
|
||||||
</a>
|
</div>
|
||||||
<a class="dropdown-item" href="<%= urlPrefix %>/reports/workOrderMilestones-byWorkOrderId/?workOrderId=<%= workOrder.workOrderId %>" target="_blank" download>
|
<div class="panel-block is-block">
|
||||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
<%
|
||||||
<span>Export as CSV</span>
|
const tabToSelect = (workOrder.workOrderContracts.length > 0 || workOrder.workOrderBurialSites.length === 0 ? "contracts" : "burialSites");
|
||||||
</a>
|
%>
|
||||||
</div>
|
<div class="tabs is-boxed">
|
||||||
|
<ul>
|
||||||
|
<li class="<%= (tabToSelect === 'contracts' ? 'is-active' : '') %>">
|
||||||
|
<a href="#relatedTab--contracts">
|
||||||
|
<span>Contracts</span>
|
||||||
|
<span class="ml-2 tag"></span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="<%= (tabToSelect === 'burialSites' ? 'is-active' : '') %>">
|
||||||
|
<a href="#relatedTab--burialSites">
|
||||||
|
<span>Burial Sites</span>
|
||||||
|
<span class="ml-2 tag"></span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="tab-container">
|
||||||
|
<div class="<%= (tabToSelect === 'contracts' ? '' : 'is-hidden') %>" id="relatedTab--contracts">
|
||||||
|
<div id="container--contracts"></div>
|
||||||
|
</div>
|
||||||
|
<div class="<%= (tabToSelect === 'burialSites' ? '' : 'is-hidden') %>" id="relatedTab--burialSites">
|
||||||
|
<div id="container--burialSites"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% if (!isCreate) { %>
|
||||||
|
<div class="column is-full-desktop is-4-widescreen">
|
||||||
|
<div class="panel" id="panel--milestones">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<div class="level is-mobile">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="title is-5 has-text-white has-text-weight-bold">Milestones</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<button class="button is-small is-success" id="button--addMilestone" type="button">
|
||||||
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Add Milestone</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="level-item">
|
||||||
|
<div class="dropdown is-right has-text-weight-normal">
|
||||||
|
<div class="dropdown-trigger">
|
||||||
|
<button class="button is-small has-tooltip-left" data-tooltip="Milestone Options" type="button" aria-label="Options">
|
||||||
|
<span class="icon is-small"><i class="fas fa-ellipsis-v" aria-hidden="true"></i></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-menu">
|
||||||
|
<div class="dropdown-content">
|
||||||
|
<a class="dropdown-item" href="<%= urlPrefix %>/api/<%= user.userProperties.apiKey %>/milestoneICS/?workOrderId=<%= workOrder.workOrderId %>">
|
||||||
|
<span class="icon is-small"><i class="fas fa-calendar" aria-hidden="true"></i></span>
|
||||||
|
<span>Download iCalendar</span>
|
||||||
|
</a>
|
||||||
|
<a class="dropdown-item" href="<%= urlPrefix %>/reports/workOrderMilestones-byWorkOrderId/?workOrderId=<%= workOrder.workOrderId %>" target="_blank" download>
|
||||||
|
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||||
|
<span>Export as CSV</span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -331,9 +327,34 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% } %>
|
</div>
|
||||||
|
<% } %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% if (!isCreate) { %>
|
||||||
|
<div class="panel">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<div class="level is-mobile">
|
||||||
|
<div class="level-left">
|
||||||
|
<div class="level-item">
|
||||||
|
<h2 class="has-text-weight-bold is-size-5">
|
||||||
|
Comments
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<button class="button is-small is-success" id="workOrderComments--add" type="button">
|
||||||
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Add a Comment</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="panel-block is-block" id="container--workOrderComments"></div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
<%- include('_footerA'); -%>
|
<%- include('_footerA'); -%>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,81 +35,81 @@
|
||||||
|
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<form id="form--searchFilters">
|
<form id="form--searchFilters">
|
||||||
<input id="searchFilter--limit" name="limit" type="hidden" value="50" />
|
<input id="searchFilter--limit" name="limit" type="hidden" value="50" />
|
||||||
<input id="searchFilter--offset" name="offset" type="hidden" value="0" />
|
<input id="searchFilter--offset" name="offset" type="hidden" value="0" />
|
||||||
|
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label" for="searchFilter--workOrderTypeId">Work Order Type</label>
|
<label class="label" for="searchFilter--workOrderTypeId">Work Order Type</label>
|
||||||
<div class="control has-icons-left">
|
<div class="control has-icons-left">
|
||||||
<div class="select is-fullwidth">
|
<div class="select is-fullwidth">
|
||||||
<select id="searchFilter--workOrderTypeId" name="workOrderTypeId" accesskey="f">
|
<select id="searchFilter--workOrderTypeId" name="workOrderTypeId" accesskey="f">
|
||||||
<option value="">(All Work Order Types)</option>
|
<option value="">(All Work Order Types)</option>
|
||||||
<% for (const workOrderType of workOrderTypes) { %>
|
<% for (const workOrderType of workOrderTypes) { %>
|
||||||
<option value="<%= workOrderType.workOrderTypeId %>"><%= workOrderType.workOrderType || "(No Name)" %></option>
|
<option value="<%= workOrderType.workOrderTypeId %>"><%= workOrderType.workOrderType || "(No Name)" %></option>
|
||||||
<% } %>
|
<% } %>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-search" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="searchFilter--workOrderOpenStatus">Open Status</label>
|
|
||||||
<div class="control has-icons-left">
|
|
||||||
<div class="select is-fullwidth">
|
|
||||||
<select id="searchFilter--workOrderOpenStatus" name="workOrderOpenStatus">
|
|
||||||
<option value="" <%= (workOrderOpenDateString ? " selected" : "") %>>(All Statuses)</option>
|
|
||||||
<option value="open" <%= (workOrderOpenDateString ? "" : " selected") %>>Open</option>
|
|
||||||
<option value="closed">Closed</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-search" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="searchFilter--workOrderOpenDateString"><%= configFunctions.getConfigProperty("aliases.workOrderOpenDate") %></label>
|
|
||||||
<div class="control is-expanded has-icons-left">
|
|
||||||
<input class="input" id="searchFilter--workOrderOpenDateString" name="workOrderOpenDateString" type="date" value="<%= workOrderOpenDateString %>" max="<%= dateTimeFunctions.dateToString(new Date()) %>" />
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-calendar" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-search" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns">
|
<div class="column">
|
||||||
<div class="column">
|
<div class="field">
|
||||||
<div class="field">
|
<label class="label" for="searchFilter--workOrderOpenStatus">Open Status</label>
|
||||||
<label class="label" for="searchFilter--deceasedName">Related Interment Name</label>
|
<div class="control has-icons-left">
|
||||||
<div class="control is-expanded has-icons-left">
|
<div class="select is-fullwidth">
|
||||||
<input class="input" id="searchFilter--deceasedName" name="deceasedName" type="text" />
|
<select id="searchFilter--workOrderOpenStatus" name="workOrderOpenStatus">
|
||||||
<span class="icon is-small is-left">
|
<option value="" <%= (workOrderOpenDateString ? " selected" : "") %>>(All Statuses)</option>
|
||||||
<i class="fas fa-search" aria-hidden="true"></i>
|
<option value="open" <%= (workOrderOpenDateString ? "" : " selected") %>>Open</option>
|
||||||
</span>
|
<option value="closed">Closed</option>
|
||||||
</div>
|
</select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<div class="field">
|
|
||||||
<label class="label" for="searchFilter--burialSiteName">Related Burial Site Name</label>
|
|
||||||
<div class="control is-expanded has-icons-left">
|
|
||||||
<input class="input" id="searchFilter--burialSiteName" name="burialSiteName" type="text" />
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-search" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-search" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="searchFilter--workOrderOpenDateString"><%= configFunctions.getConfigProperty("aliases.workOrderOpenDate") %></label>
|
||||||
|
<div class="control is-expanded has-icons-left">
|
||||||
|
<input class="input" id="searchFilter--workOrderOpenDateString" name="workOrderOpenDateString" type="date" value="<%= workOrderOpenDateString %>" max="<%= dateTimeFunctions.dateToString(new Date()) %>" />
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-calendar" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="searchFilter--deceasedName">Related Interment Name</label>
|
||||||
|
<div class="control is-expanded has-icons-left">
|
||||||
|
<input class="input" id="searchFilter--deceasedName" name="deceasedName" type="text" />
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-search" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label" for="searchFilter--burialSiteName">Related Burial Site Name</label>
|
||||||
|
<div class="control is-expanded has-icons-left">
|
||||||
|
<input class="input" id="searchFilter--burialSiteName" name="burialSiteName" type="text" />
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-search" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue