]>
Commit | Line | Data |
---|---|---|
9a3c1cb4 DC |
1 | Ext.define('pmx-roles', { |
2 | extend: 'Ext.data.Model', | |
3 | fields: ['roleid', 'privs'], | |
4 | proxy: { | |
5 | type: 'proxmox', | |
6 | url: "/api2/json/access/roles", | |
7 | }, | |
8 | idProperty: 'roleid', | |
9 | }); | |
10 | ||
11 | Ext.define('Proxmox.form.RoleSelector', { | |
12 | extend: 'Proxmox.form.ComboGrid', | |
13 | alias: 'widget.pmxRoleSelector', | |
14 | ||
15 | allowBlank: false, | |
16 | autoSelect: false, | |
17 | valueField: 'roleid', | |
18 | displayField: 'roleid', | |
19 | ||
20 | listConfig: { | |
84075423 TL |
21 | width: 560, |
22 | resizable: true, | |
9a3c1cb4 DC |
23 | columns: [ |
24 | { | |
25 | header: gettext('Role'), | |
26 | sortable: true, | |
27 | dataIndex: 'roleid', | |
49275c67 | 28 | flex: 2, |
9a3c1cb4 DC |
29 | }, |
30 | { | |
31 | header: gettext('Privileges'), | |
32 | dataIndex: 'privs', | |
49275c67 TL |
33 | cellWrap: true, |
34 | // join manually here, as ExtJS joins without whitespace which breaks cellWrap | |
9e12fc02 | 35 | renderer: v => Ext.isArray(v) ? v.join(', ') : v.replaceAll(',', ', '), |
49275c67 | 36 | flex: 5, |
9a3c1cb4 DC |
37 | }, |
38 | ], | |
39 | }, | |
40 | ||
41 | store: { | |
42 | autoLoad: true, | |
43 | model: 'pmx-roles', | |
44 | sorters: 'roleid', | |
45 | }, | |
46 | }); |