cityssm/corporate-records-manager

View on GitHub
views/admin.ejs

Summary

Maintainability
Test Coverage
<%- include('_header'); -%>

<h1 class="title is-1">Administration</h1>

<div class="columns">
  <div class="column is-3">
    <aside class="menu" id="admin--tabs" role="tablist">
      <p class="menu-label">
        Accounts
      </p>
      <ul class="menu-list">
        <li>
          <a id="adminTab--users" href="#adminTabpanel--users" role="tab" aria-selected="false" aria-controls="adminTabpanel--users">
            <span class="icon"><i class="fas fa-users" aria-hidden="true"></i></span>
            <span>Users</span>
          </a>
        </li>
      </ul>
      <p class="menu-label">
        Record Configuration
      </p>
      <ul class="menu-list">
        <li>
          <a id="adminTab--recordTypes" href="#adminTabpanel--recordTypes" role="tab" aria-selected="false" aria-controls="adminTabpanel--recordTypes">
            <span class="icon"><i class="fas fa-book" aria-hidden="true"></i></span>
            <span>Record Types</span>
          </a>
        </li>
        <li>
          <a id="adminTab--statusTypes" href="#adminTabpanel--statusTypes" role="tab" aria-selected="false" aria-controls="adminTabpanel--statusTypes">
            <span class="icon"><i class="fas fa-star" aria-hidden="true"></i></span>
            <span>Status Types</span>
          </a>
        </li>
        <li>
          <a id="adminTab--recordUserTypes" href="#adminTabpanel--recordUserTypes" role="tab" aria-selected="false" aria-controls="adminTabpanel--recordUserTypes">
            <span class="icon"><i class="fas fa-user-tag" aria-hidden="true"></i></span>
            <span>Record User Types</span>
          </a>
        </li>
      </ul>
      <p class="menu-label">
        Table Maintenance
      </p>
      <ul class="menu-list">
        <li>
          <a id="adminTab--recordTypes" href="#adminTabpanel--tableCleanup" role="tab" aria-selected="false" aria-controls="adminTabpanel--tableCleanup">
            <span class="icon"><i class="fas fa-trash-alt" aria-hidden="true"></i></span>
            <span>Table Cleanup</span>
          </a>
        </li>
      </ul>
    </aside>
  </div>
  <div class="column" id="admin--tabpanels">
    <div class="message is-info" role="tabpanel">
      <p class="message-body">
        <strong>Welcome to the <%= configFns.getProperty("application.applicationName") %> Administration Section.</strong>
      </p>
    </div>
    <div class="is-hidden" id="adminTabpanel--users" role="tabpanel" aria-labelledby="adminTab--users">
      <div class="columns is-desktop">
        <div class="column">
          <h2 class="title is-3">Users</h2>
        </div>
        <div class="column">
          <form id="form--addUser">
            <div class="field has-addons">
              <div class="control">
                <span class="button is-static"><%= configFns.getProperty("application.userDomain") %>\</span>
              </div>
              <div class="control is-expanded">
                <input class="input" id="addUser--userName" name="userName" type="text" placeholder="New User Name" pattern="^[\w/.]+$" maxlength="30" aria-label="New User Name" required />
              </div>
              <div class="control">
                <button class="button is-success" type="submit">
                  <span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
                  <span>Add User</span>
                </button>
              </div>
            </div>
          </form>
        </div>
      </div>
      <div id="container--users"></div>
      <div class="content">
        <h3 class="title is-5 mt-4">Permissions</h3>
        <ul>
          <li>
            <strong>Is Active</strong><br />
            Active users are able to log into <%= configFns.getProperty("application.applicationName") %>.
          </li>
          <li>
            <strong>Can View All</strong><br />
            When set, the user can see all records.
            When not set, the user can only see those records which are associated with them.
          </li>
          <li>
            <strong>Can Update</strong><br />
            When set, the user will have the ability to create, maintain, and delete records.
          </li>
          <li>
            <strong>Is Admin</strong><br />
            When set, the user will have access to the Administration area and all of it's options.
          </li>
        </ul>
      </div>
    </div>
    <div class="is-hidden" id="adminTabpanel--recordTypes" role="tabpanel" aria-labelledby="adminTab--recordTypes">
      <div class="columns is-mobile">
        <div class="column">
          <h2 class="title is-3">Record Types</h2>
        </div>
        <div class="column is-narrow">
          <button class="button is-success" id="is-add-record-type-button" type="button">
            <span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
            <span>Add Record Type</span>
          </button>
        </div>
      </div>
      <div id="container--recordTypes"></div>
    </div>
    <div class="is-hidden" id="adminTabpanel--recordUserTypes" role="tabpanel" aria-labelledby="adminTab--recordUserTypes">
      <div class="columns is-mobile">
        <div class="column">
          <h2 class="title is-3">Record User Types</h2>
        </div>
        <div class="column is-narrow">
          <button class="button is-success" id="is-add-record-user-type-button" type="button">
            <span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
            <span>Add Record User Type</span>
          </button>
        </div>
      </div>
      <div id="container--recordUserTypes"></div>
    </div>
    <div class="is-hidden" id="adminTabpanel--statusTypes" role="tabpanel" aria-labelledby="adminTab--statusTypes">
      <h2 class="title is-3">Status Types</h2>
      <div class="columns is-mobile">
        <div class="column">
          <div class="field has-addons">
            <div class="control">
              <label class="button is-static" for="statusTypesFilter--recordTypeKey">
                Record Type
              </label>
            </div>
            <div class="control">
              <div class="select">
                <select id="statusTypesFilter--recordTypeKey"></select>
              </div>
            </div>
          </div>
        </div>
        <div class="column is-narrow">
          <button class="button is-success" id="is-add-status-type-button" type="button">
            <span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
            <span>Add Status Type</span>
          </button>
        </div>
      </div>
      <div id="container--statusTypes"></div>
    </div>
    <div class="is-hidden" id="adminTabpanel--tableCleanup" role="tabpanel" aria-labelledby="adminTab--tableCleanup">
      <h2 class="title is-3">Table Cleanup</h2>
      <div class="message is-info">
        <p class="message-body">
          Table Cleanup permanently deletes records that have been marked for deletion.
        </p>
      </div>
      <table class="table is-fullwidth is-bordered is-striped is-hoverable has-sticky-header">
        <thead>
          <tr>
            <th>Table Name</th>
            <th class="has-text-centered">Options</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="is-vcentered">Records</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="Records" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
          <tr>
            <th class="is-vcentered">Record Tags</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="RecordTags" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
          <tr>
            <th class="is-vcentered">Record Status Log</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="RecordStatusLog" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
          <tr>
            <th class="is-vcentered">Record Users</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="RecordUsers" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
          <tr>
            <th class="is-vcentered">Record URLs (Links)</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="RecordURLs" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
          <tr>
            <th class="is-vcentered">Related Records</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="RelatedRecords" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
          <tr>
            <th class="is-vcentered">Record Comment Log</th>
            <td class="has-text-centered">
              <button class="button is-inverted is-danger is-purge-button" data-table="RecordCommentLog" type="button">
                <i class="fas fa-trash-alt" aria-hidden="true"></i>
              </button>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</div>

<%- include('_footerA'); -%>
<script src="<%= urlPrefix %>/javascripts/admin.min.js"></script>
<%- include('_footerB'); -%>