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.
|
||||
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
|
||||
|
||||
There's no cost to use it.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { Request, Response } from 'express';
|
||||
export default function handler(request: Request<unknown, unknown, {
|
||||
burialSiteStatus: string;
|
||||
orderNumber?: string | number;
|
||||
orderNumber?: number | string;
|
||||
}>, response: Response): Promise<void>;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export default async function handler(request, response) {
|
|||
const burialSiteStatuses = await getBurialSiteStatuses();
|
||||
response.json({
|
||||
success: true,
|
||||
burialSiteStatusId,
|
||||
burialSiteStatuses
|
||||
burialSiteStatuses,
|
||||
burialSiteStatusId
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default async function handler(
|
|||
request: Request<
|
||||
unknown,
|
||||
unknown,
|
||||
{ burialSiteStatus: string; orderNumber?: string | number }
|
||||
{ burialSiteStatus: string; orderNumber?: number | string }
|
||||
>,
|
||||
response: Response
|
||||
): Promise<void> {
|
||||
|
|
@ -22,7 +22,8 @@ export default async function handler(
|
|||
|
||||
response.json({
|
||||
success: true,
|
||||
burialSiteStatusId,
|
||||
burialSiteStatuses
|
||||
|
||||
burialSiteStatuses,
|
||||
burialSiteStatusId
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { Request, Response } from 'express';
|
||||
export default function handler(request: Request<unknown, unknown, {
|
||||
burialSiteType: string;
|
||||
orderNumber?: string | number;
|
||||
orderNumber?: number | string;
|
||||
}>, response: Response): Promise<void>;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default async function handler(
|
|||
request: Request<
|
||||
unknown,
|
||||
unknown,
|
||||
{ burialSiteType: string; orderNumber?: string | number }
|
||||
{ burialSiteType: string; orderNumber?: number | string }
|
||||
>,
|
||||
response: Response
|
||||
): Promise<void> {
|
||||
|
|
@ -22,6 +22,7 @@ export default async function handler(
|
|||
|
||||
response.json({
|
||||
success: true,
|
||||
|
||||
burialSiteTypeId,
|
||||
burialSiteTypes
|
||||
})
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ export default async function handler(
|
|||
|
||||
response.json({
|
||||
success: true,
|
||||
|
||||
burialSiteTypeFieldId,
|
||||
burialSiteTypes
|
||||
})
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ export default async function handler(request, response) {
|
|||
const allContractTypeFields = await getAllContractTypeFields();
|
||||
response.json({
|
||||
success: true,
|
||||
allContractTypeFields,
|
||||
contractTypeId,
|
||||
contractTypes,
|
||||
allContractTypeFields
|
||||
contractTypes
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,9 @@ export default async function handler(
|
|||
|
||||
response.json({
|
||||
success: true,
|
||||
|
||||
allContractTypeFields,
|
||||
contractTypeId,
|
||||
contractTypes,
|
||||
allContractTypeFields
|
||||
contractTypes
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -192,11 +192,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
<strong>Birth:</strong>
|
||||
</div>
|
||||
<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)')}
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="columns mb-0">
|
||||
<div class="column">
|
||||
<strong>Death:</strong>
|
||||
</div>
|
||||
|
|
@ -205,12 +207,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
${cityssm.escapeHTML(interment.deathPlace ?? '(No Death Place)')}
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="columns mb-0">
|
||||
<div class="column">
|
||||
<strong>Age:</strong>
|
||||
</div>
|
||||
<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 ?? '')}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -291,11 +291,15 @@ declare const exports: Record<string, unknown>
|
|||
<strong>Birth:</strong>
|
||||
</div>
|
||||
<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)')}
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="columns mb-0">
|
||||
<div class="column">
|
||||
<strong>Death:</strong>
|
||||
</div>
|
||||
|
|
@ -304,12 +308,12 @@ declare const exports: Record<string, unknown>
|
|||
${cityssm.escapeHTML(interment.deathPlace ?? '(No Death Place)')}
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="columns mb-0">
|
||||
<div class="column">
|
||||
<strong>Age:</strong>
|
||||
</div>
|
||||
<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 ?? '')}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -103,10 +103,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
actualSeedString += 'a1';
|
||||
}
|
||||
return exports.randomColor({
|
||||
seed: actualSeedString + actualSeedString,
|
||||
hue: hues[actualSeedString.codePointAt(actualSeedString.length - 1) %
|
||||
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
|
||||
*/
|
||||
const sunrise = {
|
||||
urlPrefix,
|
||||
apiKey: document.querySelector('main')?.dataset.apiKey ?? '',
|
||||
dynamicsGPIntegrationIsEnabled,
|
||||
urlPrefix,
|
||||
highlightMap,
|
||||
initializeUnlockFieldButtons,
|
||||
populateAliases,
|
||||
escapedAliases,
|
||||
populateAliases,
|
||||
getRandomColor,
|
||||
setUnsavedChanges,
|
||||
clearUnsavedChanges,
|
||||
hasUnsavedChanges,
|
||||
getMoveUpDownButtonFieldHTML,
|
||||
setUnsavedChanges,
|
||||
getLoadingParagraphHTML,
|
||||
getMoveUpDownButtonFieldHTML,
|
||||
getSearchResultsPagerHTML,
|
||||
getCemeteryURL,
|
||||
getBurialSiteURL,
|
||||
getFuneralHomeURL,
|
||||
getCemeteryURL,
|
||||
getContractURL,
|
||||
getFuneralHomeURL,
|
||||
getWorkOrderURL
|
||||
};
|
||||
exports.sunrise = sunrise;
|
||||
|
|
|
|||
|
|
@ -3,26 +3,26 @@ import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
|||
import type { Sunrise } from './types.js'
|
||||
|
||||
type RandomColorHue =
|
||||
| 'red'
|
||||
| 'orange'
|
||||
| 'yellow'
|
||||
| 'green'
|
||||
| 'blue'
|
||||
| 'purple'
|
||||
| 'pink'
|
||||
| 'green'
|
||||
| 'monochrome'
|
||||
type RandomColorLuminosity = 'bright' | 'light' | 'dark'
|
||||
| 'orange'
|
||||
| 'pink'
|
||||
| 'purple'
|
||||
| 'red'
|
||||
| 'yellow'
|
||||
type RandomColorLuminosity = 'bright' | 'dark' | 'light'
|
||||
|
||||
declare const cityssm: cityssmGlobal
|
||||
declare const exports: Record<string, unknown> & {
|
||||
aliases: Record<string, string>
|
||||
randomColor: (options?: {
|
||||
alpha?: number
|
||||
count?: number
|
||||
format?: 'hex' | 'hsl' | 'hsla' | 'hslArray' | 'rgb' | 'rgba' | 'rgbArray'
|
||||
hue?: RandomColorHue
|
||||
luminosity?: RandomColorLuminosity
|
||||
count?: number
|
||||
seed?: number | string
|
||||
format?: 'rgb' | 'rgba' | 'rgbArray' | 'hsl' | 'hsla' | 'hslArray' | 'hex'
|
||||
alpha?: number
|
||||
}) => string
|
||||
}
|
||||
;(() => {
|
||||
|
|
@ -55,7 +55,7 @@ declare const exports: Record<string, unknown> & {
|
|||
function highlightMap(
|
||||
mapContainerElement: HTMLElement,
|
||||
mapKey: string,
|
||||
contextualClass: 'success' | 'danger'
|
||||
contextualClass: 'danger' | 'success'
|
||||
): void {
|
||||
// Search for ID
|
||||
let svgId = mapKey
|
||||
|
|
@ -175,7 +175,6 @@ declare const exports: Record<string, unknown> & {
|
|||
}
|
||||
|
||||
return exports.randomColor({
|
||||
seed: actualSeedString + actualSeedString,
|
||||
hue: hues[
|
||||
(actualSeedString.codePointAt(actualSeedString.length - 1) as number) %
|
||||
hues.length
|
||||
|
|
@ -185,7 +184,8 @@ declare const exports: Record<string, unknown> & {
|
|||
(actualSeedString.codePointAt(
|
||||
actualSeedString.length - 2
|
||||
) as number) % luminosity.length
|
||||
]
|
||||
],
|
||||
seed: actualSeedString + actualSeedString
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -271,10 +271,10 @@ declare const exports: Record<string, unknown> & {
|
|||
|
||||
function getRecordURL(
|
||||
recordTypePlural:
|
||||
| 'cemeteries'
|
||||
| 'burialSites'
|
||||
| 'funeralHomes'
|
||||
| 'cemeteries'
|
||||
| 'contracts'
|
||||
| 'funeralHomes'
|
||||
| 'workOrders',
|
||||
recordId: number | string,
|
||||
edit: boolean,
|
||||
|
|
@ -342,29 +342,30 @@ declare const exports: Record<string, unknown> & {
|
|||
*/
|
||||
|
||||
const sunrise: Sunrise = {
|
||||
urlPrefix,
|
||||
apiKey: document.querySelector('main')?.dataset.apiKey ?? '',
|
||||
dynamicsGPIntegrationIsEnabled,
|
||||
urlPrefix,
|
||||
|
||||
highlightMap,
|
||||
initializeUnlockFieldButtons,
|
||||
|
||||
populateAliases,
|
||||
escapedAliases,
|
||||
populateAliases,
|
||||
|
||||
getRandomColor,
|
||||
|
||||
setUnsavedChanges,
|
||||
clearUnsavedChanges,
|
||||
hasUnsavedChanges,
|
||||
setUnsavedChanges,
|
||||
|
||||
getMoveUpDownButtonFieldHTML,
|
||||
getLoadingParagraphHTML,
|
||||
getMoveUpDownButtonFieldHTML,
|
||||
getSearchResultsPagerHTML,
|
||||
|
||||
getCemeteryURL,
|
||||
getBurialSiteURL,
|
||||
getFuneralHomeURL,
|
||||
getCemeteryURL,
|
||||
getContractURL,
|
||||
getFuneralHomeURL,
|
||||
getWorkOrderURL
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,28 +1,28 @@
|
|||
export interface Sunrise {
|
||||
urlPrefix: 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;
|
||||
populateAliases: (containerElement: HTMLElement) => void;
|
||||
escapedAliases: {
|
||||
ExternalReceiptNumber: string;
|
||||
externalReceiptNumber: string;
|
||||
WorkOrderOpenDate: string;
|
||||
workOrderOpenDate: string;
|
||||
WorkOrderCloseDate: string;
|
||||
workOrderCloseDate: string;
|
||||
WorkOrderOpenDate: string;
|
||||
workOrderOpenDate: string;
|
||||
};
|
||||
dynamicsGPIntegrationIsEnabled: boolean;
|
||||
getRandomColor: (seedString: string) => string;
|
||||
setUnsavedChanges: () => void;
|
||||
clearUnsavedChanges: () => void;
|
||||
hasUnsavedChanges: () => boolean;
|
||||
getMoveUpDownButtonFieldHTML: (upButtonClassNames: string, downButtonClassNames: string, isSmall?: boolean) => string;
|
||||
setUnsavedChanges: () => void;
|
||||
getLoadingParagraphHTML: (captionText?: string) => string;
|
||||
getMoveUpDownButtonFieldHTML: (upButtonClassNames: string, downButtonClassNames: string, isSmall?: boolean) => 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;
|
||||
getCemeteryURL: (cemeteryId?: 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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export interface Sunrise {
|
|||
highlightMap: (
|
||||
mapContainerElement: HTMLElement,
|
||||
mapKey: string,
|
||||
contextualClass: 'success' | 'danger'
|
||||
contextualClass: 'danger' | 'success'
|
||||
) => void
|
||||
|
||||
initializeUnlockFieldButtons: (containerElement: HTMLElement) => void
|
||||
|
|
@ -15,40 +15,52 @@ export interface Sunrise {
|
|||
escapedAliases: {
|
||||
ExternalReceiptNumber: string
|
||||
externalReceiptNumber: string
|
||||
WorkOrderOpenDate: string
|
||||
workOrderOpenDate: string
|
||||
WorkOrderCloseDate: string
|
||||
workOrderCloseDate: string
|
||||
WorkOrderOpenDate: string
|
||||
workOrderOpenDate: string
|
||||
}
|
||||
|
||||
dynamicsGPIntegrationIsEnabled: boolean
|
||||
|
||||
getRandomColor: (seedString: string) => string
|
||||
|
||||
setUnsavedChanges: () => void
|
||||
clearUnsavedChanges: () => void
|
||||
hasUnsavedChanges: () => boolean
|
||||
setUnsavedChanges: () => void
|
||||
|
||||
getLoadingParagraphHTML: (captionText?: string) => string
|
||||
getMoveUpDownButtonFieldHTML: (
|
||||
upButtonClassNames: string,
|
||||
downButtonClassNames: string,
|
||||
isSmall?: boolean
|
||||
) => string
|
||||
getLoadingParagraphHTML: (captionText?: string) => 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
|
||||
getFuneralHomeURL: (
|
||||
funeralHomeId?: number | string,
|
||||
edit?: boolean,
|
||||
time?: boolean
|
||||
) => string
|
||||
getWorkOrderURL: (
|
||||
workOrderId?: number | string,
|
||||
edit?: boolean,
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
<div class="dropdown is-right">
|
||||
<div class="dropdown-trigger">
|
||||
<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>
|
||||
</div>
|
||||
<div class="dropdown-menu">
|
||||
|
|
|
|||
|
|
@ -559,6 +559,7 @@ declare const exports: Record<string, unknown>
|
|||
conflictingMilestonePanelElement
|
||||
)
|
||||
},
|
||||
|
||||
onremoved() {
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
}
|
||||
|
|
@ -622,7 +623,7 @@ declare const exports: Record<string, unknown>
|
|||
<div class="dropdown is-right">
|
||||
<div class="dropdown-trigger">
|
||||
<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>
|
||||
</div>
|
||||
<div class="dropdown-menu">
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
<span>Edit</span>
|
||||
</button>
|
||||
<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>
|
||||
</div>
|
||||
</td>`;
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ declare const exports: Record<string, unknown>
|
|||
<span>Edit</span>
|
||||
</button>
|
||||
<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>
|
||||
</div>
|
||||
</td>`
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
: `<ul class="fa-ul ml-5">${intermentsHTML}</ul>`}
|
||||
</td><td>
|
||||
<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>
|
||||
</td>`);
|
||||
rowElement
|
||||
|
|
@ -317,12 +317,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
${burialSite.burialSiteStatusId
|
||||
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
|
||||
: '<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">
|
||||
<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 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>
|
||||
</td>`;
|
||||
rowElement
|
||||
|
|
@ -350,13 +350,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
document
|
||||
.querySelector('#button--addContract')
|
||||
?.addEventListener('click', () => {
|
||||
?.addEventListener('click', (addClickEvent) => {
|
||||
addClickEvent.preventDefault();
|
||||
let searchFormElement;
|
||||
let searchResultsContainerElement;
|
||||
function doSearch(event) {
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
}
|
||||
event?.preventDefault();
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
searchResultsContainerElement.innerHTML =
|
||||
sunrise.getLoadingParagraphHTML('Searching...');
|
||||
|
|
@ -459,13 +458,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
document
|
||||
.querySelector('#button--addBurialSite')
|
||||
?.addEventListener('click', () => {
|
||||
?.addEventListener('click', (addClickEvent) => {
|
||||
addClickEvent.preventDefault();
|
||||
let searchFormElement;
|
||||
let searchResultsContainerElement;
|
||||
function doSearch(event) {
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
}
|
||||
event?.preventDefault();
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
searchResultsContainerElement.innerHTML =
|
||||
sunrise.getLoadingParagraphHTML('Searching...');
|
||||
|
|
@ -490,7 +488,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
for (const burialSite of responseJSON.burialSites) {
|
||||
const rowElement = document.createElement('tr');
|
||||
rowElement.className = 'container--burialSite';
|
||||
rowElement.dataset.burialSiteId = burialSite.burialSiteId.toString();
|
||||
rowElement.dataset.burialSiteId =
|
||||
burialSite.burialSiteId.toString();
|
||||
rowElement.innerHTML = `<td class="has-text-centered">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ declare const exports: Record<string, unknown>
|
|||
}
|
||||
</td><td>
|
||||
<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>
|
||||
</td>`
|
||||
)
|
||||
|
|
@ -502,12 +502,12 @@ declare const exports: Record<string, unknown>
|
|||
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
|
||||
: '<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">
|
||||
<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 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>
|
||||
</td>`
|
||||
|
||||
|
|
@ -546,14 +546,14 @@ declare const exports: Record<string, unknown>
|
|||
|
||||
document
|
||||
.querySelector('#button--addContract')
|
||||
?.addEventListener('click', () => {
|
||||
?.addEventListener('click', (addClickEvent) => {
|
||||
addClickEvent.preventDefault()
|
||||
|
||||
let searchFormElement: HTMLFormElement
|
||||
let searchResultsContainerElement: HTMLElement
|
||||
|
||||
function doSearch(event?: Event): void {
|
||||
if (event) {
|
||||
event.preventDefault()
|
||||
}
|
||||
event?.preventDefault()
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
searchResultsContainerElement.innerHTML =
|
||||
|
|
@ -703,6 +703,7 @@ declare const exports: Record<string, unknown>
|
|||
|
||||
searchFormElement.addEventListener('submit', doSearch)
|
||||
},
|
||||
|
||||
onremoved() {
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
;(
|
||||
|
|
@ -728,14 +729,14 @@ declare const exports: Record<string, unknown>
|
|||
|
||||
document
|
||||
.querySelector('#button--addBurialSite')
|
||||
?.addEventListener('click', () => {
|
||||
?.addEventListener('click', (addClickEvent) => {
|
||||
addClickEvent.preventDefault()
|
||||
|
||||
let searchFormElement: HTMLFormElement
|
||||
let searchResultsContainerElement: HTMLElement
|
||||
|
||||
function doSearch(event?: Event): void {
|
||||
if (event) {
|
||||
event.preventDefault()
|
||||
}
|
||||
event?.preventDefault()
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
searchResultsContainerElement.innerHTML =
|
||||
|
|
@ -745,7 +746,9 @@ declare const exports: Record<string, unknown>
|
|||
`${sunrise.urlPrefix}/burialSites/doSearchBurialSites`,
|
||||
searchFormElement,
|
||||
(rawResponseJSON) => {
|
||||
const responseJSON = rawResponseJSON as { burialSites: BurialSite[] }
|
||||
const responseJSON = rawResponseJSON as {
|
||||
burialSites: BurialSite[]
|
||||
}
|
||||
|
||||
if (responseJSON.burialSites.length === 0) {
|
||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||
|
|
@ -769,7 +772,8 @@ declare const exports: Record<string, unknown>
|
|||
for (const burialSite of responseJSON.burialSites) {
|
||||
const rowElement = document.createElement('tr')
|
||||
rowElement.className = 'container--burialSite'
|
||||
rowElement.dataset.burialSiteId = burialSite.burialSiteId.toString()
|
||||
rowElement.dataset.burialSiteId =
|
||||
burialSite.burialSiteId.toString()
|
||||
|
||||
rowElement.innerHTML = `<td class="has-text-centered">
|
||||
<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)
|
||||
},
|
||||
|
||||
onremoved() {
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
;(
|
||||
|
|
|
|||
|
|
@ -127,8 +127,9 @@ async function importFromMasterCSV() {
|
|||
burialSiteNameSegment2,
|
||||
burialSiteNameSegment3,
|
||||
burialSiteNameSegment4,
|
||||
burialSiteTypeId,
|
||||
burialSiteStatusId: importIds.availableBurialSiteStatusId,
|
||||
burialSiteTypeId,
|
||||
burialSiteImage: '',
|
||||
cemeteryId,
|
||||
cemeterySvgId: '',
|
||||
burialSiteLatitude: '',
|
||||
|
|
|
|||
|
|
@ -322,10 +322,14 @@ async function importFromMasterCSV(): Promise<void> {
|
|||
burialSiteNameSegment2,
|
||||
burialSiteNameSegment3,
|
||||
burialSiteNameSegment4,
|
||||
burialSiteTypeId,
|
||||
|
||||
burialSiteStatusId: importIds.availableBurialSiteStatusId,
|
||||
burialSiteTypeId,
|
||||
|
||||
burialSiteImage: '',
|
||||
cemeteryId,
|
||||
cemeterySvgId: '',
|
||||
|
||||
burialSiteLatitude: '',
|
||||
burialSiteLongitude: ''
|
||||
},
|
||||
|
|
|
|||
|
|
@ -40,81 +40,81 @@
|
|||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a class="navbar-item" href="<%= urlPrefix %>/workOrders" accesskey="1">
|
||||
<span class="icon">
|
||||
<i class="fas fa-hard-hat" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Work Orders</span>
|
||||
</a>
|
||||
<div class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a class="navbar-item" href="<%= urlPrefix %>/workOrders" accesskey="1">
|
||||
<span class="icon">
|
||||
<i class="fas fa-hard-hat" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Work Orders</span>
|
||||
</a>
|
||||
|
||||
<a class="navbar-item" href="<%= urlPrefix %>/contracts" accesskey="2">
|
||||
<span class="icon">
|
||||
<span class="fa-layers fa-fw" aria-hidden="true">
|
||||
<i class="fas fa-vector-square"></i>
|
||||
<i class="fas fa-user" data-fa-transform="shrink-10"></i>
|
||||
</span>
|
||||
<a class="navbar-item" href="<%= urlPrefix %>/contracts" accesskey="2">
|
||||
<span class="icon">
|
||||
<span class="fa-layers fa-fw" aria-hidden="true">
|
||||
<i class="fas fa-vector-square"></i>
|
||||
<i class="fas fa-user" data-fa-transform="shrink-10"></i>
|
||||
</span>
|
||||
</span>
|
||||
<span>Contracts</span>
|
||||
</a>
|
||||
|
||||
<div class="navbar-item has-dropdown">
|
||||
<a class="navbar-link is-arrowless" href="#">
|
||||
<span>More</span>
|
||||
<span class="icon">
|
||||
<i class="fas fa-angle-down" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Contracts</span>
|
||||
</a>
|
||||
|
||||
<div class="navbar-item has-dropdown">
|
||||
<a class="navbar-link is-arrowless" href="#">
|
||||
<span>More</span>
|
||||
<div class="navbar-dropdown">
|
||||
<a class="navbar-item" href="<%= urlPrefix %>/funeralHomes">
|
||||
<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>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 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 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 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>
|
||||
</nav>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,43 +1,43 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
<nav class="breadcrumb">
|
||||
<ul>
|
||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||
<span>Administrator Tools</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="is-active">
|
||||
<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">
|
||||
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
<nav class="breadcrumb">
|
||||
<ul>
|
||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||
<span>Administrator Tools</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="is-active">
|
||||
<a href="#" aria-current="page">
|
||||
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>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<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 id="container--burialSiteTypes"></div>
|
||||
</div>
|
||||
|
||||
<div id="container--burialSiteTypes"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%- include('_footerA'); -%>
|
||||
|
|
|
|||
|
|
@ -5,79 +5,79 @@
|
|||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
<nav class="breadcrumb">
|
||||
<ul>
|
||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||
<span>Administrator Tools</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="is-active">
|
||||
<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">
|
||||
<nav class="breadcrumb">
|
||||
<ul>
|
||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||
<span>Administrator Tools</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="is-active">
|
||||
<a href="#" aria-current="page">
|
||||
Contract Type Management
|
||||
</h1>
|
||||
</div>
|
||||
<div class="column has-text-right is-narrow is-hidden-print">
|
||||
<button class="button is-success" id="button--addContractType" type="button" accesskey="n">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add Contract Type</span>
|
||||
</button>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="columns is-vcentered">
|
||||
<div class="column">
|
||||
<h1 class="title is-1">
|
||||
Contract Type Management
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="tabs is-boxed" role="tablist">
|
||||
<ul role="presentation">
|
||||
<li class="is-active" role="presentation">
|
||||
<a href="#tab--contractTypes">
|
||||
<i class="fas fa-user-friends" aria-hidden="true"></i>
|
||||
<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 class="column has-text-right is-narrow is-hidden-print">
|
||||
<button class="button is-success" id="button--addContractType" type="button" accesskey="n">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add Contract Type</span>
|
||||
</button>
|
||||
</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 class="tabs is-boxed" role="tablist">
|
||||
<ul role="presentation">
|
||||
<li class="is-active" role="presentation">
|
||||
<a href="#tab--contractTypes">
|
||||
<i class="fas fa-user-friends" aria-hidden="true"></i>
|
||||
<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 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>
|
||||
|
||||
|
|
|
|||
|
|
@ -50,94 +50,94 @@
|
|||
</div>
|
||||
<div class="tabs-container">
|
||||
<div id="tab--workOrderTypes">
|
||||
<h2 class="title is-4">Work Order Types</h2>
|
||||
<table class="table is-striped is-hoverable has-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Work Order Type</th>
|
||||
<th class="has-text-centered has-width-1">Options</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form id="form--addWorkOrderType">
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" name="workOrderType" type="text" maxlength="100" placeholder="New Work Order Type" required />
|
||||
</div>
|
||||
<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">
|
||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="container--workOrderTypes"></tbody>
|
||||
</table>
|
||||
<h2 class="title is-4">Work Order Types</h2>
|
||||
<table class="table is-striped is-hoverable has-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Work Order Type</th>
|
||||
<th class="has-text-centered has-width-1">Options</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form id="form--addWorkOrderType">
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" name="workOrderType" type="text" maxlength="100" placeholder="New Work Order Type" required />
|
||||
</div>
|
||||
<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">
|
||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="container--workOrderTypes"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="is-hidden" id="tab--workOrderMilestoneTypes">
|
||||
<h2 class="title is-4">Work Order Milestone Types</h2>
|
||||
<table class="table is-striped is-hoverable has-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Work Order Milestone Type</th>
|
||||
<th class="has-text-centered has-width-1">Options</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form id="form--addWorkOrderMilestoneType">
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" name="workOrderMilestoneType" type="text" maxlength="100" placeholder="New Milestone Type" required />
|
||||
</div>
|
||||
<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">
|
||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="container--workOrderMilestoneTypes"></tbody>
|
||||
</table>
|
||||
<h2 class="title is-4">Work Order Milestone Types</h2>
|
||||
<table class="table is-striped is-hoverable has-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Work Order Milestone Type</th>
|
||||
<th class="has-text-centered has-width-1">Options</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form id="form--addWorkOrderMilestoneType">
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" name="workOrderMilestoneType" type="text" maxlength="100" placeholder="New Milestone Type" required />
|
||||
</div>
|
||||
<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">
|
||||
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="container--workOrderMilestoneTypes"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="is-hidden" id="tab--burialSiteStatuses">
|
||||
<h2 class="title is-4">Burial Site Statuses</h2>
|
||||
<table class="table is-striped is-hoverable has-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Burial Site Status</th>
|
||||
<th class="has-text-centered has-width-1">Options</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form id="form--addBurialSiteStatus">
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" name="burialSiteStatus" type="text" maxlength="100" placeholder="New Burial Site Status" required />
|
||||
</div>
|
||||
<div class="control">
|
||||
<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>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="container--burialSiteStatuses"></tbody>
|
||||
</table>
|
||||
<h2 class="title is-4">Burial Site Statuses</h2>
|
||||
<table class="table is-striped is-hoverable has-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Burial Site Status</th>
|
||||
<th class="has-text-centered has-width-1">Options</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form id="form--addBurialSiteStatus">
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" name="burialSiteStatus" type="text" maxlength="100" placeholder="New Burial Site Status" required />
|
||||
</div>
|
||||
<div class="control">
|
||||
<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>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody id="container--burialSiteStatuses"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -338,7 +338,20 @@
|
|||
<div class="columns">
|
||||
<div class="column">
|
||||
<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="field">
|
||||
<label class="label" for="burialSite--burialSiteLatitude">Latitude</label>
|
||||
|
|
@ -363,7 +376,20 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<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="field">
|
||||
<label class="label" for="burialSite--cemeterySvgId">
|
||||
|
|
|
|||
|
|
@ -75,46 +75,46 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="searchFilter--cemeteryId">Cemetery</label>
|
||||
<div class="control has-icons-left">
|
||||
<label class="label" for="searchFilter--cemeteryId">Cemetery</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="searchFilter--cemeteryId" name="cemeteryId">
|
||||
<select id="searchFilter--cemeteryId" name="cemeteryId">
|
||||
<option value="">(All Cemeteries)</option>
|
||||
<% for (const cemetery of cemeteries) { %>
|
||||
<option value="<%= cemetery.cemeteryId %>" <%= (cemetery.cemeteryId.toString() === cemeteryId) ? " selected" : "" %>>
|
||||
<%= cemetery.cemeteryName || "(No Name)" %>
|
||||
<%= cemetery.cemeteryName || "(No Name)" %>
|
||||
</option>
|
||||
<% } %>
|
||||
</select>
|
||||
</select>
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="searchFilter--burialSiteStatusId">Status</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="searchFilter--burialSiteStatusId" name="burialSiteStatusId">
|
||||
<option value="">(All Statuses)</option>
|
||||
<% for (const burialSiteStatus of burialSiteStatuses) { %>
|
||||
<option value="<%= burialSiteStatus.burialSiteStatusId %>" <%= (burialSiteStatus.burialSiteStatusId.toString() === burialSiteStatusId) ? " selected" : "" %>>
|
||||
<%= burialSiteStatus.burialSiteStatus %>
|
||||
</option>
|
||||
<% } %>
|
||||
</select>
|
||||
</div>
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fas fa-search" aria-hidden="true"></i>
|
||||
</span>
|
||||
<label class="label" for="searchFilter--burialSiteStatusId">Status</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="searchFilter--burialSiteStatusId" name="burialSiteStatusId">
|
||||
<option value="">(All Statuses)</option>
|
||||
<% for (const burialSiteStatus of burialSiteStatuses) { %>
|
||||
<option value="<%= burialSiteStatus.burialSiteStatusId %>" <%= (burialSiteStatus.burialSiteStatusId.toString() === burialSiteStatusId) ? " selected" : "" %>>
|
||||
<%= burialSiteStatus.burialSiteStatus %>
|
||||
</option>
|
||||
<% } %>
|
||||
</select>
|
||||
</div>
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fas fa-search" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -101,7 +101,20 @@
|
|||
|
||||
<div class="column">
|
||||
<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">
|
||||
<% if (burialSite.burialSiteImage) { %>
|
||||
<div class="image">
|
||||
|
|
|
|||
|
|
@ -125,63 +125,89 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<div class="panel">
|
||||
<h2 class="panel-heading">Address</h2>
|
||||
<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 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">Address</h2>
|
||||
</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 class="level-right">
|
||||
<div class="level-item">
|
||||
<i class="fas fa-location-arrow" aria-hidden="true"></i>
|
||||
</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 class="columns">
|
||||
<div class="column">
|
||||
<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="field">
|
||||
<label class="label" for="cemetery--cemeteryLatitude">Latitude</label>
|
||||
|
|
@ -206,7 +232,20 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<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="field">
|
||||
<label class="label" for="cemetery--cemeterySvg">SVG File</label>
|
||||
|
|
@ -232,107 +271,107 @@
|
|||
<% if (!isCreate) { %>
|
||||
<% const burialSiteSearchUrl = urlPrefix + "/burialSites?cemeteryId=" + cemetery.cemeteryId; %>
|
||||
<div class="panel mt-4">
|
||||
<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">
|
||||
Burial Site Summaries
|
||||
<a class="tag is-link ml-2" href="<%= burialSiteSearchUrl %>">
|
||||
<%= 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>
|
||||
<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">
|
||||
Burial Site Summaries
|
||||
<a class="tag is-link ml-2" href="<%= burialSiteSearchUrl %>">
|
||||
<%= cemetery.burialSiteCount %>
|
||||
</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 class="panel-block is-block">
|
||||
<% if (cemetery.burialSiteCount === 0) { %>
|
||||
<div class="message is-info">
|
||||
<p class="message-body">
|
||||
There are no burial sites
|
||||
associated with this cemetery.
|
||||
</p>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<table class="table is-fullwidth is-striped is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th class="has-text-right">
|
||||
Burial Site Count
|
||||
</th>
|
||||
<th class="has-text-right">Percentage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for (const burialSiteType of burialSiteTypeSummary) { %>
|
||||
<tr>
|
||||
<td>
|
||||
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteTypeId=<%= burialSiteType.burialSiteTypeId %>">
|
||||
<%= burialSiteType.burialSiteType %>
|
||||
</a>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= burialSiteType.burialSiteCount %>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= ((burialSiteType.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="column">
|
||||
<table class="table is-fullwidth is-striped is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<th class="has-text-right">
|
||||
Burial Site Count
|
||||
</th>
|
||||
<th class="has-text-right">Percentage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for (const burialSiteStatus of burialSiteStatusSummary) { %>
|
||||
<tr>
|
||||
<td>
|
||||
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteStatusId=<%= burialSiteStatus.burialSiteStatusId %>">
|
||||
<%= burialSiteStatus.burialSiteStatus %>
|
||||
</a>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= burialSiteStatus.burialSiteCount %>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= ((burialSiteStatus.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-block is-block">
|
||||
<% if (cemetery.burialSiteCount === 0) { %>
|
||||
<div class="message is-info">
|
||||
<p class="message-body">
|
||||
There are no burial sites
|
||||
associated with this cemetery.
|
||||
</p>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<table class="table is-fullwidth is-striped is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th class="has-text-right">
|
||||
Burial Site Count
|
||||
</th>
|
||||
<th class="has-text-right">Percentage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for (const burialSiteType of burialSiteTypeSummary) { %>
|
||||
<tr>
|
||||
<td>
|
||||
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteTypeId=<%= burialSiteType.burialSiteTypeId %>">
|
||||
<%= burialSiteType.burialSiteType %>
|
||||
</a>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= burialSiteType.burialSiteCount %>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= ((burialSiteType.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="column">
|
||||
<table class="table is-fullwidth is-striped is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<th class="has-text-right">
|
||||
Burial Site Count
|
||||
</th>
|
||||
<th class="has-text-right">Percentage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for (const burialSiteStatus of burialSiteStatusSummary) { %>
|
||||
<tr>
|
||||
<td>
|
||||
<a class="has-text-weight-bold" href="<%= burialSiteSearchUrl %>&burialSiteStatusId=<%= burialSiteStatus.burialSiteStatusId %>">
|
||||
<%= burialSiteStatus.burialSiteStatus %>
|
||||
</a>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= burialSiteStatus.burialSiteCount %>
|
||||
</td>
|
||||
<td class="has-text-right">
|
||||
<%= ((burialSiteStatus.burialSiteCount / cemetery.burialSiteCount) * 100).toFixed(1) %>%
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,20 @@
|
|||
<div class="columns">
|
||||
<div class="column">
|
||||
<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">
|
||||
<% if (cemetery.cemeteryLatitude && cemetery.cemeteryLongitude) { %>
|
||||
<div id="cemetery--leaflet" data-cemetery-latitude="<%= cemetery.cemeteryLatitude %>" data-cemetery-longitude="<%= cemetery.cemeteryLongitude %>" style="height:300px"></div>
|
||||
|
|
@ -112,7 +125,20 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<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">
|
||||
<% if (cemetery.cemeterySvg) { %>
|
||||
<% const imageURL = urlPrefix + "/internal/images/cemeteries/" + cemetery.cemeterySvg %>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
<% if (workOrderPrints.length > 0) { %>
|
||||
<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">
|
||||
<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>
|
||||
</span>
|
||||
<% } %>
|
||||
|
|
@ -228,8 +228,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-desktop">
|
||||
<div class="column">
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-6-widescreen is-full-desktop is-full-tablet">
|
||||
<div class="panel">
|
||||
<a class="panel-block" href="<%= urlPrefix %>/reports">
|
||||
<div class="media">
|
||||
|
|
@ -246,7 +246,7 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="column is-6-widescreen is-full-desktop is-full-tablet">
|
||||
<div class="panel">
|
||||
<a class="panel-block" href="https://cityssm.github.io/sunrise-cms/docs" rel="noopener noreferrer" target="_blank">
|
||||
<div class="media">
|
||||
|
|
|
|||
|
|
@ -83,76 +83,75 @@
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<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="column">
|
||||
<div class="panel">
|
||||
<div class="panel-block is-block">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="panel">
|
||||
<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">
|
||||
<label class="label" for="funeralHome--funeralHomeName">Funeral Home Name</label>
|
||||
<label class="label" for="funeralHome--funeralHomeCity">City</label>
|
||||
<div class="control">
|
||||
<input class="input" id="funeralHome--funeralHomeName" name="funeralHomeName" type="text"
|
||||
value="<%= funeralHome.funeralHomeName %>" maxlength="200" required
|
||||
accesskey="f"
|
||||
<%= (isCreate ? " autofocus" : "") %> />
|
||||
<input class="input" id="funeralHome--funeralHomeCity" name="funeralHomeCity" value="<%= funeralHome.funeralHomeCity %>" maxlength="20" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="funeralHome--funeralHomeAddress1">Address</label>
|
||||
<label class="label" for="funeralHome--funeralHomeProvince">Province</label>
|
||||
<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 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--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 class="columns">
|
||||
<div class="column is-8">
|
||||
<div class="field">
|
||||
<label class="label" for="funeralHome--funeralHomeCity">City</label>
|
||||
<div class="control">
|
||||
<input class="input" id="funeralHome--funeralHomeCity" name="funeralHomeCity" value="<%= funeralHome.funeralHomeCity %>" maxlength="20" />
|
||||
</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 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>
|
||||
</form>
|
||||
|
||||
<%- include('_footerA'); -%>
|
||||
|
|
|
|||
|
|
@ -1,74 +1,74 @@
|
|||
<% const deceased = contract.contractInterments[0]; %>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title><%= headTitle %></title>
|
||||
<style>
|
||||
<%- include('style.css'); %>
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin:100px 80px">
|
||||
<p class="mb-2 has-text-centered is-capitalized">Province of Ontario</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>
|
||||
<head>
|
||||
<title><%= headTitle %></title>
|
||||
<style>
|
||||
<%- include('style.css'); %>
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin:100px 80px">
|
||||
<p class="mb-2 has-text-centered is-capitalized">Province of Ontario</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>
|
||||
|
||||
<p>
|
||||
Under the <span class="is-italic">Vital Statistics Act</span>
|
||||
and the regulations,
|
||||
subject to the limitations thereof,
|
||||
this permit is granted to:<br />
|
||||
</p>
|
||||
<p>
|
||||
Under the <span class="is-italic">Vital Statistics Act</span>
|
||||
and the regulations,
|
||||
subject to the limitations thereof,
|
||||
this permit is granted to:<br />
|
||||
</p>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<strong><%= contract.funeralHomeName %></strong><br />
|
||||
<%= contract.funeralHomeAddress1 %><br />
|
||||
<% if (contract.funeralHomeAddress2) { %><%= contract.funeralHomeAddress2 %><br /><% } %>
|
||||
<%= contract.funeralHomeCity %>, <%= contract.funeralHomeProvince %><br />
|
||||
<%= contract.funeralHomePostalCode %>
|
||||
</p>
|
||||
<p class="has-text-centered">
|
||||
<strong><%= contract.funeralHomeName %></strong><br />
|
||||
<%= contract.funeralHomeAddress1 %><br />
|
||||
<% if (contract.funeralHomeAddress2) { %><%= contract.funeralHomeAddress2 %><br /><% } %>
|
||||
<%= contract.funeralHomeCity %>, <%= contract.funeralHomeProvince %><br />
|
||||
<%= contract.funeralHomePostalCode %>
|
||||
</p>
|
||||
|
||||
<p class="mt-4">
|
||||
for the purpose of the burial or other disposition of the body of:
|
||||
</p>
|
||||
<p class="mt-4">
|
||||
for the purpose of the burial or other disposition of the body of:
|
||||
</p>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<% if (!contract.isPreneed && deceased !== undefined) { %>
|
||||
<strong><%= deceased.deceasedName %></strong>
|
||||
<% } %>
|
||||
</p>
|
||||
<p class="has-text-centered">
|
||||
<% if (!contract.isPreneed && deceased !== undefined) { %>
|
||||
<strong><%= deceased.deceasedName %></strong>
|
||||
<% } %>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
who died at
|
||||
<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
|
||||
<p>
|
||||
who died at
|
||||
<span class="field has-text-centered" style="width:300px">
|
||||
|
||||
<%= deceased?.deathPlace ?? '' %>
|
||||
|
||||
</span>
|
||||
in Ontario on
|
||||
<span class="field has-text-centered" style="width:150px">
|
||||
|
||||
5724
|
||||
</p>
|
||||
<%= deceased?.deathDateString %>
|
||||
|
||||
</span>
|
||||
.
|
||||
</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>
|
||||
<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
|
||||
|
||||
|
||||
|
||||
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>
|
||||
|
|
@ -2,463 +2,463 @@
|
|||
<head>
|
||||
<title><%= headTitle %></title>
|
||||
<style>
|
||||
<%- include('style.css'); %>
|
||||
<%- include('style.css'); %>
|
||||
|
||||
body {
|
||||
margin: 0 50px;
|
||||
}
|
||||
body {
|
||||
margin: 0 50px;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 50px 0;
|
||||
}
|
||||
@page {
|
||||
margin: 50px 0;
|
||||
}
|
||||
|
||||
.termsList {
|
||||
counter-reset: list;
|
||||
}
|
||||
.termsList {
|
||||
counter-reset: list;
|
||||
}
|
||||
|
||||
.termsList > li {
|
||||
list-style: none;
|
||||
position: relative;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.termsList > li {
|
||||
list-style: none;
|
||||
position: relative;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.termsList > li::before {
|
||||
content: "(" counter(list, lower-alpha) ")";
|
||||
counter-increment: list;
|
||||
position: absolute;
|
||||
left: -1.8em;
|
||||
}
|
||||
.termsList > li::before {
|
||||
content: "(" counter(list, lower-alpha) ")";
|
||||
counter-increment: list;
|
||||
position: absolute;
|
||||
left: -1.8em;
|
||||
}
|
||||
|
||||
.confirmList > li {
|
||||
list-style: none;
|
||||
position: relative;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.confirmList > li {
|
||||
list-style: none;
|
||||
position: relative;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.confirmList > li::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
border: 2px solid black;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
left: -1.4em;
|
||||
top: -0.1em;
|
||||
font-size: 15pt;
|
||||
}
|
||||
.confirmList > li::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
border: 2px solid black;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
left: -1.4em;
|
||||
top: -0.1em;
|
||||
font-size: 15pt;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="is-10pt">
|
||||
<h1 class="is-12pt has-text-centered is-capitalized">
|
||||
Contract for the Purchase of Interment Rights or<br />
|
||||
Cemetery Services
|
||||
</h1>
|
||||
<p class="has-text-centered">
|
||||
in
|
||||
<span class="field" style="width:300px">
|
||||
<%= contract.cemeteryName %>
|
||||
</span>
|
||||
cemetery<br />
|
||||
<span class="is-capitalized">operated by</span><br />
|
||||
The Corporation of the City of Sault Ste. Marie, 99 Foster Drive<br />
|
||||
Sault Ste. Marie Ontario P6A 5X6
|
||||
</p>
|
||||
<p>
|
||||
Contract No.
|
||||
<span class="field">
|
||||
<%= contract.contractId %>
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
Date of Purchase
|
||||
<span class="field">
|
||||
<%= contract.contractStartDateString %>
|
||||
</span>
|
||||
</p>
|
||||
<table class="layout-table is-10pt" style="table-layout:fixed">
|
||||
<tbody>
|
||||
<h1 class="is-12pt has-text-centered is-capitalized">
|
||||
Contract for the Purchase of Interment Rights or<br />
|
||||
Cemetery Services
|
||||
</h1>
|
||||
<p class="has-text-centered">
|
||||
in
|
||||
<span class="field" style="width:300px">
|
||||
<%= contract.cemeteryName %>
|
||||
</span>
|
||||
cemetery<br />
|
||||
<span class="is-capitalized">operated by</span><br />
|
||||
The Corporation of the City of Sault Ste. Marie, 99 Foster Drive<br />
|
||||
Sault Ste. Marie Ontario P6A 5X6
|
||||
</p>
|
||||
<p>
|
||||
Contract No.
|
||||
<span class="field">
|
||||
<%= contract.contractId %>
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
Date of Purchase
|
||||
<span class="field">
|
||||
<%= contract.contractStartDateString %>
|
||||
</span>
|
||||
</p>
|
||||
<table class="layout-table is-10pt" style="table-layout:fixed">
|
||||
<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>
|
||||
<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>
|
||||
<td>Cemetery</td>
|
||||
<td><%= contract.cemeteryName ?? '(No ' + configFunctions.getConfigProperty("aliases.map") + ')' %></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>
|
||||
<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>
|
||||
<%
|
||||
}
|
||||
<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>
|
||||
</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;
|
||||
%>
|
||||
<% for (const fee of contract.contractFees) { %>
|
||||
<% if (currentFeeCategory !== fee.feeCategory) { %>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<strong><%= fee.feeCategory %></strong>
|
||||
</td>
|
||||
</tr>
|
||||
<% currentFeeCategory = fee.feeCategory; %>
|
||||
<% } %>
|
||||
<tr>
|
||||
<td <% if (fee.quantity === 1) { %>colspan="2"<% } %>>
|
||||
<%= fee.feeName %>
|
||||
</td>
|
||||
<% if (fee.quantity !== 1) { %>
|
||||
<td class="has-text-right is-8pt has-text-nowrap">
|
||||
$<%= fee.feeAmount.toFixed(2) %>
|
||||
×
|
||||
<%= fee.quantity %>
|
||||
</td>
|
||||
<% } %>
|
||||
<td class="has-text-right">
|
||||
$<%= fee.feeAmount.toFixed(2) %>
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
feeAmountTotal += fee.feeAmount * fee.quantity;
|
||||
taxAmountTotal += fee.taxAmount * fee.quantity;
|
||||
%>
|
||||
<% } %>
|
||||
<tr>
|
||||
<td colspan="2"><strong>Sub Total</strong></td>
|
||||
<td class="has-text-right">
|
||||
<strong>$<%= feeAmountTotal.toFixed(2) %></strong>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td colspan="2">HST</td>
|
||||
<td class="has-text-right">
|
||||
$<%= taxAmountTotal.toFixed(2) %>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td colspan="2"><strong>Total Sale</strong></td>
|
||||
<td class="has-text-right">
|
||||
<strong>$<%= (feeAmountTotal + taxAmountTotal).toFixed(2) %></strong>
|
||||
</td>
|
||||
</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>
|
||||
<% for (const fee of contract.contractFees) { %>
|
||||
<% if (currentFeeCategory !== fee.feeCategory) { %>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<strong><%= fee.feeCategory %></strong>
|
||||
</td>
|
||||
</tr>
|
||||
<% currentFeeCategory = fee.feeCategory; %>
|
||||
<% } %>
|
||||
<tr>
|
||||
<td <% if (fee.quantity === 1) { %>colspan="2"<% } %>>
|
||||
<%= fee.feeName %>
|
||||
</td>
|
||||
<% if (fee.quantity !== 1) { %>
|
||||
<td class="has-text-right is-8pt has-text-nowrap">
|
||||
$<%= fee.feeAmount.toFixed(2) %>
|
||||
×
|
||||
<%= fee.quantity %>
|
||||
</td>
|
||||
<% } %>
|
||||
<td class="has-text-right">
|
||||
$<%= fee.feeAmount.toFixed(2) %>
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
feeAmountTotal += fee.feeAmount * fee.quantity;
|
||||
taxAmountTotal += fee.taxAmount * fee.quantity;
|
||||
%>
|
||||
<% } %>
|
||||
<tr>
|
||||
<td colspan="2"><strong>Sub Total</strong></td>
|
||||
<td class="has-text-right">
|
||||
<strong>$<%= feeAmountTotal.toFixed(2) %></strong>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td colspan="2">HST</td>
|
||||
<td class="has-text-right">
|
||||
$<%= taxAmountTotal.toFixed(2) %>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td colspan="2"><strong>Total Sale</strong></td>
|
||||
<td class="has-text-right">
|
||||
<strong>$<%= (feeAmountTotal + taxAmountTotal).toFixed(2) %></strong>
|
||||
</td>
|
||||
</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">
|
||||
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>)
|
||||
</h2>
|
||||
<h2 class="is-10pt" style="page-break-before:always">
|
||||
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>)
|
||||
</h2>
|
||||
|
||||
<table class="layout-table is-10pt">
|
||||
<tr>
|
||||
<td>Niches</td>
|
||||
<td>the greater of 15% and $100</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Crypts</td>
|
||||
<td>the greater of 20% and $500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
In-ground grave (2.23 sq.m. or 24 sq.ft. or larger)
|
||||
</td>
|
||||
<td>
|
||||
the greater of 40% and $250
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>In-ground grave (smaller than 2.23 sq.m. or 24 sq ft)</td>
|
||||
<td>the greater of 40% and $150</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2 class="is-10pt">
|
||||
Contribution Levels to the Care and Maintenance Fund - Markers<br />
|
||||
(as prescribed by the <em>Funeral, Burial and Cremation Services Act</em>)
|
||||
</h2>
|
||||
<table class="layout-table is-10pt">
|
||||
<tr>
|
||||
<td>Niches</td>
|
||||
<td>the greater of 15% and $100</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Crypts</td>
|
||||
<td>the greater of 20% and $500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
In-ground grave (2.23 sq.m. or 24 sq.ft. or larger)
|
||||
</td>
|
||||
<td>
|
||||
the greater of 40% and $250
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>In-ground grave (smaller than 2.23 sq.m. or 24 sq ft)</td>
|
||||
<td>the greater of 40% and $150</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2 class="is-10pt">
|
||||
Contribution Levels to the Care and Maintenance Fund - Markers<br />
|
||||
(as prescribed by the <em>Funeral, Burial and Cremation Services Act</em>)
|
||||
</h2>
|
||||
|
||||
<table class="layout-table is-10pt">
|
||||
<tr>
|
||||
<td>Flat marker measuring less than 1,116.3 sq.m. (173 sq.in.)</td>
|
||||
<td class="has-text-right">$0.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Flat marker measuring over 1,116.3 sq.m. (173 sq.in.)</td>
|
||||
<td class="has-text-right">$50.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Upright monument measuring more than 1.22 m. (4 ft.) or less in height or length,
|
||||
including the base
|
||||
</td>
|
||||
<td class="has-text-right">$100.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Upright monument measuring more than 1.22m. (4 ft.) either in height or length,
|
||||
including the base
|
||||
</td>
|
||||
<td class="has-text-right">$200.00</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2 class="is-10pt">Contract Terms and Conditions</h2>
|
||||
<table class="layout-table is-10pt">
|
||||
<tr>
|
||||
<td>Flat marker measuring less than 1,116.3 sq.m. (173 sq.in.)</td>
|
||||
<td class="has-text-right">$0.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Flat marker measuring over 1,116.3 sq.m. (173 sq.in.)</td>
|
||||
<td class="has-text-right">$50.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Upright monument measuring more than 1.22 m. (4 ft.) or less in height or length,
|
||||
including the base
|
||||
</td>
|
||||
<td class="has-text-right">$100.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Upright monument measuring more than 1.22m. (4 ft.) either in height or length,
|
||||
including the base
|
||||
</td>
|
||||
<td class="has-text-right">$200.00</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2 class="is-10pt">Contract Terms and Conditions</h2>
|
||||
|
||||
<ol class="termsList">
|
||||
<li>
|
||||
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
|
||||
out herein.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
all moneys paid less an administrative fee as set out in the Price List.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
A contract for interment rights cannot be cancelled more than thirty (30) days after the date of execution of the
|
||||
contract.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
earned on that money.
|
||||
</li>
|
||||
<li>
|
||||
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,
|
||||
inscriptions or photos.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
No Certificate of Interment Rights holder(s) may subdivide and sell or transfer a portion of interment rights.
|
||||
</li>
|
||||
<li>
|
||||
An Interment Rights Certificate will not be issued until this Contract has been paid in full.
|
||||
</li>
|
||||
<li>
|
||||
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).
|
||||
</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
|
||||
a container made of or containing non-flammable or hazardous material or chlorinated or fibre-reinforced plastic.
|
||||
</li>
|
||||
<li>
|
||||
Dead human bodies will not be cremated unless a coroner's certificate has been provided to the operator.
|
||||
</li>
|
||||
<li>
|
||||
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.
|
||||
</li>
|
||||
</ol>
|
||||
<ol class="termsList">
|
||||
<li>
|
||||
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
|
||||
out herein.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
all moneys paid less an administrative fee as set out in the Price List.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
A contract for interment rights cannot be cancelled more than thirty (30) days after the date of execution of the
|
||||
contract.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
earned on that money.
|
||||
</li>
|
||||
<li>
|
||||
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,
|
||||
inscriptions or photos.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
No Certificate of Interment Rights holder(s) may subdivide and sell or transfer a portion of interment rights.
|
||||
</li>
|
||||
<li>
|
||||
An Interment Rights Certificate will not be issued until this Contract has been paid in full.
|
||||
</li>
|
||||
<li>
|
||||
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).
|
||||
</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
|
||||
a container made of or containing non-flammable or hazardous material or chlorinated or fibre-reinforced plastic.
|
||||
</li>
|
||||
<li>
|
||||
Dead human bodies will not be cremated unless a coroner's certificate has been provided to the operator.
|
||||
</li>
|
||||
<li>
|
||||
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.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<!-- PAGE BREAK -->
|
||||
<!-- PAGE BREAK -->
|
||||
|
||||
<h2 class="is-10pt" style="page-break-before:always">Payment Terms</h2>
|
||||
<p>
|
||||
All pre-need interment rights and cemetery services must be paid in full at the time of ordering.
|
||||
</p>
|
||||
<p>
|
||||
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
|
||||
unpaid balance after thirty (30) days from the date of invoice. Such services do not include interment rights in a
|
||||
mausoleum.
|
||||
</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<h2 class="is-10pt" style="page-break-before:always">Payment Terms</h2>
|
||||
<p>
|
||||
All pre-need interment rights and cemetery services must be paid in full at the time of ordering.
|
||||
</p>
|
||||
<p>
|
||||
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
|
||||
unpaid balance after thirty (30) days from the date of invoice. Such services do not include interment rights in a
|
||||
mausoleum.
|
||||
</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
|
||||
<h2 class="is-10pt">Personal Information</h2>
|
||||
<h2 class="is-10pt">Personal Information</h2>
|
||||
|
||||
<p>
|
||||
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
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
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>.
|
||||
</p>
|
||||
<p>
|
||||
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
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
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>.
|
||||
</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>
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
|
||||
<ul class="confirmList">
|
||||
<li>
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
I hereby acknowledge that I have received and reviewed a copy of Cemetery By-law 2012-129.
|
||||
</li>
|
||||
<li>
|
||||
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.
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="confirmList">
|
||||
<li>
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
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
|
||||
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.
|
||||
</li>
|
||||
<li>
|
||||
I hereby acknowledge that I have received and reviewed a copy of Cemetery By-law 2012-129.
|
||||
</li>
|
||||
<li>
|
||||
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.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The Contract date set out below is the date on which this Contract is accepted by the Corporation.
|
||||
</p>
|
||||
<p>
|
||||
The Contract date set out below is the date on which this Contract is accepted by the Corporation.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Purchaser:
|
||||
<span class="field" style="width:400px"> </span>
|
||||
Date:
|
||||
<span class="field" style="width:200px"> </span>
|
||||
</p>
|
||||
<p>
|
||||
Purchaser:
|
||||
<span class="field" style="width:400px"> </span>
|
||||
Date:
|
||||
<span class="field" style="width:200px"> </span>
|
||||
</p>
|
||||
<p>
|
||||
Purchaser:
|
||||
<span class="field" style="width:400px"> </span>
|
||||
Date:
|
||||
<span class="field" style="width:200px"> </span>
|
||||
</p>
|
||||
<p>
|
||||
Purchaser:
|
||||
<span class="field" style="width:400px"> </span>
|
||||
Date:
|
||||
<span class="field" style="width:200px"> </span>
|
||||
</p>
|
||||
|
||||
<p class="has-text-right mt-4">
|
||||
Accepted on behalf of The Corporation<br />
|
||||
of the City of Sault Ste. Marie by:
|
||||
</p>
|
||||
<p class="has-text-right">
|
||||
Name:
|
||||
<span class="field" style="width:300px"> </span>
|
||||
</p>
|
||||
<p class="has-text-right mt-4">
|
||||
Accepted on behalf of The Corporation<br />
|
||||
of the City of Sault Ste. Marie by:
|
||||
</p>
|
||||
<p class="has-text-right">
|
||||
Name:
|
||||
<span class="field" style="width:300px"> </span>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,47 +1,46 @@
|
|||
<html>
|
||||
<head>
|
||||
<title><%= headTitle %></title>
|
||||
<style>
|
||||
<%- include('style.css'); %>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<%- include('_workOrder-header.ejs'); %>
|
||||
<head>
|
||||
<title><%= headTitle %></title>
|
||||
<style>
|
||||
<%- include('style.css'); %>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<%- include('_workOrder-header.ejs'); %>
|
||||
|
||||
<h2 class="mb-0">Comments</h2>
|
||||
<h2 class="mb-0">Comments</h2>
|
||||
|
||||
<% if (workOrder.workOrderComments.length === 0) { %>
|
||||
<p>There are no comments associated with this work order.</p>
|
||||
<% } else { %>
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Commentor</th>
|
||||
<th>Comment Time</th>
|
||||
<th>Comment</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for (const comment of workOrder.workOrderComments) { %>
|
||||
<tr>
|
||||
<td><%= comment.recordUpdate_userName %></td>
|
||||
<td><%= comment.workOrderCommentDateString %> <%= comment.workOrderCommentTimePeriodString %></td>
|
||||
<td><%= comment.workOrderComment %></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% } %>
|
||||
|
||||
|
||||
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
||||
<%
|
||||
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
||||
const currentDate = new Date();
|
||||
%>
|
||||
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimeString(recordCreateDate) %>.
|
||||
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimeString(currentDate) %>.<br />
|
||||
workOrderId = <%= workOrder.workOrderId %>
|
||||
</p>
|
||||
</body>
|
||||
<% if (workOrder.workOrderComments.length === 0) { %>
|
||||
<p>There are no comments associated with this work order.</p>
|
||||
<% } else { %>
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Commentor</th>
|
||||
<th>Comment Time</th>
|
||||
<th>Comment</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for (const comment of workOrder.workOrderComments) { %>
|
||||
<tr>
|
||||
<td><%= comment.recordUpdate_userName %></td>
|
||||
<td><%= comment.workOrderCommentDateString %> <%= comment.workOrderCommentTimePeriodString %></td>
|
||||
<td><%= comment.workOrderComment %></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% } %>
|
||||
|
||||
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
||||
<%
|
||||
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
||||
const currentDate = new Date();
|
||||
%>
|
||||
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimeString(recordCreateDate) %>.
|
||||
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimeString(currentDate) %>.<br />
|
||||
workOrderId = <%= workOrder.workOrderId %>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -69,55 +69,55 @@
|
|||
<h2 class="mb-0">Milestones</h2>
|
||||
|
||||
<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>
|
||||
<th class="is-width-1"></th>
|
||||
<th>Milestone Description</th>
|
||||
<th>Due Date</th>
|
||||
<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>
|
||||
</thead>
|
||||
<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>
|
||||
<% } %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% } %>
|
||||
|
||||
<h2 class="mb-0">Notes</h2>
|
||||
|
||||
<p class="has-text-right is-italic is-8pt" style="position:absolute;bottom:10px;right:10px">
|
||||
<%
|
||||
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
||||
const currentDate = new Date();
|
||||
%>
|
||||
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(recordCreateDate) %>.
|
||||
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(currentDate) %>.<br />
|
||||
workOrderId = <%= workOrder.workOrderId %>
|
||||
<%
|
||||
const recordCreateDate = new Date(workOrder.recordCreate_timeMillis);
|
||||
const currentDate = new Date();
|
||||
%>
|
||||
Work order created <%= dateTimeFunctions.dateToString(recordCreateDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(recordCreateDate) %>.
|
||||
Printed <%= dateTimeFunctions.dateToString(currentDate) %> at <%= dateTimeFunctions.dateToTimePeriodString(currentDate) %>.<br />
|
||||
workOrderId = <%= workOrder.workOrderId %>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -104,14 +104,14 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="dropdown-menu">
|
||||
<div class="dropdown-content">
|
||||
<a class="dropdown-item" id="button--deleteWorkOrder" href="#">
|
||||
<span class="icon is-small">
|
||||
<i class="fas fa-trash has-text-danger" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Delete Work Order</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="dropdown-content">
|
||||
<a class="dropdown-item" id="button--deleteWorkOrder" href="#">
|
||||
<span class="icon is-small">
|
||||
<i class="fas fa-trash has-text-danger" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Delete Work Order</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -128,201 +128,197 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns is-desktop">
|
||||
<div class="column">
|
||||
<form id="form--workOrderEdit">
|
||||
<input id="workOrderEdit--workOrderId" name="workOrderId" type="hidden" value="<%= workOrder.workOrderId %>" />
|
||||
<div class="panel">
|
||||
<div class="panel-block is-block">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<label class="label" for="workOrderEdit--workOrderNumber">Work Order Number</label>
|
||||
<div class="field has-addons">
|
||||
<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") %> />
|
||||
</div>
|
||||
<div class="control">
|
||||
<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>
|
||||
</button>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<form id="form--workOrderEdit">
|
||||
<input id="workOrderEdit--workOrderId" name="workOrderId" type="hidden" value="<%= workOrder.workOrderId %>" />
|
||||
<div class="panel">
|
||||
<div class="panel-block is-block">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<label class="label" for="workOrderEdit--workOrderNumber">Work Order Number</label>
|
||||
<div class="field has-addons">
|
||||
<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") %> />
|
||||
</div>
|
||||
<div class="control">
|
||||
<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>
|
||||
</button>
|
||||
</div>
|
||||
<% if (isCreate) { %>
|
||||
<p class="help">Leave work order number blank to autopopulate.</p>
|
||||
<% } %>
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="workOrderEdit--workOrderTypeId">Work Order Type</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="workOrderEdit--workOrderTypeId" name="workOrderTypeId" required <%= (isCreate ? " autofocus" : "") %>>
|
||||
<% if (isCreate && workOrderTypes.length > 1) { %>
|
||||
<option value="">(Select Type)</option>
|
||||
<% } %>
|
||||
<% for (const workOrderType of workOrderTypes) { %>
|
||||
<option value="<%= workOrderType.workOrderTypeId %>" <%= (workOrder.workOrderTypeId === workOrderType.workOrderTypeId ? " selected" : "") %>>
|
||||
<%= workOrderType.workOrderType %>
|
||||
</option>
|
||||
<% } %>
|
||||
</select>
|
||||
</div>
|
||||
<% if (isCreate) { %>
|
||||
<p class="help">Leave work order number blank to autopopulate.</p>
|
||||
<% } %>
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="workOrderEdit--workOrderTypeId">Work Order Type</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="workOrderEdit--workOrderTypeId" name="workOrderTypeId" required <%= (isCreate ? " autofocus" : "") %>>
|
||||
<% if (isCreate && workOrderTypes.length > 1) { %>
|
||||
<option value="">(Select Type)</option>
|
||||
<% } %>
|
||||
<% for (const workOrderType of workOrderTypes) { %>
|
||||
<option value="<%= workOrderType.workOrderTypeId %>" <%= (workOrder.workOrderTypeId === workOrderType.workOrderTypeId ? " selected" : "") %>>
|
||||
<%= workOrderType.workOrderType %>
|
||||
</option>
|
||||
<% } %>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="workOrderEdit--workOrderDescription">Description</label>
|
||||
<div class="control">
|
||||
<textarea class="textarea" id="workOrderEdit--workOrderDescription" name="workOrderDescription"><%= workOrder.workOrderDescription %></textarea>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="workOrderEdit--workOrderDescription">Description</label>
|
||||
<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 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>
|
||||
<div class="column">
|
||||
<label class="label" for="workOrderEdit--workOrderCloseDateString"><%= configFunctions.getConfigProperty("aliases.workOrderCloseDate") %></label>
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" id="workOrderEdit--workOrderCloseDateString" name="workOrderCloseDateString" type="date" value="<%= workOrder.workOrderCloseDateString %>" disabled readonly />
|
||||
</div>
|
||||
<div class="control">
|
||||
<button class="button is-light is-success" id="button--closeWorkOrder" type="button">
|
||||
<span class="icon is-small"><i class="fas fa-stop-circle" aria-hidden="true"></i></span>
|
||||
<span>
|
||||
Close
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<label class="label" for="workOrderEdit--workOrderCloseDateString"><%= configFunctions.getConfigProperty("aliases.workOrderCloseDate") %></label>
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<input class="input" id="workOrderEdit--workOrderCloseDateString" name="workOrderCloseDateString" type="date" value="<%= workOrder.workOrderCloseDateString %>" disabled readonly />
|
||||
</div>
|
||||
<div class="control">
|
||||
<button class="button is-light is-success" id="button--closeWorkOrder" type="button">
|
||||
<span class="icon is-small"><i class="fas fa-stop-circle" aria-hidden="true"></i></span>
|
||||
<span>
|
||||
Close
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<% if (!isCreate) { %>
|
||||
<div class="panel mt-4">
|
||||
<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">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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<% if (!isCreate) { %>
|
||||
<div class="panel mt-4">
|
||||
<h2 class="panel-heading">Related Burial Sites</h2>
|
||||
<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 class="dropdown-menu">
|
||||
<div class="dropdown-content has-text-weight-normal">
|
||||
<a class="dropdown-item" id="button--addContract" href="#">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add a Related Contract</span>
|
||||
</a>
|
||||
<a class="dropdown-item" id="button--addBurialSite" href="#">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add a Related Burial Site</span>
|
||||
</a>
|
||||
</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>
|
||||
</div>
|
||||
<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 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>
|
||||
|
|
@ -331,9 +327,34 @@
|
|||
</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'); -%>
|
||||
|
||||
|
|
|
|||
|
|
@ -35,81 +35,81 @@
|
|||
|
||||
<div class="box">
|
||||
<form id="form--searchFilters">
|
||||
<input id="searchFilter--limit" name="limit" type="hidden" value="50" />
|
||||
<input id="searchFilter--offset" name="offset" type="hidden" value="0" />
|
||||
<input id="searchFilter--limit" name="limit" type="hidden" value="50" />
|
||||
<input id="searchFilter--offset" name="offset" type="hidden" value="0" />
|
||||
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="searchFilter--workOrderTypeId">Work Order Type</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="searchFilter--workOrderTypeId" name="workOrderTypeId" accesskey="f">
|
||||
<option value="">(All Work Order Types)</option>
|
||||
<% for (const workOrderType of workOrderTypes) { %>
|
||||
<option value="<%= workOrderType.workOrderTypeId %>"><%= workOrderType.workOrderType || "(No Name)" %></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--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 class="columns">
|
||||
<div class="column">
|
||||
<div class="field">
|
||||
<label class="label" for="searchFilter--workOrderTypeId">Work Order Type</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="searchFilter--workOrderTypeId" name="workOrderTypeId" accesskey="f">
|
||||
<option value="">(All Work Order Types)</option>
|
||||
<% for (const workOrderType of workOrderTypes) { %>
|
||||
<option value="<%= workOrderType.workOrderTypeId %>"><%= workOrderType.workOrderType || "(No Name)" %></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="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 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 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>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue