pull/11/head
Dan Gowans 2025-04-16 12:51:12 -04:00
parent 4a17f0ecfa
commit fb5c960bc7
6 changed files with 318 additions and 275 deletions

View File

@ -13,8 +13,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
const contractId = clickEvent.currentTarget.closest('.container--contract').dataset.contractId; const contractId = clickEvent.currentTarget.closest('.container--contract').dataset.contractId;
function doDelete() { function doDelete() {
cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderContract`, { cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderContract`, {
workOrderId, contractId,
contractId workOrderId
}, (rawResponseJSON) => { }, (rawResponseJSON) => {
const responseJSON = rawResponseJSON; const responseJSON = rawResponseJSON;
if (responseJSON.success) { if (responseJSON.success) {
@ -65,8 +65,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
function addContract(contractId, callbackFunction) { function addContract(contractId, callbackFunction) {
cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doAddWorkOrderContract`, { cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doAddWorkOrderContract`, {
workOrderId, contractId,
contractId workOrderId
}, (rawResponseJSON) => { }, (rawResponseJSON) => {
const responseJSON = rawResponseJSON; const responseJSON = rawResponseJSON;
if (responseJSON.success) { if (responseJSON.success) {
@ -106,7 +106,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
<th>Burial Site</th> <th>Burial Site</th>
<th>Contract Date</th> <th>Contract Date</th>
<th>End Date</th> <th>End Date</th>
<th>Interments</th> <th>Contacts</th>
<th class="has-width-1"></th> <th class="has-width-1"></th>
</tr></thead> </tr></thead>
<tbody></tbody> <tbody></tbody>
@ -138,9 +138,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
${hasBurialSiteRecord ${hasBurialSiteRecord
? '' ? ''
: ` <button class="button is-small is-light is-success button--addBurialSite" : ` <button class="button is-small is-light is-success button--addBurialSite"
data-burial-site-id="${contract.burialSiteId.toString()}" data-burial-site-id="${contract.burialSiteId.toString()}"
data-tooltip="Add Burial Site" data-tooltip="Add Burial Site"
aria-label="Add Burial Site" type="button"> aria-label="Add Burial Site" type="button">
<i class="fas fa-plus" aria-hidden="true"></i> <i class="fas fa-plus" aria-hidden="true"></i>
</button>`} </button>`}
</td>`); </td>`);
@ -148,14 +148,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
rowElement.insertAdjacentHTML('beforeend', '<td><span class="has-text-grey">(No Burial Site)</span></td>'); rowElement.insertAdjacentHTML('beforeend', '<td><span class="has-text-grey">(No Burial Site)</span></td>');
} }
let intermentsHTML = ''; let contactsHtml = '';
for (const interment of contract.contractInterments ?? []) { for (const interment of contract.contractInterments ?? []) {
intermentsHTML += `<li class="has-tooltip-left" contactsHtml += `<li class="has-tooltip-left"
data-tooltip="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}"> data-tooltip="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}">
<span class="fa-li"> <span class="fa-li">
<i class="fas fa-fw fa-user" aria-label="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}"></i> <i class="fas fa-fw fa-user" aria-label="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}"></i>
</span> </span>
${cityssm.escapeHTML(interment.deceasedName ?? '')} ${cityssm.escapeHTML(interment.deceasedName ?? '')}
</li>`;
}
if (contract.purchaserName !== '') {
contactsHtml += `<li class="has-tooltip-left"
data-tooltip="Purchaser">
<span class="fa-li">
<i class="fas fa-fw fa-hand-holding-dollar" aria-label="Purchaser"></i>
</span>
${cityssm.escapeHTML(contract.purchaserName)}
</li>`;
}
if (contract.funeralHomeName !== null) {
contactsHtml += `<li class="has-tooltip-left"
data-tooltip="Funeral Home">
<span class="fa-li">
<i class="fas fa-fw fa-place-of-worship" aria-label="Funeral Home"></i>
</span>
${cityssm.escapeHTML(contract.funeralHomeName)}
</li>`; </li>`;
} }
// eslint-disable-next-line no-unsanitized/method // eslint-disable-next-line no-unsanitized/method
@ -166,9 +184,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
? contract.contractEndDateString ? contract.contractEndDateString
: '<span class="has-text-grey">(No End Date)</span>'} : '<span class="has-text-grey">(No End Date)</span>'}
</td><td> </td><td>
${contract.contractInterments.length === 0 <ul class="fa-ul ml-5">
? '<span class="has-text-grey">(No Interments)</span>' ${contactsHtml}
: `<ul class="fa-ul ml-5">${intermentsHTML}</ul>`} </ul>
</td><td> </td><td>
<button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button"> <button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button">
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span> <span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
@ -253,8 +271,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
const burialSiteId = clickEvent.currentTarget.closest('.container--burialSite').dataset.burialSiteId; const burialSiteId = clickEvent.currentTarget.closest('.container--burialSite').dataset.burialSiteId;
function doDelete() { function doDelete() {
cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderBurialSite`, { cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderBurialSite`, {
workOrderId, burialSiteId,
burialSiteId workOrderId
}, (rawResponseJSON) => { }, (rawResponseJSON) => {
const responseJSON = rawResponseJSON; const responseJSON = rawResponseJSON;
if (responseJSON.success) { if (responseJSON.success) {
@ -317,8 +335,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
${burialSite.burialSiteStatusId ${burialSite.burialSiteStatusId
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '') ? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
: '<span class="has-text-grey">(No Status)</span>'} : '<span class="has-text-grey">(No Status)</span>'}
</td><td class="has-text-right is-nowrap"> </td><td class="has-text-right">
<button class="button is-small is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button"> <button class="button is-small mb-1 is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button">
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span> <span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
</button> </button>
<button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button"> <button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button">
@ -384,7 +402,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
rowElement.dataset.contractId = contract.contractId.toString(); rowElement.dataset.contractId = contract.contractId.toString();
rowElement.innerHTML = `<td class="has-text-centered"> rowElement.innerHTML = `<td class="has-text-centered">
<button class="button is-small is-success button--addContract" data-tooltip="Add" type="button" aria-label="Add"> <button class="button is-small is-success button--addContract" data-tooltip="Add" type="button" aria-label="Add">
<i class="fas fa-plus" aria-hidden="true"></i> <span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
</button> </button>
</td> </td>
<td class="has-text-weight-bold"> <td class="has-text-weight-bold">
@ -492,7 +510,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
burialSite.burialSiteId.toString(); burialSite.burialSiteId.toString();
rowElement.innerHTML = `<td class="has-text-centered"> rowElement.innerHTML = `<td class="has-text-centered">
<button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add"> <button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add">
<i class="fas fa-plus" aria-hidden="true"></i> <span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
</button> </button>
</td><td class="has-text-weight-bold"> </td><td class="has-text-weight-bold">
${cityssm.escapeHTML(burialSite.burialSiteName ?? '')} ${cityssm.escapeHTML(burialSite.burialSiteName ?? '')}

View File

@ -40,8 +40,8 @@ declare const exports: Record<string, unknown>
cityssm.postJSON( cityssm.postJSON(
`${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderContract`, `${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderContract`,
{ {
workOrderId, contractId,
contractId workOrderId
}, },
(rawResponseJSON) => { (rawResponseJSON) => {
const responseJSON = rawResponseJSON as { const responseJSON = rawResponseJSON as {
@ -118,8 +118,8 @@ declare const exports: Record<string, unknown>
cityssm.postJSON( cityssm.postJSON(
`${sunrise.urlPrefix}/workOrders/doAddWorkOrderContract`, `${sunrise.urlPrefix}/workOrders/doAddWorkOrderContract`,
{ {
workOrderId, contractId,
contractId workOrderId
}, },
(rawResponseJSON) => { (rawResponseJSON) => {
const responseJSON = rawResponseJSON as { const responseJSON = rawResponseJSON as {
@ -179,7 +179,7 @@ declare const exports: Record<string, unknown>
<th>Burial Site</th> <th>Burial Site</th>
<th>Contract Date</th> <th>Contract Date</th>
<th>End Date</th> <th>End Date</th>
<th>Interments</th> <th>Contacts</th>
<th class="has-width-1"></th> <th class="has-width-1"></th>
</tr></thead> </tr></thead>
<tbody></tbody> <tbody></tbody>
@ -227,9 +227,9 @@ declare const exports: Record<string, unknown>
hasBurialSiteRecord hasBurialSiteRecord
? '' ? ''
: ` <button class="button is-small is-light is-success button--addBurialSite" : ` <button class="button is-small is-light is-success button--addBurialSite"
data-burial-site-id="${contract.burialSiteId.toString()}" data-burial-site-id="${contract.burialSiteId.toString()}"
data-tooltip="Add Burial Site" data-tooltip="Add Burial Site"
aria-label="Add Burial Site" type="button"> aria-label="Add Burial Site" type="button">
<i class="fas fa-plus" aria-hidden="true"></i> <i class="fas fa-plus" aria-hidden="true"></i>
</button>` </button>`
} }
@ -242,10 +242,10 @@ declare const exports: Record<string, unknown>
) )
} }
let intermentsHTML = '' let contactsHtml = ''
for (const interment of contract.contractInterments ?? []) { for (const interment of contract.contractInterments ?? []) {
intermentsHTML += `<li class="has-tooltip-left" contactsHtml += `<li class="has-tooltip-left"
data-tooltip="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}"> data-tooltip="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}">
<span class="fa-li"> <span class="fa-li">
<i class="fas fa-fw fa-user" aria-label="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}"></i> <i class="fas fa-fw fa-user" aria-label="${cityssm.escapeHTML(contract.isPreneed ?? false ? 'Recipient' : 'Deceased')}"></i>
@ -254,6 +254,26 @@ declare const exports: Record<string, unknown>
</li>` </li>`
} }
if (contract.purchaserName !== '') {
contactsHtml += `<li class="has-tooltip-left"
data-tooltip="Purchaser">
<span class="fa-li">
<i class="fas fa-fw fa-hand-holding-dollar" aria-label="Purchaser"></i>
</span>
${cityssm.escapeHTML(contract.purchaserName)}
</li>`
}
if (contract.funeralHomeName !== null) {
contactsHtml += `<li class="has-tooltip-left"
data-tooltip="Funeral Home">
<span class="fa-li">
<i class="fas fa-fw fa-place-of-worship" aria-label="Funeral Home"></i>
</span>
${cityssm.escapeHTML(contract.funeralHomeName)}
</li>`
}
// eslint-disable-next-line no-unsanitized/method // eslint-disable-next-line no-unsanitized/method
rowElement.insertAdjacentHTML( rowElement.insertAdjacentHTML(
'beforeend', 'beforeend',
@ -266,11 +286,9 @@ declare const exports: Record<string, unknown>
: '<span class="has-text-grey">(No End Date)</span>' : '<span class="has-text-grey">(No End Date)</span>'
} }
</td><td> </td><td>
${ <ul class="fa-ul ml-5">
contract.contractInterments!.length === 0 ${contactsHtml}
? '<span class="has-text-grey">(No Interments)</span>' </ul>
: `<ul class="fa-ul ml-5">${intermentsHTML}</ul>`
}
</td><td> </td><td>
<button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button"> <button class="button is-small is-light is-danger button--deleteContract" data-tooltip="Delete Relationship" type="button">
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span> <span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
@ -398,6 +416,7 @@ declare const exports: Record<string, unknown>
.querySelector('form') .querySelector('form')
?.addEventListener('submit', doUpdateBurialSiteStatus) ?.addEventListener('submit', doUpdateBurialSiteStatus)
}, },
onremoved() { onremoved() {
bulmaJS.toggleHtmlClipped() bulmaJS.toggleHtmlClipped()
} }
@ -415,8 +434,8 @@ declare const exports: Record<string, unknown>
cityssm.postJSON( cityssm.postJSON(
`${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderBurialSite`, `${sunrise.urlPrefix}/workOrders/doDeleteWorkOrderBurialSite`,
{ {
workOrderId, burialSiteId,
burialSiteId workOrderId
}, },
(rawResponseJSON) => { (rawResponseJSON) => {
const responseJSON = rawResponseJSON as { const responseJSON = rawResponseJSON as {
@ -502,8 +521,8 @@ declare const exports: Record<string, unknown>
? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '') ? cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')
: '<span class="has-text-grey">(No Status)</span>' : '<span class="has-text-grey">(No Status)</span>'
} }
</td><td class="has-text-right is-nowrap"> </td><td class="has-text-right">
<button class="button is-small is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button"> <button class="button is-small mb-1 is-light is-info button--editBurialSiteStatus" data-tooltip="Update Status" type="button">
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span> <span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
</button> </button>
<button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button"> <button class="button is-small is-light is-danger button--deleteBurialSite" data-tooltip="Delete Relationship" type="button">
@ -594,7 +613,7 @@ declare const exports: Record<string, unknown>
rowElement.innerHTML = `<td class="has-text-centered"> rowElement.innerHTML = `<td class="has-text-centered">
<button class="button is-small is-success button--addContract" data-tooltip="Add" type="button" aria-label="Add"> <button class="button is-small is-success button--addContract" data-tooltip="Add" type="button" aria-label="Add">
<i class="fas fa-plus" aria-hidden="true"></i> <span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
</button> </button>
</td> </td>
<td class="has-text-weight-bold"> <td class="has-text-weight-bold">
@ -703,7 +722,7 @@ declare const exports: Record<string, unknown>
searchFormElement.addEventListener('submit', doSearch) searchFormElement.addEventListener('submit', doSearch)
}, },
onremoved() { onremoved() {
bulmaJS.toggleHtmlClipped() bulmaJS.toggleHtmlClipped()
;( ;(
@ -777,7 +796,7 @@ declare const exports: Record<string, unknown>
rowElement.innerHTML = `<td class="has-text-centered"> rowElement.innerHTML = `<td class="has-text-centered">
<button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add"> <button class="button is-small is-success button--addBurialSite" data-tooltip="Add" type="button" aria-label="Add">
<i class="fas fa-plus" aria-hidden="true"></i> <span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
</button> </button>
</td><td class="has-text-weight-bold"> </td><td class="has-text-weight-bold">
${cityssm.escapeHTML(burialSite.burialSiteName ?? '')} ${cityssm.escapeHTML(burialSite.burialSiteName ?? '')}

View File

@ -80,12 +80,12 @@ const cemeteryKeyToCemetery = {
}, },
MN: { MN: {
cemeteryName: 'Mausoleum Niche', cemeteryName: 'Mausoleum Niche',
cemeteryDescription: '', cemeteryDescription: 'At Holy Sepulchre Cemetery',
cemeteryKey: 'MN', cemeteryKey: 'MN',
cemeterySvg: '', cemeterySvg: '',
cemeteryLatitude: '', cemeteryLatitude: '',
cemeteryLongitude: '', cemeteryLongitude: '',
cemeteryAddress1: '', cemeteryAddress1: 'Fourth Line East',
cemeteryAddress2: '', cemeteryAddress2: '',
cemeteryCity: 'Sault Ste. Marie', cemeteryCity: 'Sault Ste. Marie',
cemeteryPostalCode: '', cemeteryPostalCode: '',
@ -110,12 +110,12 @@ const cemeteryKeyToCemetery = {
}, },
NW: { NW: {
cemeteryName: 'Niche Wall', cemeteryName: 'Niche Wall',
cemeteryDescription: '', cemeteryDescription: 'At New Greenwood Cemetery',
cemeteryKey: 'NW', cemeteryKey: 'NW',
cemeterySvg: '', cemeterySvg: '',
cemeteryLatitude: '', cemeteryLatitude: '',
cemeteryLongitude: '', cemeteryLongitude: '',
cemeteryAddress1: '', cemeteryAddress1: 'Fourth Line East',
cemeteryAddress2: '', cemeteryAddress2: '',
cemeteryCity: 'Sault Ste. Marie', cemeteryCity: 'Sault Ste. Marie',
cemeteryPostalCode: '', cemeteryPostalCode: '',

View File

@ -107,14 +107,14 @@ const cemeteryKeyToCemetery: Record<string, AddCemeteryForm> = {
MN: { MN: {
cemeteryName: 'Mausoleum Niche', cemeteryName: 'Mausoleum Niche',
cemeteryDescription: '', cemeteryDescription: 'At Holy Sepulchre Cemetery',
cemeteryKey: 'MN', cemeteryKey: 'MN',
cemeterySvg: '', cemeterySvg: '',
cemeteryLatitude: '', cemeteryLatitude: '',
cemeteryLongitude: '', cemeteryLongitude: '',
cemeteryAddress1: '', cemeteryAddress1: 'Fourth Line East',
cemeteryAddress2: '', cemeteryAddress2: '',
cemeteryCity: 'Sault Ste. Marie', cemeteryCity: 'Sault Ste. Marie',
cemeteryPostalCode: '', cemeteryPostalCode: '',
@ -146,14 +146,14 @@ const cemeteryKeyToCemetery: Record<string, AddCemeteryForm> = {
NW: { NW: {
cemeteryName: 'Niche Wall', cemeteryName: 'Niche Wall',
cemeteryDescription: '', cemeteryDescription: 'At New Greenwood Cemetery',
cemeteryKey: 'NW', cemeteryKey: 'NW',
cemeterySvg: '', cemeterySvg: '',
cemeteryLatitude: '', cemeteryLatitude: '',
cemeteryLongitude: '', cemeteryLongitude: '',
cemeteryAddress1: '', cemeteryAddress1: 'Fourth Line East',
cemeteryAddress2: '', cemeteryAddress2: '',
cemeteryCity: 'Sault Ste. Marie', cemeteryCity: 'Sault Ste. Marie',
cemeteryPostalCode: '', cemeteryPostalCode: '',

View File

@ -219,26 +219,60 @@
</div> </div>
</form> </form>
<form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/burialSites-byBurialSiteTypeId"> <form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/burialSites-byBurialSiteTypeId">
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-file" aria-hidden="true"></i> <i class="fas fa-2x fa-file" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div>
<div>
<h2 class="title is-5 mb-0">Burial Sites By Type</h2>
<div class="field has-addons mt-2">
<div class="control">
<label class="button is-small is-static" for="burialSites-byBurialSiteTypeId--burialSiteTypeId">
Burial Site Type
</label>
</div>
<div class="control is-expanded">
<div class="select is-small is-fullwidth">
<select id="burialSites-byBurialSiteTypeId--burialSiteTypeId" name="burialSiteTypeId">
<% for (const burialSiteType of burialSiteTypes) { %>
<option value="<%= burialSiteType.burialSiteTypeId %>">
<%= burialSiteType.burialSiteType %>
</option>
<% } %>
</select>
</div>
</div>
<div class="control">
<button class="button is-small is-primary" type="submit">
Export
</button>
</div>
</div> </div>
<div> </div>
<h2 class="title is-5 mb-0">Burial Sites By Type</h2> </form>
<form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/burialSites-byBurialSiteStatusId">
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-file" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h2 class="title is-5 mb-0">Burial Sites By Status</h2>
<div class="field has-addons mt-2"> <div class="field has-addons mt-2">
<div class="control"> <div class="control">
<label class="button is-small is-static" for="burialSites-byBurialSiteTypeId--burialSiteTypeId"> <label class="button is-small is-static" for="burialSites-byBurialSiteStatusId--burialSiteStatusId">
Burial Site Type Burial Site Status
</label> </label>
</div> </div>
<div class="control is-expanded"> <div class="control is-expanded">
<div class="select is-small is-fullwidth"> <div class="select is-small is-fullwidth">
<select id="burialSites-byBurialSiteTypeId--burialSiteTypeId" name="burialSiteTypeId"> <select id="burialSites-byBurialSiteStatusId--burialSiteStatusId" name="burialSiteStatusId">
<% for (const burialSiteType of burialSiteTypes) { %> <% for (const burialSiteStatus of burialSiteStatuses) { %>
<option value="<%= burialSiteType.burialSiteTypeId %>"> <option value="<%= burialSiteStatus.burialSiteStatusId %>">
<%= burialSiteType.burialSiteType %> <%= burialSiteStatus.burialSiteStatus %>
</option> </option>
<% } %> <% } %>
</select> </select>
@ -250,61 +284,27 @@
</button> </button>
</div> </div>
</div> </div>
</div> </div>
</form>
<form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/burialSites-byBurialSiteStatusId">
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-file" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h2 class="title is-5 mb-0">Burial Sites By Status</h2>
<div class="field has-addons mt-2">
<div class="control">
<label class="button is-small is-static" for="burialSites-byBurialSiteStatusId--burialSiteStatusId">
Burial Site Status
</label>
</div>
<div class="control is-expanded">
<div class="select is-small is-fullwidth">
<select id="burialSites-byBurialSiteStatusId--burialSiteStatusId" name="burialSiteStatusId">
<% for (const burialSiteStatus of burialSiteStatuses) { %>
<option value="<%= burialSiteStatus.burialSiteStatusId %>">
<%= burialSiteStatus.burialSiteStatus %>
</option>
<% } %>
</select>
</div>
</div>
<div class="control">
<button class="button is-small is-primary" type="submit">
Export
</button>
</div>
</div>
</div>
</form> </form>
</div> </div>
</div> </div>
<div class="is-hidden" id="tab--cemeteries"> <div class="is-hidden" id="tab--cemeteries">
<h1 class="title is-1">Cemetery Reports</h1> <h1 class="title is-1">Cemetery Reports</h1>
<div class="panel"> <div class="panel">
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/cemeteries-formatted" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/cemeteries-formatted" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-file" aria-hidden="true"></i> <i class="fas fa-2x fa-file" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h2 class="title is-5 mb-0">Full Cemetery List</h2> <h2 class="title is-5 mb-0">Full Cemetery List</h2>
<p> <p>
All active cemeteries. All active cemeteries.
</p> </p>
</div> </div>
</a> </a>
</div> </div>
</div> </div>
@ -319,133 +319,133 @@
<div class="columns"> <div class="columns">
<div class="column"> <div class="column">
<div class="panel"> <div class="panel">
<h2 class="panel-heading">Contract Tables</h2> <h2 class="panel-heading">Contract Tables</h2>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contracts-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contracts-all" download>
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h3 class="title is-5 is-marginless">Contracts</h3>
</div>
</a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractComments-all" download>
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h3 class="title is-5 is-marginless">Contract Comments</h3>
</div>
</a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractFees-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Contracts</h3> <h3 class="title is-5 is-marginless">Contract Fees</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractComments-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractFields-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Contract Comments</h3> <h3 class="title is-5 is-marginless">Contract Fields</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractFees-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractInterments-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Contract Fees</h3> <h3 class="title is-5 is-marginless">Contract Interments</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractFields-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractTransactions-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Contract Fields</h3> <h3 class="title is-5 is-marginless">Contract Transactions</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractInterments-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/funeralHomes-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Contract Interments</h3> <h3 class="title is-5 is-marginless">Funeral Homes</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/contractTransactions-all" download>
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h3 class="title is-5 is-marginless">Contract Transactions</h3>
</div>
</a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/funeralHomes-all" download>
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h3 class="title is-5 is-marginless">Funeral Homes</h3>
</div>
</a>
</div> </div>
</div> </div>
<div class="column"> <div class="column">
<div class="panel"> <div class="panel">
<h2 class="panel-heading">Work Order Tables</h2> <h2 class="panel-heading">Work Order Tables</h2>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrders-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrders-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Work Orders</h3> <h3 class="title is-5 is-marginless">Work Orders</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrderComments-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrderComments-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Work Order Comments</h3> <h3 class="title is-5 is-marginless">Work Order Comments</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrderBurialSites-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrderBurialSites-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Work Order Burial Sites</h3> <h3 class="title is-5 is-marginless">Work Order Burial Sites</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrderMilestones-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/workOrderMilestones-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Work Order Milestones</h3> <h3 class="title is-5 is-marginless">Work Order Milestones</h3>
</div> </div>
</a> </a>
</div> </div>
<div class="panel"> <div class="panel">
<h2 class="panel-heading">Burial Site Tables</h2> <h2 class="panel-heading">Burial Site Tables</h2>
@ -533,40 +533,40 @@
</a> </a>
</div> </div>
<div class="panel"> <div class="panel">
<h2 class="panel-heading">Burial Site Tables</h2> <h2 class="panel-heading">Burial Site Tables</h2>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/burialSiteTypes-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/burialSiteTypes-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Burial Site Types</h3> <h3 class="title is-5 is-marginless">Burial Site Types</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/burialSiteTypeFields-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/burialSiteTypeFields-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Burial Site Type Fields</h3> <h3 class="title is-5 is-marginless">Burial Site Type Fields</h3>
</div> </div>
</a> </a>
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/burialSiteStatuses-all" download> <a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/burialSiteStatuses-all" download>
<div class="has-text-centered my-2 ml-2 mr-3"> <div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info"> <span class="icon has-text-info">
<i class="fas fa-2x fa-table" aria-hidden="true"></i> <i class="fas fa-2x fa-table" aria-hidden="true"></i>
</span><br /> </span><br />
<span class="tag is-info">CSV</span> <span class="tag is-info">CSV</span>
</div> </div>
<div> <div>
<h3 class="title is-5 is-marginless">Burial Site Statuses</h3> <h3 class="title is-5 is-marginless">Burial Site Statuses</h3>
</div> </div>
</a> </a>
</div> </div>
</div> </div>
<div class="column"> <div class="column">

View File

@ -179,7 +179,7 @@
<th>Burial Site</th> <th>Burial Site</th>
<th>Contract Date</th> <th>Contract Date</th>
<th>End Date</th> <th>End Date</th>
<th>Interments</th> <th>Contacts</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -218,20 +218,26 @@
<% } %> <% } %>
</td> </td>
<td> <td>
<% if (contract.contractInterments.length === 0) { %> <ul class="fa-ul ml-5">
<span class="has-text-grey"> <% for (const interment of contract.contractInterments) { %>
(No Interments) <li class="has-tooltip-left" data-tooltip="<%= contract.isPreneed ? 'Recipient' : 'Deceased' %>">
</span> <span class="fa-li"><i class="fas fa-user" aria-label="Recipient"></i></span>
<% } else { %> <%= interment.deceasedName %>
<ul class="fa-ul ml-5"> </li>
<% for (const interment of contract.contractInterments) { %> <% } %>
<li> <% if (contract.purchaserName !== '') { %>
<span class="fa-li"><i class="fas fa-user" aria-hidden="true"></i></span> <li class="has-tooltip-left" data-tooltip="Purchaser">
<%= interment.deceasedName %> <span class="fa-li"><i class="fas fa-hand-holding-dollar" aria-label="Purchase"></i></span>
</li> <%= contract.purchaserName %>
<% } %> </li>
</ul> <% } %>
<% } %> <% if (contract.funeralHomeName) { %>
<li class="has-tooltip-left" data-tooltip="Funeral Home">
<span class="fa-li"><i class="fas fa-place-of-worship" aria-label="Funeral Home"></i></span>
<%= contract.funeralHomeName %>
</li>
<% } %>
</ul>
</td> </td>
</tr> </tr>
<% } %> <% } %>