]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/PermissionView.js
1 Ext
.define('pve-permissions', {
2 extend
: 'Ext.data.TreeModel',
6 type
: 'boolean', name
: 'propagate',
11 Ext
.define('PVE.dc.PermissionGridPanel', {
12 extend
: 'Ext.tree.Panel',
13 alias
: 'widget.pveUserPermissionGrid',
15 onlineHelp
: 'chapter_user_management',
21 sortableColumns
: false,
26 header
: gettext('Path') + '/' + gettext('Permission'),
31 header
: gettext('Propagate'),
32 dataIndex
: 'propagate',
34 renderer: function(value
) {
35 if (Ext
.isDefined(value
)) {
36 return Proxmox
.Utils
.format_boolean(value
);
43 initComponent: function() {
46 Proxmox
.Utils
.API2Request({
47 url
: '/access/permissions?userid=' + me
.userid
,
49 failure: function(response
, opts
) {
50 Proxmox
.Utils
.setErrorMask(me
, response
.htmlStatus
);
51 me
.load_task
.delay(me
.load_delay
);
53 success: function(response
, opts
) {
54 Proxmox
.Utils
.setErrorMask(me
, false);
55 let result
= Ext
.decode(response
.responseText
);
56 let data
= result
.data
|| {};
70 Ext
.Object
.each(data
, function(path
, perms
) {
76 Ext
.Object
.each(perms
, function(perm
, propagate
) {
80 propagate
: propagate
=== 1,
81 iconCls
: 'fa fa-fw fa-unlock',
84 path_item
.children
.push(perm_item
);
85 path_item
.expandable
= true;
87 idhash
[path
] = path_item
;
90 Ext
.Object
.each(idhash
, function(path
, item
) {
91 let parent_item
= idhash
['/'];
96 let split_path
= path
.split('/');
97 while (split_path
.pop()) {
98 let parent_path
= split_path
.join('/');
99 if (idhash
[parent_path
]) {
100 parent_item
= idhash
[parent_path
];
105 parent_item
.children
.push(item
);
108 me
.setRootNode(root
);
114 me
.store
.sorters
.add(new Ext
.util
.Sorter({
115 sorterFn: function(rec1
, rec2
) {
116 let v1
= rec1
.data
.text
,
118 if (rec1
.data
.type
!== rec2
.data
.type
) {
124 } else if (v1
< v2
) {
133 Ext
.define('PVE.dc.PermissionView', {
134 extend
: 'Ext.window.Window',
135 alias
: 'widget.userShowPermissionWindow',
136 mixins
: ['Proxmox.Mixin.CBind'],
143 title
: (get) => Ext
.String
.htmlEncode(get('userid')) +
144 ` - ${gettext('Granted Permissions')}`,
147 xtype
: 'pveUserPermissionGrid',