sunrise-cms/views/dashboard.ejs

411 lines
16 KiB
Plaintext

<%- include('_header'); -%>
<h1 class="title is-1">
<%= configFunctions.getConfigProperty("application.applicationName") %>
</h1>
<div class="columns">
<% if (workOrderMilestones.length > 0) { %>
<% const workOrderPrints = configFunctions.getConfigProperty("settings.workOrders.prints"); %>
<div class="column is-4">
<div class="panel is-info">
<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">
Today's Milestones
</h2>
</div>
</div>
<div class="level-right">
<div class="level-item">
<span class="tag"><%= workOrderMilestones.length %></span>
</div>
</div>
</div>
</div>
<% for (const milestone of workOrderMilestones) { %>
<div class="panel-block is-block">
<div class="columns is-mobile">
<div class="column is-narrow">
<% if (milestone.workOrderMilestoneCompletionDate) { %>
<span class="icon is-small has-tooltip-right" data-tooltip="Completed">
<i class="fas fa-check" aria-label="Completed"></i>
</span>
<% } else { %>
<span class="icon is-small has-tooltip-right" data-tooltip="Incomplete">
<i class="far fa-square" aria-label="Incomplete"></i>
</span>
<% } %>
</div>
<div class="column">
<% 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">
<span class="icon is-small"><i class="fas fa-print" aria-hidden="true"></i></span>
</a>
</span>
<% } %>
<% if (milestone.workOrderMilestoneTime) { %>
<%= milestone.workOrderMilestoneTimePeriodString %><br />
<% } %>
<% if (milestone.workOrderMilestoneTypeId) { %>
<strong><%= milestone.workOrderMilestoneType %></strong><br />
<% } %>
<span class="is-size-7">
<a href="<%= urlPrefix %>/workOrders/<%= milestone.workOrderId %>">
<i class="fas fa-circle" data-work-order-number="<%= milestone.workOrderNumber %>" aria-label="Work Order"></i>
<%= milestone.workOrderNumber %>
</a><br />
<%
if (milestone.workOrderBurialSites.length > 0) {
for (const burialSite of milestone.workOrderBurialSites) {
%>
<span class="has-tooltip-right" data-tooltip="<%= burialSite.cemeteryName %>">
<i class="fas fa-fw fa-vector-square" aria-label="Burial Site"></i>
<%= burialSite.burialSiteName %>
</span><br />
<%
}
}
if (milestone.workOrderContracts.length > 0) {
for (const contract of milestone.workOrderContracts) {
for (const interment of contract.contractInterments) {
%>
<span class="has-tooltip-right" data-tooltip="Interment">
<i class="fas fa-fw fa-user" aria-label="Contract"></i>
<%= interment.deceasedName %>
</span><br />
<%
}
}
}
%>
</span>
</div>
</div>
</div>
<% } %>
</div>
</div>
<% } %>
<div class="column">
<div class="columns is-desktop">
<div class="column">
<div class="panel">
<a class="panel-block" href="<%= urlPrefix %>/workOrders">
<div class="media">
<div class="media-left">
<i class="fa-solid fa-4x fa-fw fa-hard-hat" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Work Orders
</h2>
<p>
View and maintain work orders.
</p>
</div>
</div>
</a>
<div class="panel-block is-block">
<% if (user.userProperties.canUpdate) { %>
<a class="button is-fullwidth is-success is-light mb-2" href="<%= urlPrefix %>/workOrders/new">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>New Work Order</span>
</a>
<% } %>
<a class="button is-fullwidth is-link is-light" href="<%= urlPrefix %>/workOrders/milestoneCalendar">
<span class="icon">
<i class="fas fa-calendar" aria-hidden="true"></i>
</span>
<span>Milestone Calendar</span>
</a>
</div>
</div>
</div>
<div class="column">
<div class="panel">
<a class="panel-block" href="<%= urlPrefix %>/contracts">
<div class="media">
<div class="media-left">
<i class="fa-solid fa-4x fa-fw fa-file-contract" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Contracts
</h2>
<p>
View and maintain current and past contracts.
</p>
</div>
</div>
</a>
<div class="panel-block is-block">
<% if (user.userProperties.canUpdate) { %>
<a class="button is-fullwidth is-success is-light mb-2" href="<%= urlPrefix %>/contracts/new">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>New Contract</span>
</a>
<% } %>
<a class="button is-fullwidth is-link is-light" href="<%= urlPrefix %>/funeralHomes">
<span class="icon">
<i class="fas fa-place-of-worship" aria-hidden="true"></i>
</span>
<span>Funeral Homes</span>
</a>
</div>
</div>
</div>
</div>
<div class="columns is-desktop">
<div class="column">
<div class="panel">
<a class="panel-block" href="<%= urlPrefix %>/burialSites">
<div class="media">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-vector-square" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Burial Sites
</h2>
<p>
View and maintain burial sites within a cemetery.
</p>
</div>
</div>
</a>
<% if (user.userProperties.canUpdate) { %>
<div class="panel-block is-block">
<a class="button is-fullwidth is-success is-light" href="<%= urlPrefix %>/burialSites/new">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>New Burial Site</span>
</a>
</div>
<% } %>
</div>
</div>
<div class="column">
<div class="panel">
<a class="panel-block" href="<%= urlPrefix %>/cemeteries">
<div class="media">
<div class="media-left">
<i class="far fa-4x fa-fw fa-map" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Cemeteries
</h2>
<p>
View and maintain cemeteries.
</p>
</div>
</div>
</a>
<% if (user.userProperties.canUpdate) { %>
<div class="panel-block is-block">
<a class="button is-fullwidth is-success is-light" href="<%= urlPrefix %>/cemeteries/new">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>New Cemetery</span>
</a>
</div>
<% } %>
</div>
</div>
</div>
<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">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-file" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Report Library
</h2>
<p>Produce reports and export data.</p>
</div>
</div>
</a>
</div>
</div>
<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">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-circle-question" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Help Documentation
</h2>
<p>Tips and tricks to get the most out of Sunrise CMS.</p>
</div>
</div>
</a>
<div class="panel-block is-block">
<a class="button is-fullwidth is-link is-light has-tooltip-bottom" data-tooltip="Latest Updates, Issue Tracker, Say Hello"
href="https://github.com/cityssm/sunrise-cms" target="_blank" rel="noreferrer">
<span class="icon">
<i class="fab fa-github" aria-hidden="true"></i>
</span>
<span>GitHub</span>
</a>
</div>
</div>
</div>
</div>
<% if (user.userProperties.isAdmin) { %>
<div class="panel">
<div class="panel-heading">
<div class="level is-mobile">
<div class="level-left">
<div class="level-item">
<div class="has-text-weight-bold">
Administrator Tools
</div>
</div>
</div>
<div class="level-right">
<div class="level-item">
<span class="icon"><i class="fas fa-cog" aria-hidden="true"></i></span>
</div>
</div>
</div>
</div>
<a class="panel-block" href="<%= urlPrefix %>/admin/fees">
<div class="media">
<div class="media-left">
<span class="fa-layers fa-4x fa-fw" aria-hidden="true">
<i class="fas fa-dollar-sign"></i>
<i class="fas fa-cog" data-fa-transform="shrink-8 right-7 down-5" data-fa-glow="10"></i>
</span>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Fee Management
</h2>
<p>
Manage fees for contracts
and specific burial site types.
</p>
</div>
</div>
</a>
<a class="panel-block" href="<%= urlPrefix %>/admin/contractTypes">
<div class="media">
<div class="media-left">
<span class="fa-layers fa-4x fa-fw" aria-hidden="true">
<i class="fas fa-file-contract"></i>
<i class="fas fa-cog" data-fa-transform="shrink-8 right-7 down-5" data-fa-glow="10"></i>
</span>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Contract Type Management
</h2>
<p>
Manage contract types,
the fields associated with them,
and their available print options.
</p>
</div>
</div>
</a>
<a class="panel-block" href="<%= urlPrefix %>/admin/burialSiteTypes">
<div class="media">
<div class="media-left">
<span class="fa-layers fa-4x fa-fw" aria-hidden="true">
<i class="fas fa-vector-square"></i>
<i class="fas fa-cog" data-fa-transform="shrink-8 right-7 down-5" data-fa-glow="10"></i>
</span>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Burial Site Type Management
</h2>
<p>
Manage burial site types and fields associated with them.
</p>
</div>
</div>
</a>
<a class="panel-block" href="<%= urlPrefix %>/admin/tables">
<div class="media">
<div class="media-left">
<span class="fa-layers fa-4x fa-fw" aria-hidden="true">
<i class="fas fa-table"></i>
<i class="fas fa-cog" data-fa-transform="shrink-8 right-7 down-5" data-fa-glow="10"></i>
</span>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Config Table Management
</h2>
<p>
Manage simple configuration tables for
work order types
and burial site statuses.
</p>
</div>
</div>
</a>
<a class="panel-block" href="<%= urlPrefix %>/admin/database">
<div class="media">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-database" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Database Maintenance
</h2>
<p>
Backup the database before making significant updates.
Permanently delete records that have been previously deleted from the database.
</p>
</div>
</div>
</a>
<% if (configFunctions.getConfigProperty("application.ntfyStartup")) { %>
<a class="panel-block" href="<%= urlPrefix %>/admin/ntfyStartup">
<div class="media">
<div class="media-left">
<i class="far fa-4x fa-fw fa-comment-alt" aria-hidden="true"></i>
</div>
<div class="media-content">
<h2 class="title is-4 mb-0 has-text-link">
Ntfy Startup Notification
</h2>
<p>
Subscribe to application startup notifications on a phone or a desktop computer.
</p>
</div>
</div>
</a>
<% } %>
</div>
<% } %>
</div>
</div>
<%- include('_footerA'); -%>
<script src="<%= urlPrefix %>/javascripts/dashboard.js"></script>
<%- include('_footerB'); -%>