357 lines
12 KiB
Plaintext
357 lines
12 KiB
Plaintext
<%- include('_header'); -%>
|
|
|
|
<nav class="breadcrumb">
|
|
<ul>
|
|
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
|
<li>
|
|
<a href="<%= urlPrefix %>/burialSites">
|
|
<span class="icon is-small"><i class="fas fa-vector-square" aria-hidden="true"></i></span>
|
|
<span>Burial Sites</span>
|
|
</a>
|
|
</li>
|
|
<li class="is-active">
|
|
<a href="#" aria-current="page">
|
|
<%= burialSite.burialSiteName %>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<h1 class="title is-1">
|
|
<%= burialSite.burialSiteName %>
|
|
</h1>
|
|
|
|
<% const burialSiteIsDeleted = burialSite.recordDelete_timeMillis !== null; %>
|
|
<% if (burialSiteIsDeleted) { %>
|
|
<div class="message is-danger">
|
|
<div class="message-header">
|
|
<p>Burial Site Deleted</p>
|
|
</div>
|
|
<div class="message-body">
|
|
<p>This burial site has been deleted. It is no longer available for use.</p>
|
|
<% if (!user.userProperties.isAdmin) { %>
|
|
<p>To restore this burial site, please contact your system administrator.</p>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
<% } %>
|
|
|
|
<div class="columns is-vcentered is-fixed-bottom has-background-white has-shadow is-hidden-print">
|
|
<div class="column">
|
|
<span class="has-text-weight-bold">
|
|
<%= burialSite.burialSiteName %>
|
|
</span>
|
|
</div>
|
|
<div class="column is-narrow has-text-right">
|
|
<% if (burialSiteIsDeleted && user.userProperties.isAdmin) { %>
|
|
<button class="button is-danger is-restore-burial-site-button"
|
|
data-burial-site-id="<%= burialSite.burialSiteId %>"
|
|
type="button">
|
|
<span class="icon"><i class="fas fa-undo" aria-hidden="true"></i></span>
|
|
<span>Restore Burial Site</span>
|
|
</button>
|
|
<% } else if (!burialSiteIsDeleted) { %>
|
|
<div class="buttons is-right">
|
|
<a class="button is-link is-outlined has-tooltip-left"
|
|
data-tooltip="Previous Burial Site"
|
|
href="<%= urlPrefix %>/burialSites/<%= burialSite.burialSiteId %>/previous"
|
|
accesskey=",">
|
|
<span class="icon m-0"><i class="fas fa-arrow-left" aria-hidden="true"></i></span>
|
|
<span class="sr-only">Previous Burial Site</span>
|
|
</a>
|
|
<a class="button is-link has-tooltip-left"
|
|
data-tooltip="Next Burial Site"
|
|
href="<%= urlPrefix %>/burialSites/<%= burialSite.burialSiteId %>/next"
|
|
accesskey=".">
|
|
<span>Next</span>
|
|
<span class="icon"><i class="fas fa-arrow-right" aria-hidden="true"></i></span>
|
|
</a>
|
|
<% if (user.userProperties.canUpdate) { %>
|
|
<a class="button is-primary"
|
|
href="<%= urlPrefix %>/burialSites/<%= burialSite.burialSiteId %>/edit"
|
|
accesskey="e">
|
|
<span class="icon"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
|
<span>
|
|
Edit
|
|
<span class="is-hidden-mobile">Burial Site</span>
|
|
</span>
|
|
</a>
|
|
<% } %>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel">
|
|
<div class="panel-block is-block">
|
|
<div class="columns">
|
|
<div class="column">
|
|
<p class="mb-2">
|
|
<strong>Cemetery</strong><br />
|
|
<% if (burialSite.cemeteryId === null) { %>
|
|
<span class="has-text-grey">(No Cemetery)</span>
|
|
<% } else { %>
|
|
<a href="<%= urlPrefix %>/cemeteries/<%= burialSite.cemeteryId %>">
|
|
<%= burialSite.cemeteryName || "(No Name)" %>
|
|
</a>
|
|
<% } %>
|
|
</p>
|
|
<p class="mb-2">
|
|
<strong>Burial Site Type</strong><br />
|
|
<%= burialSite.burialSiteType %>
|
|
</p>
|
|
<p>
|
|
<strong>Status</strong><br />
|
|
<% if (burialSite.burialSiteStatusId === null) { %>
|
|
<span class="has-text-grey">(No Status)</span>
|
|
<% } else { %>
|
|
<%= burialSite.burialSiteStatus %>
|
|
<% } %>
|
|
</p>
|
|
</div>
|
|
<% if (burialSite.burialSiteFields.length > 0) { %>
|
|
<div class="column">
|
|
<% for (const burialSiteField of burialSite.burialSiteFields) { %>
|
|
<p class="mb-2">
|
|
<strong><%= burialSiteField.burialSiteTypeField %></strong><br />
|
|
<% if (burialSiteField.fieldValue) { %>
|
|
<%= burialSiteField.fieldValue %>
|
|
<% } else { %>
|
|
<span class="has-text-grey">(No Value)</span>
|
|
<% } %>
|
|
</p>
|
|
<% } %>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="columns">
|
|
<div class="column">
|
|
<div class="panel">
|
|
<div class="panel-heading">
|
|
<div class="level is-mobile">
|
|
<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 (burialSite.burialSiteLatitude && burialSite.burialSiteLongitude) { %>
|
|
<div id="burialSite--leaflet" data-latitude="<%= burialSite.burialSiteLatitude %>" data-longitude="<%= burialSite.burialSiteLongitude %>" style="height:300px"></div>
|
|
<% } else if (burialSite.cemeteryLatitude && burialSite.cemeteryLongitude) { %>
|
|
<div class="message is-info">
|
|
<p class="message-body">
|
|
<strong>Coordinates not available for this burial site.</strong><br />
|
|
Coordinates for the cemetery are shown instead.
|
|
</p>
|
|
</div>
|
|
<div id="burialSite--leaflet" data-latitude="<%= burialSite.cemeteryLatitude %>" data-longitude="<%= burialSite.cemeteryLongitude %>" style="height:300px"></div>
|
|
<% } else { %>
|
|
<div class="message is-info">
|
|
<p class="message-body">
|
|
There are no geographic coordinates associated with this burial site.
|
|
</p>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="column">
|
|
<div class="panel">
|
|
<div class="panel-heading">
|
|
<div class="level is-mobile">
|
|
<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">
|
|
<img src="<%= urlPrefix %>/internal/images/burialSites/<%= burialSite.burialSiteImage %>" alt="Burial Site Image" />
|
|
</div>
|
|
<% } else if (burialSite.cemeterySvg) { %>
|
|
<% const imageURL = urlPrefix + "/internal/images/cemeteries/" + burialSite.cemeterySvg %>
|
|
<div class="image" id="burialSite--cemeterySvg" data-cemetery-svg-id="<%= burialSite.cemeterySvgId %>">
|
|
<%- include('../' + configFunctions.getConfigProperty('settings.publicInternalPath') + '/images/cemeteries/' + burialSite.cemeterySvg); -%>
|
|
</div>
|
|
<% } else { %>
|
|
<div class="message is-info">
|
|
<p class="message-body">There are no images associated with this burial site.</p>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<% if (burialSite.burialSiteComments.length > 0) { %>
|
|
<div class="panel">
|
|
<h2 class="panel-heading">Comments</h2>
|
|
<div class="panel-block is-block">
|
|
<table class="table is-fullwidth is-striped is-hoverable">
|
|
<thead>
|
|
<tr>
|
|
<th>Commentor</th>
|
|
<th>Comment Date</th>
|
|
<th>Comment</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% for (const burialSiteComment of burialSite.burialSiteComments) { %>
|
|
<tr>
|
|
<td><%= burialSiteComment.recordCreate_userName %></td>
|
|
<td>
|
|
<%= burialSiteComment.commentDateString %>
|
|
<%= (burialSiteComment.commentTime === 0 ? "" : burialSiteComment.commentTimePeriodString) %>
|
|
</td>
|
|
<td><%= burialSiteComment.comment %></td>
|
|
</tr>
|
|
<% } %>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<% } %>
|
|
|
|
<%
|
|
let activeCount = 0
|
|
let pastCount = 0
|
|
|
|
for (const contract of burialSite.contracts) {
|
|
if (contract.contractEndDate && contract.contractEndDate < dateTimeFunctions.dateToInteger(new Date())) {
|
|
pastCount++
|
|
} else {
|
|
activeCount++
|
|
}
|
|
}
|
|
%>
|
|
<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">Contracts</h2>
|
|
</div>
|
|
<div class="level-item">
|
|
<div class="tags">
|
|
<% if (activeCount > 0) { %>
|
|
<span class="tag is-success">
|
|
<span class="icon is-small">
|
|
<i class="fas fa-play" aria-hidden="true"></i>
|
|
</span>
|
|
<span>
|
|
<%= activeCount %>
|
|
Active
|
|
</span>
|
|
</span>
|
|
<% } %>
|
|
<% if (pastCount > 0) { %>
|
|
<span class="tag">
|
|
<span class="icon is-small">
|
|
<i class="fas fa-stop" aria-hidden="true"></i>
|
|
</span>
|
|
<span>
|
|
<%= pastCount %> Past
|
|
</span>
|
|
</span>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="level-right">
|
|
<div class="level-item">
|
|
<button class="button is-info is-small"
|
|
id="burialSite--contractsToggle" type="button">
|
|
<span class="icon"><i class="fas fa-eye" aria-hidden="true"></i></span>
|
|
<span>Show/Hide Past Contracts</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel-block is-block">
|
|
<% if (burialSite.contracts.length === 0) { %>
|
|
<div class="message is-info">
|
|
<p class="message-body">
|
|
There are no contracts asscociated with this burial site.
|
|
</p>
|
|
</div>
|
|
<% } else { %>
|
|
<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">
|
|
<thead>
|
|
<tr>
|
|
<th class="has-width-1"> </th>
|
|
<th>Contract Type</th>
|
|
<th>Contract Date</th>
|
|
<th>End Date</th>
|
|
<th>Interments</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="burialSite--contractsTbody">
|
|
<% const currentDate = dateTimeFunctions.dateToInteger(new Date()); %>
|
|
<% for (const contract of burialSite.contracts) { %>
|
|
<% const isActive = !(contract.contractEndDate && contract.contractEndDate < currentDate); %>
|
|
<tr data-is-active="<%= isActive %>" class="<%= isActive ? "" : "is-hidden" %>">
|
|
<td class="has-text-centered">
|
|
<% if (isActive) { %>
|
|
<i class="fas fa-play" title="Current Contract"></i>
|
|
<% } else { %>
|
|
<i class="fas fa-stop" title="Previous Contract"></i>
|
|
<% } %>
|
|
</td>
|
|
<td>
|
|
<a class="has-text-weight-bold"
|
|
href="<%= urlPrefix %>/contracts/<%= contract.contractId %>">
|
|
<%= contract.contractType %>
|
|
</a><br />
|
|
<span class="is-size-7">#<%= contract.contractId %></span>
|
|
</td>
|
|
<td><%= contract.contractStartDateString %></td>
|
|
<td>
|
|
<% if (contract.contractEndDate) { %>
|
|
<%= contract.contractEndDateString %>
|
|
<% } else { %>
|
|
<span class="has-text-grey">(No End Date)</span>
|
|
<% } %>
|
|
</td>
|
|
<td>
|
|
<% if (contract.contractInterments.length === 0) { %>
|
|
<span class="has-text-grey">(No Interments)</span>
|
|
<% } else { %>
|
|
<% for (const interment of contract.contractInterments) { %>
|
|
<%= interment.deceasedName %>
|
|
<% } %>
|
|
<% } %>
|
|
</td>
|
|
</tr>
|
|
<% } %>
|
|
</tbody>
|
|
</table>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
|
|
<%- include('_footerA'); -%>
|
|
|
|
<script src="<%= urlPrefix %>/javascripts/burialSite.view.js"></script>
|
|
|
|
<%- include('_footerB'); -%> |