]>
git.proxmox.com Git - pve-manager.git/blob - www/manager/dc/ACLView.js
7ea314c59895d72f4c961fd059c19e678f4bbdcb
1 Ext
.define('PVE.dc.ACLAdd', {
2 extend
: 'PVE.window.Edit',
3 alias
: ['widget.pveACLAdd'],
5 initComponent : function() {
6 /*jslint confusion: true */
13 xtype
: me
.path
? 'hiddenfield' : 'textfield',
17 fieldLabel
: gettext('Path')
21 if (me
.aclType
=== 'group') {
22 me
.subject
= gettext("Group Permission");
24 xtype
: 'pveGroupSelector',
26 fieldLabel
: gettext('Group')
28 } else if (me
.aclType
=== 'user') {
29 me
.subject
= gettext("User Permission");
31 xtype
: 'pveUserSelector',
33 fieldLabel
: gettext('User')
36 throw "unknown ACL type";
40 xtype
: 'pveRoleSelector',
43 fieldLabel
: gettext('Role')
51 fieldLabel
: gettext('Propagate')
55 var ipanel
= Ext
.create('PVE.panel.InputPanel', {
70 Ext
.define('PVE.dc.ACLView', {
71 extend
: 'Ext.grid.GridPanel',
73 alias
: ['widget.pveACLView'],
78 initComponent : function() {
81 var store
= new Ext
.data
.Store({
85 url
: "/api2/json/access/acl"
94 store
.filters
.add(new Ext
.util
.Filter({
95 filterFn: function(item
) {
96 if (item
.data
.path
=== me
.path
) {
103 var render_ugid = function(ugid
, metaData
, record
) {
104 if (record
.data
.type
== 'group') {
113 header
: gettext('User') + '/' + gettext('Group'),
116 renderer
: render_ugid
,
120 header
: gettext('Role'),
129 header
: gettext('Path'),
135 header
: gettext('Propagate'),
138 dataIndex
: 'propagate'
142 var sm
= Ext
.create('Ext.selection.RowModel', {});
144 var reload = function() {
148 var remove_btn
= new PVE
.button
.Button({
149 text
: gettext('Remove'),
152 confirmMsg
: gettext('Are you sure you want to remove this entry'),
153 handler: function(btn
, event
, rec
) {
157 roles
: rec
.data
.roleid
159 if (rec
.data
.type
=== 'group') {
160 params
.groups
= rec
.data
.ugid
;
161 } else if (rec
.data
.type
=== 'user') {
162 params
.users
= rec
.data
.ugid
;
164 throw 'unknown data type';
167 PVE
.Utils
.API2Request({
172 callback: function() {
175 failure: function (response
, opts
) {
176 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
182 PVE
.Utils
.monStoreErrors(me
, store
);
190 text
: gettext('Add'),
191 menu
: new Ext
.menu
.Menu({
194 text
: gettext('Group Permission'),
195 handler: function() {
196 var win
= Ext
.create('PVE.dc.ACLAdd',{
200 win
.on('destroy', reload
);
205 text
: gettext('User Permission'),
206 handler: function() {
207 var win
= Ext
.create('PVE.dc.ACLAdd',{
211 win
.on('destroy', reload
);
233 Ext
.define('pve-acl', {
234 extend
: 'Ext.data.Model',
236 'path', 'type', 'ugid', 'roleid',