I created a new User Group and updated the Policy Templates; AdministratorTemplate and ContentBlocksTemplate. I also updated the Access Policies; Administrator, AdminLite, ContentBlocks Full Access and Developer.
After that when going to example.com/manager/?a=security/permission and editing the usergroup Administrator the console logs:
VM6809:1 Uncaught TypeError: values.permissions.split is not a function
at tpl.compiled (eval at compileTpl (ext-all.js:21:115596), <anonymous>:1:165)
at Ext.XTemplate.applyTemplate (ext-all.js:21:115667)
at constructor.getBodyContent (modx.jsgrps-min.js?mv=320pl:33:1852)
at constructor.getRowClass (modx.jsgrps-min.js?mv=320pl:33:703)
at S.getRowClass (ext-base.js:21:8903)
at S.doRender (ext-all.js:21:603215)
at S.doRender (ext-all.js:21:667997)
at S.renderRows (ext-all.js:21:612149)
at S.renderRows (ext-all.js:21:667125)
at S.renderBody (ext-all.js:21:612225)
tpl.compiled @ VM6809:1
applyTemplate @ ext-all.js:21
getBodyContent @ modx.jsgrps-min.js?mv=320pl:33
getRowClass @ modx.jsgrps-min.js?mv=320pl:33
(anonymous) @ ext-base.js:21
doRender @ ext-all.js:21
doRender @ ext-all.js:21
renderRows @ ext-all.js:21
renderRows @ ext-all.js:21
renderBody @ ext-all.js:21
refresh @ ext-all.js:21
onDataChange @ ext-all.js:21
fire @ ext-all.js:21
fireEvent @ ext-all.js:21
loadRecords @ ext-all.js:21
onRead @ ext-all.js:21
(anonymous) @ ext-all.js:21
handleResponse @ ext-all.js:21
f @ ext-base.js:21
m @ ext-base.js:21
(anonymous) @ ext-base.js:21
setInterval
n @ ext-base.js:21
i @ ext-base.js:21
request @ ext-base.js:21
request @ ext-all.js:21
doRequest @ ext-all.js:21
request @ ext-all.js:21
execute @ ext-all.js:21
load @ ext-all.js:21
MODx.grid.Grid @ modx.jsgrps-min.js?mv=320pl:26
UserGroupBase @ modx.grid.user.group.base.js?mv=320pl:56
UserGroupContext @ modx.grid.user.group.context.js?mv=320pl:122
create @ ext-all.js:21
createComponent @ ext-all.js:21
lookupComponent @ ext-all.js:21
add @ ext-all.js:21
(anonymous) @ ext-all.js:21
each @ ext-base.js:21
add @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
Ext.Component @ ext-all.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
create @ ext-all.js:21
createComponent @ ext-all.js:21
lookupComponent @ ext-all.js:21
add @ ext-all.js:21
(anonymous) @ ext-all.js:21
each @ ext-base.js:21
add @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
Ext.Component @ ext-all.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
MODx.Tabs @ modx.jsgrps-min.js?mv=320pl:26
MODx.VerticalTabs @ modx.jsgrps-min.js?mv=320pl:26
create @ ext-all.js:21
createComponent @ ext-all.js:21
lookupComponent @ ext-all.js:21
add @ ext-all.js:21
(anonymous) @ ext-all.js:21
each @ ext-base.js:21
add @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
Ext.Component @ ext-all.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
create @ ext-all.js:21
createComponent @ ext-all.js:21
lookupComponent @ ext-all.js:21
add @ ext-all.js:21
(anonymous) @ ext-all.js:21
each @ ext-base.js:21
add @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
Ext.Component @ ext-all.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
MODx.Tabs @ modx.jsgrps-min.js?mv=320pl:26
create @ ext-all.js:21
createComponent @ ext-all.js:21
lookupComponent @ ext-all.js:21
add @ ext-all.js:21
(anonymous) @ ext-all.js:21
each @ ext-base.js:21
add @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
initComponent @ ext-all.js:21
Ext.Component @ ext-all.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
S @ ext-base.js:21
MODx.FormPanel @ modx.jsgrps-min.js?mv=320pl:26
MODx.panel.UserGroup @ modx.panel.user.group.js?mv=320pl:305
create @ ext-all.js:21
load @ modx.js?mv=f4e30b4e:125
_loadComponents @ modx.jsgrps-min.js?mv=320pl:26
MODx.Component @ modx.jsgrps-min.js?mv=320pl:26
MODx.page.UpdateUserGroup @ update.js?mv=320pl:41
create @ ext-all.js:21
load @ modx.js?mv=f4e30b4e:125
(anonymous) @ manager/?a=security/usergroup/update&id=1:114
(anonymous) @ ext-all.js:21
a @ ext-all.js:21
setInterval
h.delay @ ext-all.js:21
v @ ext-all.js:21
fire @ ext-all.js:21
f @ ext-all.js:21
Some system information:
MODX version:
MODX Revolution 3.2.0-pl (advanced)
Version codename:
Revolution
phpinfo():
PHP Version 8.2.30
Server Time:
11:05:49 AM
Local Time:
11:05:49 AM
Server Offset:
0
ExtJS Version:
3.4.1
Smarty Version:
4.5.6
PHPMailer Version:
6.12.0
MagpieRSS Version:
0.72
Database type:
mysql
Database version:
5.7.44-49-log
Database charset:
utf8mb4
Database name:
ID190723_farmpro
Database server:
ID190723_farmpro.db.webhosting.be
Table prefix:
modx_
I solved the issue by going into example.com/manager/assets/modext/widgets/security/modx.grid.user.group.base.js and on line 83 changing:
{[ values.permissions.split(',').map(item => '<li>' + item.trim() + '</li>').join('') ]}
to:
{[ (values.policyPermissions || []).map(item => '<li>' + item.trim() + '</li>').join('') ]}
On line 96 permissions = record.data.cls, to permissions = record.data.permissions || {},
On line 102 if (permissions.indexOf('pedit') !== -1) { to if (permissions.update) {
On line 108 if (permissions.indexOf('premove') !== -1) { to if (permissions.delete) {
And in the file example.com/core/src/Revolution/Processors/Security/Access/UserGroup/ResourceGroup/GetList.php on line 187 $permissions['edit'] = false; to $permissions['update'] = false;
And ub the file example.com/manager/assets/modext/widgets/security/modx.grid.user.js
on line 62 'cls' to 'permissions'
on line 174 var p = r.data.cls; to var p = r.data.permissions || {};
on line 195 if (p.indexOf('pupdate') != -1) { to if (p.update) {
on line 201 if (p.indexOf('pcopy') != -1) { to if (p.duplicate) {
on line 208 if (p.indexOf('premove') != -1) { to if (p.delete) {
This fixed the issue of not being to update users after creating them and editing usergroup contexts and mediasources.
I created a new User Group and updated the Policy Templates; AdministratorTemplate and ContentBlocksTemplate. I also updated the Access Policies; Administrator, AdminLite, ContentBlocks Full Access and Developer.
After that when going to example.com/manager/?a=security/permission and editing the usergroup Administrator the console logs:
Some system information:
MODX version:
MODX Revolution 3.2.0-pl (advanced)
Version codename:
Revolution
phpinfo():
PHP Version 8.2.30
Server Time:
11:05:49 AM
Local Time:
11:05:49 AM
Server Offset:
0
ExtJS Version:
3.4.1
Smarty Version:
4.5.6
PHPMailer Version:
6.12.0
MagpieRSS Version:
0.72
Database type:
mysql
Database version:
5.7.44-49-log
Database charset:
utf8mb4
Database name:
ID190723_farmpro
Database server:
ID190723_farmpro.db.webhosting.be
Table prefix:
modx_
I solved the issue by going into example.com/manager/assets/modext/widgets/security/modx.grid.user.group.base.js and on line 83 changing:
{[ values.permissions.split(',').map(item => '<li>' + item.trim() + '</li>').join('') ]}to:
{[ (values.policyPermissions || []).map(item => '<li>' + item.trim() + '</li>').join('') ]}On line 96
permissions = record.data.cls,topermissions = record.data.permissions || {},On line 102
if (permissions.indexOf('pedit') !== -1) {toif (permissions.update) {On line 108
if (permissions.indexOf('premove') !== -1) {toif (permissions.delete) {And in the file example.com/core/src/Revolution/Processors/Security/Access/UserGroup/ResourceGroup/GetList.php on line 187
$permissions['edit'] = false;to$permissions['update'] = false;And ub the file example.com/manager/assets/modext/widgets/security/modx.grid.user.js
on line 62
'cls'to'permissions'on line 174
var p = r.data.cls;tovar p = r.data.permissions || {};on line 195
if (p.indexOf('pupdate') != -1) {toif (p.update) {on line 201
if (p.indexOf('pcopy') != -1) {toif (p.duplicate) {on line 208
if (p.indexOf('premove') != -1) {toif (p.delete) {This fixed the issue of not being to update users after creating them and editing usergroup contexts and mediasources.