pull/3/head
Dan Gowans 2025-03-18 14:52:24 -04:00
parent 0aa050dbae
commit 9bc27dafe8
11 changed files with 259 additions and 270 deletions

View File

@ -1,6 +1,4 @@
"use strict"; "use strict";
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
/* eslint-disable unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
const sunrise = exports.sunrise; const sunrise = exports.sunrise;
@ -101,7 +99,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
event.preventDefault(); event.preventDefault();
} }
// eslint-disable-next-line no-unsanitized/property // eslint-disable-next-line no-unsanitized/property
milestoneCalendarContainerElement.innerHTML = sunrise.getLoadingParagraphHTML('Loading Milestones...'); milestoneCalendarContainerElement.innerHTML =
sunrise.getLoadingParagraphHTML('Loading Milestones...');
cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doGetWorkOrderMilestones`, workOrderSearchFiltersFormElement, (responseJSON) => { cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doGetWorkOrderMilestones`, workOrderSearchFiltersFormElement, (responseJSON) => {
renderMilestones(responseJSON.workOrderMilestones); renderMilestones(responseJSON.workOrderMilestones);
}); });

View File

@ -1,6 +1,3 @@
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
/* eslint-disable unicorn/prefer-module */
import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js' import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
import type { WorkOrderMilestone } from '../../types/recordTypes.js' import type { WorkOrderMilestone } from '../../types/recordTypes.js'
@ -153,9 +150,8 @@ declare const exports: Record<string, unknown>
} }
// eslint-disable-next-line no-unsanitized/property // eslint-disable-next-line no-unsanitized/property
milestoneCalendarContainerElement.innerHTML = sunrise.getLoadingParagraphHTML( milestoneCalendarContainerElement.innerHTML =
'Loading Milestones...' sunrise.getLoadingParagraphHTML('Loading Milestones...')
)
cityssm.postJSON( cityssm.postJSON(
`${sunrise.urlPrefix}/workOrders/doGetWorkOrderMilestones`, `${sunrise.urlPrefix}/workOrders/doGetWorkOrderMilestones`,

View File

@ -1,6 +1,4 @@
"use strict"; "use strict";
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
/* eslint-disable unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
const sunrise = exports.sunrise; const sunrise = exports.sunrise;

View File

@ -1,6 +1,3 @@
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
/* eslint-disable unicorn/prefer-module */
import type { Sunrise } from './types.js' import type { Sunrise } from './types.js'
declare const exports: Record<string, unknown> declare const exports: Record<string, unknown>

View File

@ -1,4 +1,4 @@
import { DateString, TimeString } from "@cityssm/utils-datetime"; import type { DateString, TimeString } from "@cityssm/utils-datetime";
export interface Record { export interface Record {
recordCreate_userName?: string; recordCreate_userName?: string;
recordCreate_timeMillis?: number; recordCreate_timeMillis?: number;

View File

@ -1,4 +1,4 @@
import { DateString, TimeString } from "@cityssm/utils-datetime" import type { DateString, TimeString } from "@cityssm/utils-datetime"
export interface Record { export interface Record {
recordCreate_userName?: string recordCreate_userName?: string

View File

@ -15,9 +15,9 @@
</a> </a>
</li> </li>
<li class="is-active"> <li class="is-active">
<a href="#" aria-current="page"> <a href="#" aria-current="page">
Ntfy Startup Notification Ntfy Startup Notification
</a> </a>
</li> </li>
</ul> </ul>
</nav> </nav>

View File

@ -1,40 +1,39 @@
<table class="layout-table"> <table class="layout-table">
<tr> <tr>
<td> <td>
<h1 class="m-0">Work Order #<%= workOrder.workOrderNumber %></h1> <h1 class="m-0">Work Order #<%= workOrder.workOrderNumber %></h1>
</td> </td>
<td class="has-text-right is-vcentered"> <td class="has-text-right is-vcentered">
<strong> <strong>
<% if (workOrder.workOrderCloseDate) { %> <% if (workOrder.workOrderCloseDate) { %>
CLOSED<br /> CLOSED<br />
<% } %> <% } %>
<%= workOrder.workOrderType %> <%= workOrder.workOrderType %>
</strong> </strong>
</td> </td>
</tr> </tr>
</table> </table>
<div class="box mt-1"> <div class="box mt-1">
<table class="layout-table"> <table class="layout-table">
<tr> <tr>
<td> <td>
<p>
<p> <strong>Description</strong><br />
<strong>Description</strong><br /> <%= workOrder.workOrderDescription %>
<%= workOrder.workOrderDescription %> </p>
</p> </td>
</td> <td class="pl-1 is-width-1 has-text-nowrap">
<td class="pl-1 is-width-1 has-text-nowrap"> <p>
<p> <strong><%= configFunctions.getConfigProperty("aliases.workOrderOpenDate") %></strong><br />
<strong><%= configFunctions.getConfigProperty("aliases.workOrderOpenDate") %></strong><br /> <%= workOrder.workOrderOpenDateString %>
<%= workOrder.workOrderOpenDateString %> </p>
</p> <% if (workOrder.workOrderCloseDate) { %>
<% if (workOrder.workOrderCloseDate) { %> <p>
<p> <strong><%= configFunctions.getConfigProperty("aliases.workOrderCloseDate") %></strong><br />
<strong><%= configFunctions.getConfigProperty("aliases.workOrderCloseDate") %></strong><br /> <%= workOrder.workOrderCloseDateString %>
<%= workOrder.workOrderCloseDateString %> </p>
</p> <% } %>
<% } %> </td>
</td> </tr>
</tr> </table>
</table>
</div> </div>

View File

@ -8,67 +8,67 @@
</style> </style>
</head> </head>
<body style="margin:100px 80px"> <body style="margin:100px 80px">
<p class="mb-2 has-text-centered is-capitalized">Province of Ontario</p> <p class="mb-2 has-text-centered is-capitalized">Province of Ontario</p>
<p class="has-text-centered is-italic">Vital Statistics Act</p> <p class="has-text-centered is-italic">Vital Statistics Act</p>
<h1 class="has-text-centered is-capitalized mt-4 mb-4">Burial Permit</h1> <h1 class="has-text-centered is-capitalized mt-4 mb-4">Burial Permit</h1>
<p> <p>
Under the <span class="is-italic">Vital Statistics Act</span> Under the <span class="is-italic">Vital Statistics Act</span>
and the regulations, and the regulations,
subject to the limitations thereof, subject to the limitations thereof,
this permit is granted to:<br /> this permit is granted to:<br />
</p> </p>
<p class="has-text-centered"> <p class="has-text-centered">
<strong><%= contract.funeralHomeName %></strong><br /> <strong><%= contract.funeralHomeName %></strong><br />
<%= contract.funeralHomeAddress1 %><br /> <%= contract.funeralHomeAddress1 %><br />
<% if (contract.funeralHomeAddress2) { %><%= contract.funeralHomeAddress2 %><br /><% } %> <% if (contract.funeralHomeAddress2) { %><%= contract.funeralHomeAddress2 %><br /><% } %>
<%= contract.funeralHomeCity %>, <%= contract.funeralHomeProvince %><br /> <%= contract.funeralHomeCity %>, <%= contract.funeralHomeProvince %><br />
<%= contract.funeralHomePostalCode %> <%= contract.funeralHomePostalCode %>
</p> </p>
<p class="mt-4"> <p class="mt-4">
for the purpose of the burial or other disposition of the body of: for the purpose of the burial or other disposition of the body of:
</p> </p>
<p class="has-text-centered"> <p class="has-text-centered">
<% if (!contract.isPreneed && deceased !== undefined) { %> <% if (!contract.isPreneed && deceased !== undefined) { %>
<strong><%= deceased.deceasedName %></strong> <strong><%= deceased.deceasedName %></strong>
<% } %> <% } %>
</p> </p>
<p> <p>
who died at who died at
<span class="field has-text-centered" style="width:300px"> <span class="field has-text-centered" style="width:300px">
&nbsp;
<%= deceased?.deathPlace ?? '' %>
&nbsp;
</span>
in Ontario on
<span class="field has-text-centered" style="width:150px">
&nbsp;
<%= deceased?.deathDateString %>
&nbsp;
</span>
.
</p>
<p class="has-text-right mt-6">
<span class="field mb-1" style="width:300px">&nbsp;</span><br />
<span class="is-8pt">(Signature of Division Registrar)</span>
</p>
<p class="has-text-right">
Sault Ste. Marie
&nbsp; &nbsp;
<%= deceased?.deathPlace ?? '' %>
&nbsp; &nbsp;
</span>
in Ontario on
<span class="field has-text-centered" style="width:150px">
&nbsp; &nbsp;
5724 <%= deceased?.deathDateString %>
</p> &nbsp;
</span>
.
</p>
<p class="has-text-right mt-4"> <p class="has-text-right mt-6">
<span class="field mb-1" style="width:150px">&nbsp;</span><br /> <span class="field mb-1" style="width:300px">&nbsp;</span><br />
<span class="is-8pt">(Year Month Day)</span> <span class="is-8pt">(Signature of Division Registrar)</span>
</p> </p>
<p class="has-text-right">
Sault Ste. Marie
&nbsp;
&nbsp;
&nbsp;
5724
</p>
<p class="has-text-right mt-4">
<span class="field mb-1" style="width:150px">&nbsp;</span><br />
<span class="is-8pt">(Year Month Day)</span>
</p>
</body> </body>
</html> </html>

View File

@ -294,25 +294,25 @@
<table class="layout-table is-10pt"> <table class="layout-table is-10pt">
<tr> <tr>
<td>Flat marker measuring less than 1,116.3 sq.m. (173 sq.in.)</td> <td>Flat marker measuring less than 1,116.3 sq.m. (173 sq.in.)</td>
<td>$0.00</td> <td class="has-text-right">$0.00</td>
</tr> </tr>
<tr> <tr>
<td>Flat marker measuring over 1,116.3 sq.m. (173 sq.in.)</td> <td>Flat marker measuring over 1,116.3 sq.m. (173 sq.in.)</td>
<td>$50.00</td> <td class="has-text-right">$50.00</td>
</tr> </tr>
<tr> <tr>
<td> <td>
Upright monument measuring more than 1.22 m. (4 ft.) or less in height or length, Upright monument measuring more than 1.22 m. (4 ft.) or less in height or length,
including the base including the base
</td> </td>
<td>$100.00</td> <td class="has-text-right">$100.00</td>
</tr> </tr>
<tr> <tr>
<td> <td>
Upright monument measuring more than 1.22m. (4 ft.) either in height or length, Upright monument measuring more than 1.22m. (4 ft.) either in height or length,
including the base including the base
</td> </td>
<td>$200.00</td> <td class="has-text-right">$200.00</td>
</tr> </tr>
</table> </table>

View File

@ -6,89 +6,89 @@
</h1> </h1>
<div class="columns"> <div class="columns">
<div class="column">
<p>
<strong>Contract Type</strong><br />
<%= contract.contractType %>
</p>
</div>
<div class="column">
<p class="mb-2">
<strong>Burial Site</strong><br />
<% if (contract.burialSiteId) { %>
<%= contract.burialSiteName %>
<% } else { %>
(No Burial Site)
<% } %>
</p>
<p>
<strong>Cemetery</strong><br />
<% if (contract.cemeteryId) { %>
<%= contract.cemeteryName %>
<% } else { %>
(No Cemetery)
<% } %>
</p>
</div>
<div class="column">
<p class="mb-2">
<strong>Contract Date</strong><br />
<%= contract.contractStartDateString %>
</p>
<p>
<strong>End Date</strong><br />
<%= (contract.contractEndDateString === "" ? "(No End Date)" : contract.contractEndDateString) %>
</p>
</div>
<% if (contract.contractFields.length > 0) { %>
<div class="column"> <div class="column">
<p> <% for (const contractField of contract.contractFields) { %>
<strong>Contract Type</strong><br />
<%= contract.contractType %>
</p>
</div>
<div class="column">
<p class="mb-2"> <p class="mb-2">
<strong>Burial Site</strong><br /> <strong><%= contractField.contractTypeField %></strong><br />
<% if (contract.burialSiteId) { %> <%= contractField.contractFieldValue || "(No Value)" %>
<%= contract.burialSiteName %>
<% } else { %>
(No Burial Site)
<% } %>
</p>
<p>
<strong>Cemetery</strong><br />
<% if (contract.cemeteryId) { %>
<%= contract.cemeteryName %>
<% } else { %>
(No Cemetery)
<% } %>
</p> </p>
<% } %>
</div> </div>
<div class="column"> <% } %>
<p class="mb-2">
<strong><%= configFunctions.getConfigProperty("aliases.occupancyStartDate") %></strong><br />
<%= contract.occupancyStartDateString %>
</p>
<p>
<strong>End Date</strong><br />
<%= (contract.occupancyEndDateString === "" ? "(No End Date)" : contract.occupancyEndDateString) %>
</p>
</div>
<% if (contract.contractFields.length > 0) { %>
<div class="column">
<% for (const contractField of contract.contractFields) { %>
<p class="mb-2">
<strong><%= contractField.contractTypeField %></strong><br />
<%= contractField.contractFieldValue || "(No Value)" %>
</p>
<% } %>
</div>
<% } %>
</div> </div>
<section> <section>
<h2 class="title is-4"><%= configFunctions.getConfigProperty("aliases.occupants") %></h2> <h2 class="title is-4">Interments</h2>
<% if (contract.contractOccupants.length === 0) { %> <% if (contract.contractInterments.length === 0) { %>
<div class="message is-warning"> <div class="message is-warning">
<p class="message-body"> <p class="message-body">
There are no <%= configFunctions.getConfigProperty("aliases.occupants").toLowerCase() %> There are no interments
associated with this record. associated with this contract.
</p> </p>
</div> </div>
<% } else { %> <% } else { %>
<table class="table is-fullwidth"> <table class="table is-fullwidth">
<thead> <thead>
<tr> <tr>
<th>Interment</th> <th>Interment</th>
<th>Address</th> <th>Address</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<% for (const contractInterment of contract.contractInterments) { %> <% for (const contractInterment of contract.contractInterments) { %>
<tr> <tr>
<td><%= contractInterment.deceasedName %></td> <td><%= contractInterment.deceasedName %></td>
<td> <td>
<%= contractInterment.deceasedAddress1 %><br /> <%= contractInterment.deceasedAddress1 %><br />
<% if (contractInterment.deceasedAddress2 && contractInterment.deceasedAddress2 !== "") { %> <% if (contractInterment.deceasedAddress2 && contractInterment.deceasedAddress2 !== "") { %>
<%= contractInterment.deceasedAddress2 %><br /> <%= contractInterment.deceasedAddress2 %><br />
<% } %> <% } %>
<% if (contractInterment.deceasedCity) { %> <% if (contractInterment.deceasedCity) { %>
<%= contractInterment.deceasedCity %>, <%= contractInterment.deceasedCity %>,
<% } %> <% } %>
<%= contractInterment.deceasedProvince %><br /> <%= contractInterment.deceasedProvince %><br />
<%= contractInterment.deceasedPostalCode %> <%= contractInterment.deceasedPostalCode %>
</td> </td>
</tr> </tr>
<% } %> <% } %>
</tbody> </tbody>
</table> </table>
<% } %> <% } %>
</section> </section>
@ -97,25 +97,25 @@
<h2 class="title is-4">Comments</h2> <h2 class="title is-4">Comments</h2>
<table class="table is-fullwidth"> <table class="table is-fullwidth">
<thead> <thead>
<tr> <tr>
<th>Commentor</th> <th>Commentor</th>
<th>Comment Date</th> <th>Comment Date</th>
<th>Comment</th> <th>Comment</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<% for (const contractComment of contract.contractComments) { %> <% for (const contractComment of contract.contractComments) { %>
<tr> <tr>
<td><%= contractComment.recordCreate_userName %></td> <td><%= contractComment.recordCreate_userName %></td>
<td> <td>
<%= contractComment.contractCommentDateString %> <%= contractComment.contractCommentDateString %>
<%= (contractComment.contractCommentTime === 0 ? "" : contractComment.contractCommentTimeString) %> <%= (contractComment.contractCommentTime === 0 ? "" : contractComment.contractCommentTimeString) %>
</td> </td>
<td><%= contractComment.contractComment %></td> <td><%= contractComment.contractComment %></td>
</tr> </tr>
<% } %> <% } %>
</tbody> </tbody>
</table> </table>
</section> </section>
<% } %> <% } %>
@ -124,60 +124,60 @@
<h2 class="title is-4">Fees</h2> <h2 class="title is-4">Fees</h2>
<% if (contract.contractFees.length === 0) { %> <% if (contract.contractFees.length === 0) { %>
<div class="message is-info"> <div class="message is-info">
<p class="message-body"> <p class="message-body">
There are no fees applied to this <%= configFunctions.getConfigProperty("aliases.occupancy").toLowerCase() %> record. There are no fees applied to this contract.
</p> </p>
</div> </div>
<% } else { %> <% } else { %>
<% <%
let feeAmountTotal = 0; let feeAmountTotal = 0;
let taxAmountTotal = 0; let taxAmountTotal = 0;
%> %>
<table class="table is-fullwidth"> <table class="table is-fullwidth">
<thead> <thead>
<tr> <tr>
<th>Fee</th> <th>Fee</th>
<th class="has-text-right"><span class="is-sr-only">Unit Cost</span></th> <th class="has-text-right"><span class="is-sr-only">Unit Cost</span></th>
<th class="has-width-1"><span class="is-sr-only">&times;</span></th> <th class="has-width-1"><span class="is-sr-only">&times;</span></th>
<th class="has-width-1 has-text-right"><span class="is-sr-only">Quantity</span></th> <th class="has-width-1 has-text-right"><span class="is-sr-only">Quantity</span></th>
<th class="has-width-1"><span class="is-sr-only">=</span></th> <th class="has-width-1"><span class="is-sr-only">=</span></th>
<th class="has-width-1 has-text-right">Total</th> <th class="has-width-1 has-text-right">Total</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<% for (const contractFee of contract.contractFees) { %> <% for (const contractFee of contract.contractFees) { %>
<% <%
feeAmountTotal += (contractFee.feeAmount * contractFee.quantity); feeAmountTotal += (contractFee.feeAmount * contractFee.quantity);
taxAmountTotal += (contractFee.taxAmount * contractFee.quantity); taxAmountTotal += (contractFee.taxAmount * contractFee.quantity);
%> %>
<tr> <tr>
<td colspan="<%= (contractFee.quantity === 1 ? "5" : "1") %>"> <td colspan="<%= (contractFee.quantity === 1 ? "5" : "1") %>">
<%= contractFee.feeName %> <%= contractFee.feeName %>
</td> </td>
<% if (contractFee.quantity !== 1) { %> <% if (contractFee.quantity !== 1) { %>
<td class="has-text-right">$<%= contractFee.feeAmount.toFixed(2) %></td> <td class="has-text-right">$<%= contractFee.feeAmount.toFixed(2) %></td>
<td>&times;</td> <td>&times;</td>
<td class="has-text-right"><%= contractFee.quantity %></td> <td class="has-text-right"><%= contractFee.quantity %></td>
<td>=</td> <td>=</td>
<% } %> <% } %>
<td class="has-text-right">$<%= (contractFee.feeAmount * contractFee.quantity).toFixed(2) %></td> <td class="has-text-right">$<%= (contractFee.feeAmount * contractFee.quantity).toFixed(2) %></td>
</tr> </tr>
<% } %> <% } %>
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<th colspan="5">Subtotal</th> <th colspan="5">Subtotal</th>
<td class="has-text-right has-text-weight-bold">$<%= feeAmountTotal.toFixed(2) %></td> <td class="has-text-right has-text-weight-bold">$<%= feeAmountTotal.toFixed(2) %></td>
</tr> </tr>
<tr> <tr>
<th colspan="5">Tax</th> <th colspan="5">Tax</th>
<td class="has-text-right">$<%= taxAmountTotal.toFixed(2) %></td> <td class="has-text-right">$<%= taxAmountTotal.toFixed(2) %></td>
</tr> </tr>
<tr> <tr>
<th colspan="5">Grand Total</th> <th colspan="5">Grand Total</th>
<td class="has-text-right has-text-weight-bold">$<%= (feeAmountTotal + taxAmountTotal).toFixed(2) %></td> <td class="has-text-right has-text-weight-bold">$<%= (feeAmountTotal + taxAmountTotal).toFixed(2) %></td>
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
<% } %> <% } %>
@ -188,32 +188,32 @@
<% if (contract.contractTransactions.length === 0) { %> <% if (contract.contractTransactions.length === 0) { %>
<div class="message is-info"> <div class="message is-info">
<p class="message-body"> <p class="message-body">
There are no transactions associated with this <%= configFunctions.getConfigProperty("aliases.occupancy").toLowerCase() %> record. There are no transactions associated with this contract.
</p> </p>
</div> </div>
<% } else { %> <% } else { %>
<table class="table is-fullwidth"> <table class="table is-fullwidth">
<thead> <thead>
<tr> <tr>
<th>Date</th> <th>Date</th>
<th><%= configFunctions.getConfigProperty("aliases.externalReceiptNumber") %></th> <th><%= configFunctions.getConfigProperty("aliases.externalReceiptNumber") %></th>
<th class="has-text-right">Amount</th> <th class="has-text-right">Amount</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<% for (const contractTransaction of contract.contractTransactions) { %> <% for (const contractTransaction of contract.contractTransactions) { %>
<tr> <tr>
<td><%= contractTransaction.transactionDateString %></td> <td><%= contractTransaction.transactionDateString %></td>
<td> <td>
<%= contractTransaction.externalReceiptNumber %><br /> <%= contractTransaction.externalReceiptNumber %><br />
<small><%= contractTransaction.transactionNote %></small> <small><%= contractTransaction.transactionNote %></small>
</td> </td>
<td class="has-text-right"> <td class="has-text-right">
$<%= contractTransaction.transactionAmount.toFixed(2) %> $<%= contractTransaction.transactionAmount.toFixed(2) %>
</td> </td>
</tr> </tr>
<% } %> <% } %>
</tbody> </tbody>
</table> </table>
<% } %> <% } %>