simplify: toggle adminMode, canAdminMode flag, remove getOrCreateCompany fallback

- ui/index.js: canAdminMode = isAdmin AND WZ01112 (временно || WZ01112)
- views/index.ejs: checkbox → toggle с JS fetch, условие canAdminMode
- ui/routes/entries.js: убран getOrCreateCompany-фоллбек для админа
- Админ без ?company= видит список компаний, без автозагрузки
- isAdmin теперь чисто из IAM (без || WZ01112)
This commit is contained in:
2026-06-11 13:15:37 +04:00
parent 1794610f77
commit 13466ebd37
5 changed files with 111 additions and 32 deletions
+9 -7
View File
@@ -159,13 +159,15 @@
<span style="font-weight:500;color:var(--text);">Белые списки IP v<%= appVersion %></span>
<!-- Кнопки правой части header: admin-ссылки + чекбокс + выход -->
<span style="margin-left:auto;display:flex;gap:.5rem;align-items:center;">
<% if (typeof isAdmin !== 'undefined' && isAdmin) { %>
<form method="POST" action="/toggle-admin" style="display:inline;font-size:.8rem;color:var(--muted);padding:.2rem .6rem;border:1px solid var(--border);border-radius:5px;background:#fff;">
<label>
<input type="checkbox" onchange="this.form.submit()" <%= adminMode ? 'checked' : '' %>>
Администратор
</label>
</form>
<% if (typeof canAdminMode !== 'undefined' && canAdminMode) { %>
<span style="font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border:1px solid var(--border);border-radius:5px;background:#fff;cursor:pointer;"
onclick="const t=this.querySelector('input');t.checked=!t.checked;fetch('/toggle-admin',{method:'POST'}).then(()=>location.reload())">
<label style="cursor:pointer;">Администратор</label>
<input type="checkbox" <%= adminMode ? 'checked' : '' %> style="display:none;">
<span style="position:relative;width:36px;height:20px;background:<%= adminMode ? 'var(--blue)' : 'var(--border)' %>;border-radius:10px;transition:background .2s;">
<span style="position:absolute;top:2px;<%= adminMode ? 'right:2px;' : 'left:2px;' %>width:16px;height:16px;background:#fff;border-radius:50%;transition:all .2s;"></span>
</span>
</span>
<% } %>
<% if (typeof adminMode !== 'undefined' && adminMode) { %>
<a href="/audit" style="font-size:.8rem;color:var(--muted);text-decoration:none;padding:.2rem .6rem;border:1px solid var(--border);border-radius:5px;background:#fff;">Аудит</a>