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
+10 -22
View File
@@ -83,29 +83,17 @@ function createRouter() {
const companyId = req.query.company ? parseInt(req.query.company, 10) : null;
if (!companyId) {
// Админ без ?company= — показываем свою компанию
let ownCo = companies.find(c => c.client_id === req.user.clientId) || null;
if (!ownCo) {
await api.get('/api/v1/entries', token); // создаст компанию через getOrCreateCompany
const cr2 = await api.get('/api/v1/companies', token);
ownCo = (cr2.data.companies || []).find(c => c.client_id === req.user.clientId) || null;
}
if (ownCo) {
const includeDeleted = req.query.includeDeleted === 'true' ? '&includeDeleted=true' : '';
const er = await api.get('/api/v1/entries?company=' + ownCo.id + includeDeleted, token);
entries = er.data.entries || [];
limit = er.data.limit || 15;
selectedCompany = ownCo;
}
} else {
if (companyId) {
selectedCompany = companies.find(c => c.id === companyId) || null;
if (selectedCompany) {
const includeDeleted = req.query.includeDeleted === 'true' ? '&includeDeleted=true' : '';
const er = await api.get('/api/v1/entries?company=' + companyId + includeDeleted, token);
entries = er.data.entries || [];
limit = er.data.limit || 15;
}
}
// Если компания не выбрана — показываем список компаний, без записей
// (админ выбирает компанию из выпадающего списка)
if (selectedCompany) {
const includeDeleted = req.query.includeDeleted === 'true' ? '&includeDeleted=true' : '';
const er = await api.get('/api/v1/entries?company=' + selectedCompany.id + includeDeleted, token);
entries = er.data.entries || [];
limit = er.data.limit || 15;
}
} else {
// Обычный пользователь: запрашиваем записи для активной компании