Playwright Tests / test (push) Canceled after 0s
Splits fn=admin into two independent modules: the original status dashboard stays at fn=admin, user management moves to a new fn=usr (IntranetController.AdminUsers.cs, fis.usr.js). Both are now reached through a single "Administration" sidemenu dropdown (Systemüberwachung / Benutzerverwaltung) gated by one shared fds_sys > 4 check, per ADR 0015 (supersedes 0014's "fold into one module" choice). Also fixes the password-reset validation to check only a plain 6-char minimum instead of silently also requiring ValidatePassword's default 2-uppercase/2-lowercase/2-digit composition, which contradicted the "mind. 6 Zeichen" message shown to the admin. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
37 lines
2.3 KiB
JavaScript
37 lines
2.3 KiB
JavaScript
(function () {
|
|
Array.prototype.push.apply($ocms.ocmsmenu,[
|
|
{ lbl: $t.m_inv, id: 'm_inv', fnc: 'init:inv', ico: 'glyphicon glyphicon-list-alt'}
|
|
,{ lbl: $t.m_req, id: 'm_req', fnc: 'init:req', ico: 'glyphicon glyphicon-eur' }
|
|
, { lbl: $t.m_bcd, id: 'm_bcd', fnc: 'init:bam', ico: 'glyphicon glyphicon-indent-right' }
|
|
, { fnc: 'separator' }
|
|
, { lbl: $t.m_rep, id: 'm_rep', fnc: 'init:rep', ico: 'glyphicon glyphicon-dashboard' }
|
|
, { fnc: 'separator' }
|
|
, { lbl: $t.m_todo, id: 'm_todo', fnc: () => { $('#contentframe').empty().load($ocms.url('todos')); $('#listframe').rC('fix').aC('hd'); }, ico: 'glyphicon glyphicon-sunglasses' }
|
|
//, { lbl: $t.m_efa, id: 'm_efa', fnc: 'init:efa' }
|
|
]);
|
|
})();
|
|
|
|
/* "Administration" is a single sidemenu dropdown (ocmsmenu supports nested items via `itm`)
|
|
containing two buttons — Benutzerverwaltung (fn=usr) and Systemüberwachung (fn=admin) — both
|
|
restricted to users whose fds_sys authorization exceeds 4. One auth check gates the whole
|
|
dropdown; it (and therefore both module scripts) is only added after that check resolves, so
|
|
lower-privileged users never see it or fetch either module's code.
|
|
Called from fis_main_go.js once the DOM (and the initial main menu) is ready. */
|
|
$fis.addAdminMenuButtonsIfAuthorized = function () {
|
|
if ($('#m_admin_grp').length > 0) { return; } // idempotent
|
|
$fis.getAuth('fds_sys').then(function (auth) {
|
|
if ((auth || -1) > 4 && $('#m_admin_grp').length === 0) {
|
|
$ocms.ocmsmenu.push({
|
|
lbl: $t.m_admin, id: 'm_admin_grp', ico: 'glyphicon glyphicon-cog',
|
|
itm: [
|
|
{ lbl: $t.m_usr, id: 'm_usr', fnc: 'init:usr', ico: 'glyphicon glyphicon-user' },
|
|
{ lbl: $t.m_admin_status, id: 'm_admin', fnc: 'init:admin', ico: 'glyphicon glyphicon-dashboard' }
|
|
]
|
|
});
|
|
/* Re-render the main menu cleanly: drop the previously generated menu list
|
|
(never the .nav-right settings dropdown) and rebuild it from the array. */
|
|
$('#mainmenu').children('ul:not(.nav-right)').remove();
|
|
$('#mainmenu').ocmsmenu($ocms.ocmsmenu);
|
|
}
|
|
}).catch(function () { /* auth lookup failed → leave the menu unchanged */ });
|
|
}; |