fix: closes #12156, missing data for privilege tables

also fix js crash when adding group/user on admin privileges,
This commit is contained in:
Barış Soner Uşaklı
2023-11-08 15:38:02 -05:00
parent 46f6f9eff0
commit 21e5953888

View File

@@ -413,8 +413,10 @@ define('admin/manage/privileges', [
return cb(); return cb();
} }
// Generate data for new row // Generate data for new row
const privilegeSet = ajaxify.data.privileges.keys.groups.reduce(function (memo, cur) { const typesMap = {};
const privilegeSet = ajaxify.data.privileges.keys.groups.reduce(function (memo, cur, index) {
memo[cur] = false; memo[cur] = false;
typesMap[cur] = ajaxify.data.privileges.labelData[index].type;
return memo; return memo;
}, {}); }, {});
@@ -425,6 +427,7 @@ define('admin/manage/privileges', [
name: group, name: group,
nameEscaped: translator.escape(group), nameEscaped: translator.escape(group),
privileges: privilegeSet, privileges: privilegeSet,
types: typesMap,
}, },
], ],
}, },
@@ -434,7 +437,9 @@ define('admin/manage/privileges', [
tbodyEl.append(html.get(0)); tbodyEl.append(html.get(0));
Privileges.exposeAssumedPrivileges(); Privileges.exposeAssumedPrivileges();
hightlightRowByDataAttr('data-group-name', group); hightlightRowByDataAttr('data-group-name', group);
if (btnIdx >= 0) {
document.querySelector('.privilege-filters').querySelectorAll('button')[btnIdx].click(); document.querySelector('.privilege-filters').querySelectorAll('button')[btnIdx].click();
}
cb(); cb();
}); });
} }
@@ -447,8 +452,10 @@ define('admin/manage/privileges', [
return cb(); return cb();
} }
// Generate data for new row // Generate data for new row
const privilegeSet = ajaxify.data.privileges.keys.users.reduce(function (memo, cur) { const typesMap = {};
const privilegeSet = ajaxify.data.privileges.keys.users.reduce(function (memo, cur, index) {
memo[cur] = false; memo[cur] = false;
typesMap[cur] = ajaxify.data.privileges.labelData[index].type;
return memo; return memo;
}, {}); }, {});
@@ -463,6 +470,7 @@ define('admin/manage/privileges', [
'icon:text': user['icon:text'], 'icon:text': user['icon:text'],
'icon:bgColor': user['icon:bgColor'], 'icon:bgColor': user['icon:bgColor'],
privileges: privilegeSet, privileges: privilegeSet,
types: typesMap,
}, },
], ],
}, },
@@ -473,7 +481,9 @@ define('admin/manage/privileges', [
tbodyEl[1].append(html.get(0)); tbodyEl[1].append(html.get(0));
Privileges.exposeAssumedPrivileges(); Privileges.exposeAssumedPrivileges();
hightlightRowByDataAttr('data-uid', user.uid); hightlightRowByDataAttr('data-uid', user.uid);
if (btnIdx >= 0) {
document.querySelectorAll('.privilege-filters')[1].querySelectorAll('button')[btnIdx].click(); document.querySelectorAll('.privilege-filters')[1].querySelectorAll('button')[btnIdx].click();
}
cb(); cb();
} }