diff --git a/v2/src/user/index.js b/v2/src/user/index.js index e7f2fec..2699ab9 100644 --- a/v2/src/user/index.js +++ b/v2/src/user/index.js @@ -50,29 +50,15 @@ function createUserRouter() { } // ── Переключение компании (до crud.list — не грузить зря) ──── + let switchDebug = null; if (req.query.switchTo) { const targetId = req.query.switchTo; const allowed = isAdmin || (req.profiles || []).find(p => p.client_id === targetId); if (allowed) { - console.log('[v2:switchTo] before save', { - sessionID: req.sessionID, - oldActiveClientId: req.session && req.session.user ? req.session.user.activeClientId : null, - oldClientId: req.session && req.session.user ? req.session.user.clientId : null, - targetId, - email: req.email, - }); + const oldId = req.session.user.activeClientId; req.session.user.activeClientId = targetId; - return req.session.save(err => { - if (err) { - console.error('[v2:switchTo] save error:', err.message); - } else { - console.log('[v2:switchTo] after save', { - sessionID: req.sessionID, - savedActiveClientId: req.session && req.session.user ? req.session.user.activeClientId : null, - }); - } - res.redirect('/v2/app'); - }); + // clId теперь новый — рендерим сразу, без редиректа + switchDebug = { from: oldId, to: targetId, sessionID: req.sessionID }; } } @@ -96,11 +82,12 @@ function createUserRouter() { res.render('v2/user', { entries, limit, used, companies, - activeClientId: clId, + activeClientId: switchDebug ? switchDebug.to : clId, debugClientId: clId, sessionId: req.sessionID || '', sessionActiveClientId: req.session && req.session.user ? (req.session.user.activeClientId || '') : '', sessionClientId: req.session && req.session.user ? (req.session.user.clientId || '') : '', + switchDebug, user: templateUser, includeDeleted, version: config.version, diff --git a/views/v2/user.ejs b/views/v2/user.ejs index 01fde4d..a666de8 100644 --- a/views/v2/user.ejs +++ b/views/v2/user.ejs @@ -139,6 +139,14 @@ + <% if (typeof switchDebug !== 'undefined' && switchDebug) { %> +
+ DEBUG SWITCH: <%= switchDebug.from %> → <%= switchDebug.to %> + | sessionID: <%= switchDebug.sessionID %> + | activeClientId: <%= activeClientId %> +
+ <% } %> + <% if (user.isImpersonated) { %>
⚠️ Режим имперсонации — данные сохраняются от имени <%= activeClientId %>