views/admin.ejs
<%- 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'); -%>