satdetect-dev / templates /admin_roles_users_dda.html
coderuday21's picture
Cursor
Deploy satdetect-dev with Priyanka audit/exception logs.
d70361b
Raw
History Blame Contribute Delete
5.67 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Roles &amp; Users — Vedangsoft Change Detection</title>
<link rel="stylesheet" href="/static/css/style.css?v=35" />
<link rel="stylesheet" href="/static/css/dda.css?v=48" />
</head>
<body>
<div class="app dda-app dda-app-full">
{% include "partials/navbar_dda.html" %}
<div class="dda-main-col">
{% include "partials/alerts_dda.html" %}
<section id="tab-admin-roles-users" class="dda-panel active" role="tabpanel">
<div class="dda-hero">
<h1>Roles &amp; Users</h1>
<p class="sub">Manage role hierarchy, per-module permissions, and user accounts.</p>
</div>
<div class="dda-admin-2col dda-admin-2col-roles">
<div class="card">
<div class="card-header">
<h3>Role Hierarchy</h3>
<button type="button" class="btn btn-primary btn-sm" id="btn-new-role">+ New Role</button>
</div>
<div id="role-list" class="dda-role-list"><p class="dim">Loading roles…</p></div>
</div>
<div class="card">
<div class="card-header">
<h3>Users</h3>
<div class="dda-reports-toolbar">
<input type="search" id="user-filter" class="dda-search" placeholder="Search users…" />
<button type="button" class="btn btn-primary btn-sm" id="btn-new-user">+ New User</button>
</div>
</div>
<div id="user-table-wrap"><p class="dim">Loading users…</p></div>
<div class="pagination" id="user-pagination"></div>
</div>
</div>
</section>
</div>
</div>
<div id="role-modal" class="dda-modal hidden" role="dialog" aria-modal="true">
<div class="dda-modal-panel card" style="max-width:480px">
<div class="card-header">
<h3 id="role-modal-title">New Role</h3>
<button type="button" class="btn btn-secondary btn-sm" id="role-modal-close">Close</button>
</div>
<form id="role-form">
<input type="hidden" id="role-id" />
<div class="form-group">
<label for="role-name">Name</label>
<input type="text" id="role-name" required />
</div>
<div class="form-group">
<label for="role-description">Description</label>
<input type="text" id="role-description" />
</div>
<div class="form-group">
<label for="role-rank">Rank (higher = more access)</label>
<input type="number" id="role-rank" min="0" max="99" value="0" />
</div>
<div class="form-group">
<label class="dda-check"><input type="checkbox" id="role-active" checked /> Active</label>
</div>
<button type="submit" class="btn btn-primary">Save role</button>
</form>
</div>
</div>
<div id="perm-modal" class="dda-modal hidden" role="dialog" aria-modal="true">
<div class="dda-modal-panel card" style="max-width:640px">
<div class="card-header">
<h3 id="perm-modal-title">Permission Matrix</h3>
<button type="button" class="btn btn-secondary btn-sm" id="perm-modal-close">Close</button>
</div>
<div class="dda-perm-matrix-actions">
<button type="button" class="btn btn-secondary btn-sm" id="btn-grant-all">Grant All</button>
<button type="button" class="btn btn-secondary btn-sm" id="btn-revoke-all">Revoke All</button>
</div>
<div id="perm-matrix-wrap"><p class="dim">Loading…</p></div>
<button type="button" class="btn btn-primary" id="btn-save-perms" style="margin-top:0.85rem">Save permissions</button>
</div>
</div>
<div id="user-modal" class="dda-modal hidden" role="dialog" aria-modal="true">
<div class="dda-modal-panel card" style="max-width:480px">
<div class="card-header">
<h3 id="user-modal-title">New User</h3>
<button type="button" class="btn btn-secondary btn-sm" id="user-modal-close">Close</button>
</div>
<form id="user-form">
<input type="hidden" id="user-id" />
<div class="form-group">
<label for="user-email">Email</label>
<input type="email" id="user-email" required />
</div>
<div class="form-group">
<label for="user-full-name">Full name</label>
<input type="text" id="user-full-name" />
</div>
<div class="form-group">
<label for="user-phone">Mobile number</label>
<div class="dda-phone-input">
<select id="user-country-code" class="dda-country-select" aria-label="Country code"></select>
<input type="tel" id="user-phone" inputmode="numeric" maxlength="15" placeholder="Mobile number" />
</div>
</div>
<div class="form-group">
<label for="user-role-select">Role</label>
<select id="user-role-select" required></select>
</div>
<div class="form-group">
<label for="user-password">Password <span id="user-password-hint" class="dim"></span></label>
<input type="password" id="user-password" minlength="8" />
</div>
<button type="submit" class="btn btn-primary">Save user</button>
</form>
</div>
</div>
<script src="/static/js/dda/shared.js?v=7"></script>
<script src="/static/js/dda/countries.js?v=1"></script>
<script src="/static/js/dda/app.js?v=29"></script>
<script src="/static/js/dda/notifications.js?v=5"></script>
<script src="/static/js/dda/admin_roles.js?v=5"></script>
</body>
</html>