sunrise-cms/views/dashboard.ejs

403 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 has-text-white">
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">
<i class="fas fa-print" aria-hidden="true"></i>
</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="card is-hover-container">
<div class="card-content">
<div class="media">
<div class="media-left">
<span class="fa-layers fa-4x fa-fw">
<i class="fas fa-fw fa-hard-hat" aria-hidden="true"></i>
<% if (workOrderCount > 0) { %>
<a class="fa-layers-counter has-background-success has-text-white" href="<%= urlPrefix %>/workOrders/?workOrderOpenDateString=<%= dateTimeFunctions.dateToString(new Date()) %>"><%= workOrderCount %></a>
<% } %>
</span>
</div>
<a class="media-content" href="<%= urlPrefix %>/workOrders">
<h2 class="title is-4 is-marginless has-text-link">
Work Orders
</h2>
<p>
View and maintain work orders.<br />
<span class="tags has-addons is-invisible is-visible-hover">
<span class="tag is-link is-light">Shortcut</span>
<kbd class="tag">1</kbd>
</span>
</p>
</a>
</div>
<% 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="card is-hover-container">
<div class="card-content">
<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-user" data-fa-transform="shrink-10"></i>
<% if (contractCount > 0) { %>
<span class="fa-layers-counter has-background-success"><%= contractCount %></span>
<% } %>
</span>
</div>
<a class="media-content" href="<%= urlPrefix %>/contracts">
<h2 class="title is-4 is-marginless has-text-link">
Contracts
</h2>
<p>
View and maintain current and past contracts.<br />
<span class="tags has-addons is-invisible is-visible-hover">
<span class="tag is-link is-light">Shortcut</span>
<kbd class="tag">2</kbd>
</span>
</p>
</a>
</div>
<% 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="card is-hover-container">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-vector-square" aria-hidden="true"></i>
</div>
<a class="media-content" href="<%= urlPrefix %>/burialSites">
<h2 class="title is-4 is-marginless has-text-link">
Burial Sites
</h2>
<p>
View and maintain burial sites within a cemetery.<br />
<span class="tags has-addons is-invisible is-visible-hover">
<span class="tag is-link is-light">Shortcut</span>
<kbd class="tag">3</kbd>
</span>
</p>
</a>
</div>
<% if (user.userProperties.canUpdate) { %>
<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="card is-hover-container">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="far fa-4x fa-fw fa-map" aria-hidden="true"></i>
</div>
<a class="media-content" href="<%= urlPrefix %>/cemeteries">
<h2 class="title is-4 is-marginless has-text-link">
Cemeteries
</h2>
<p>
View and maintain cemeteries.
<span class="tags has-addons is-invisible is-visible-hover">
<span class="tag is-link is-light">Shortcut</span>
<kbd class="tag">4</kbd>
</span>
</p>
</a>
</div>
<% if (user.userProperties.canUpdate) { %>
<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-desktop">
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-file" aria-hidden="true"></i>
</div>
<a class="media-content" href="<%= urlPrefix %>/reports">
<h2 class="title is-4 is-marginless has-text-link">
Report Library
</h2>
<p>Produce reports and export data.</p>
</a>
</div>
</div>
</div>
</div>
<div class="column">
<div class="card is-hover-container">
<div class="card-content">
<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) { %>
<h2 class="title is-3">Administrator Tools</h2>
<div class="card">
<div class="card-content">
<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-8 down-5" data-fa-glow="10"></i>
</span>
</div>
<a class="media-content" href="<%= urlPrefix %>/admin/fees">
<h2 class="title is-4 is-marginless has-text-link">
Fee Management
</h2>
<p>
Manage fees for contracts
and specific burial site types.
</p>
</a>
</div>
</div>
<div class="card-content">
<div class="media">
<div class="media-left">
<span class="fa-layers fa-4x fa-fw" aria-hidden="true">
<i class="fas fa-user-friends"></i>
<i class="fas fa-cog" data-fa-transform="shrink-8 right-8 down-5" data-fa-glow="10"></i>
</span>
</div>
<a class="media-content" href="<%= urlPrefix %>/admin/contractTypes">
<h2 class="title is-4 is-marginless has-text-link">
Contract Type Management
</h2>
<p>
Manage contract types,
the fields associated with them,
and their available print options.
</p>
</a>
</div>
</div>
<div class="card-content">
<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-8 down-5" data-fa-glow="10"></i>
</span>
</div>
<a class="media-content" href="<%= urlPrefix %>/admin/burialSiteTypes">
<h2 class="title is-4 is-marginless has-text-link">
Burial Site Type Management
</h2>
<p>
Manage burial site types and fields associated with them.
</p>
</a>
</div>
</div>
<div class="card-content">
<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-8 down-5" data-fa-glow="10"></i>
</span>
</div>
<a class="media-content" href="<%= urlPrefix %>/admin/tables">
<h2 class="title is-4 is-marginless has-text-link">
Config Table Management
</h2>
<p>
Manage simple configuration tables fees for
work order types
and burial site statuses.
</p>
</a>
</div>
</div>
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-4x fa-fw fa-database" aria-hidden="true"></i>
</div>
<a class="media-content" href="<%= urlPrefix %>/admin/database">
<h2 class="title is-4 is-marginless 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>
</a>
</div>
</div>
<% if (configFunctions.getConfigProperty("application.ntfyStartup")) { %>
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="far fa-4x fa-fw fa-comment-alt" aria-hidden="true"></i>
</div>
<a class="media-content" href="<%= urlPrefix %>/admin/ntfyStartup">
<h2 class="title is-4 is-marginless has-text-link">
Ntfy Startup Notification
</h2>
<p>
Subscribe to application startup notifications on a phone or a desktop computer.
</p>
</a>
</div>
</div>
<% } %>
</div>
<% } %>
</div>
</div>
<%- include('_footerA'); -%>
<script src="<%= urlPrefix %>/javascripts/dashboard.js"></script>
<%- include('_footerB'); -%>