views/dashboard.ejs
<%- include('_header'); -%>
<h1 class="title is-1">
<%= configFunctions.getProperty("application.applicationName") %>
</h1>
<div class="columns is-multiline mb-2">
<div class="column is-full-tablet is-one-third-widescreen has-text-centered">
<% if (dashboardWarningMessage !== "") { %>
<div class="message is-warning">
<p class="message-body"><%= dashboardWarningMessage %></p>
</div>
<% } %>
<h2 class="title is-6">Reminders</h2>
<div class="columns is-mobile">
<div class="column">
<a data-tooltip="View Reminders" href="<%= urlPrefix %>/organizations/reminders">
<span class="tag is-large is-warning"><%= stats.reminderStats.todayCount %></span><br />
Due Today
</a>
</div>
<div class="column">
<a data-tooltip="Undismissed Reminders" href="<%= urlPrefix %>/organizations/reminders">
<span class="tag is-large is-danger"><%= stats.reminderStats.pastCount %></span><br />
Missed
</a>
</div>
<div class="column">
<a data-tooltip="Upcoming Reminders" href="<%= urlPrefix %>/organizations/reminders">
<span class="tag is-large is-info"><%= stats.reminderStats.upcomingCount %></span><br />
Upcoming
</a>
</div>
</div>
<% if (stats.reminders.length > 0) { %>
<div class="panel has-text-left">
<% for (const reminder of stats.reminders) { %>
<%
const reminderType = configFunctions.getReminderType(reminder.reminderTypeKey);
%>
<div class="panel-block is-block">
<div>
<a class="has-tooltip-right" data-tooltip="View Organization" href="<%= urlPrefix %>/organizations/<%= reminder.organizationID %>"><%= reminder.organizationName %></a>
</div>
<div class="columns is-mobile">
<div class="column">
<span class="icon">
<i class="fas fa-lightbulb" aria-hidden="true"></i>
</span>
<%= (reminderType ? reminderType.reminderType : reminder.reminderTypeKey) %>
</div>
<div class="column is-narrow">
<%= reminder.reminderDateString %>
</div>
</div>
</div>
<% } %>
</div>
<% } %>
<h2 class="title is-6">Events</h2>
<div class="columns is-mobile">
<div class="column">
<a data-tooltip="View Events" href="<%= urlPrefix %>/events">
<span class="tag is-large is-info"><%= stats.eventStats.todayCount %></span><br />
Today
</a>
</div>
<div class="column">
<a data-tooltip="Events from <%= stats.windowStartDateString %>" href="<%= urlPrefix %>/events">
<span class="tag is-large is-warning"><%= stats.eventStats.pastCount %></span><br />
Recently Past
</a>
</div>
<div class="column">
<a data-tooltip="Events to <%= stats.windowEndDateString %>" href="<%= urlPrefix %>/events">
<span class="tag is-large is-info"><%= stats.eventStats.upcomingCount %></span><br />
Upcoming
</a>
</div>
</div>
<% if (stats.events.length > 0) { %>
<div class="panel has-text-left">
<% for (const eventRecord of stats.events) { %>
<%
const licenceType = configFunctions.getLicenceType(eventRecord.licenceTypeKey);
%>
<div class="panel-block is-block">
<div>
<a class="has-tooltip-right" data-tooltip="View Event" href="<%= urlPrefix %>/events/<%= eventRecord.licenceID %>/<%= eventRecord.eventDate %>">
<%= eventRecord.organizationName %>
</a>
</div>
<div class="columns is-mobile">
<div class="column">
<span class="icon">
<i class="fas fa-calendar" aria-hidden="true"></i>
</span>
<%= (licenceType ? licenceType.licenceType : eventRecord.licenceTypeKey) %>
</div>
<div class="column is-narrow">
<%= eventRecord.eventDateString %>
</div>
</div>
</div>
<% } %>
</div>
<% } %>
</div>
<div class="column">
<div class="columns">
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-3x fa-fw fa-users" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="<%= urlPrefix %>/organizations">Organizations</a>
<span class="tag is-info is-pulled-right has-tooltip-left" data-tooltip="Holds an Active Licences"><%= stats.licenceStats.distinctOrganizationCount %> Active</span>
</h2>
<p>View and maintain organizations that hold lottery licences.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="<%= urlPrefix %>/organizations">
<span class="icon">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
<span>Find</span>
</a>
<a class="card-footer-item" href="<%= urlPrefix %>/organizations/reminders">
<span class="icon">
<i class="fas fa-lightbulb" aria-hidden="true"></i>
</span>
<span>Reminders</span>
</a>
</div>
</div>
</div>
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-3x fa-fw fa-map-marker-alt" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="<%= urlPrefix %>/locations">Locations</a>
<span class="tag is-info is-pulled-right has-tooltip-left" data-tooltip="Used on Active Licences"><%= stats.licenceStats.distinctLocationCount %> Active</span>
</h2>
<p>View and maintain the locations where lottery events can take place.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="<%= urlPrefix %>/locations">
<span class="icon">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
<span>Find</span>
</a>
<% if (user.userProperties.canCreate) { %>
<a class="card-footer-item" href="<%= urlPrefix %>/locations/new">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>Create</span>
</a>
<% } %>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-3x fa-fw fa-certificate" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="<%= urlPrefix %>/licences">Lottery Licences</a>
<span class="tag is-info is-pulled-right"><%= stats.licenceStats.licenceCount %> Active</span>
</h2>
<p>View and maintain lottery licences.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="<%= urlPrefix %>/licences">
<span class="icon">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
<span>Find</span>
</a>
<% if (user.userProperties.canCreate) { %>
<a class="card-footer-item" href="<%= urlPrefix %>/licences/new">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>Create</span>
</a>
<% } %>
</div>
</div>
</div>
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-3x fa-fw fa-calendar" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="<%= urlPrefix %>/events">Lottery Events</a>
<span class="tag is-info is-pulled-right"><%= stats.eventStats.todayCount %> Today</span>
</h2>
<p>View and update events.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="<%= urlPrefix %>/events">
<span class="icon">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
<span>Find</span>
</a>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-3x fa-fw fa-file" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="<%= urlPrefix %>/reports">Report Library</a>
</h2>
<p>Produce reports and export data.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="<%= urlPrefix %>/reports">
<span class="icon">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
Find
</a>
</div>
</div>
</div>
<div class="column">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<i class="fas fa-3x fa-fw fa-question-circle" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="https://cityssm.github.io/lottery-licence-manager/" target="_blank" rel="noopener noreferrer">Help Documentation</a>
</h2>
<p>Instructions on how to use this application.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="https://cityssm.github.io/lottery-licence-manager/" target="_blank" rel="noopener noreferrer">
<span class="icon">
<i class="fas fa-question-circle" aria-hidden="true"></i>
</span>
Help
</a>
<a class="card-footer-item has-tooltip-bottom" data-tooltip="Latest Updates, Issue Tracker, Say Hello" href="https://github.com/cityssm/lottery-licence-manager" target="_blank" rel="noreferrer">
<span class="icon">
<i class="fab fa-github" aria-hidden="true"></i>
</span>
GitHub
</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">
<i class="fas fa-3x fa-fw fa-cogs" aria-hidden="true"></i>
</div>
<div class="media-content has-text-black">
<h2 class="title is-4 is-marginless">
<a href="<%= urlPrefix %>/admin/applicationSettings">Application Settings</a>
</h2>
<p>Settings that affect the <%= configFunctions.getProperty("application.applicationName") %> application.</p>
</div>
</div>
</div>
<div class="card-footer">
<a class="card-footer-item" href="<%= urlPrefix %>/admin/applicationSettings">
<span class="icon">
<i class="fas fa-cog" aria-hidden="true"></i>
</span>
Adjust Settings
</a>
</div>
</div>
<% } %>
</div>
</div>
<%- include('_footerA'); -%>
<%- include('_footerB'); -%>