cityssm/lottery-licence-manager

View on GitHub
views/dashboard.ejs

Summary

Maintainability
Test Coverage
<%- 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'); -%>