]>
Commit | Line | Data |
---|---|---|
675e71d3 RJ |
1 | Ext.define('PVE.dc.RoleEdit', { |
2 | extend: 'Proxmox.window.Edit', | |
3 | xtype: 'pveDcRoleEdit', | |
4 | ||
5 | width: 400, | |
6 | ||
8058410f | 7 | initComponent: function() { |
675e71d3 RJ |
8 | var me = this; |
9 | ||
10 | me.isCreate = !me.roleid; | |
11 | ||
12 | var url; | |
13 | var method; | |
16265ddf | 14 | |
675e71d3 RJ |
15 | if (me.isCreate) { |
16 | url = '/api2/extjs/access/roles'; | |
17 | method = 'POST'; | |
18 | } else { | |
19 | url = '/api2/extjs/access/roles/' + me.roleid; | |
20 | method = 'PUT'; | |
21 | } | |
22 | ||
23 | Ext.applyIf(me, { | |
24 | subject: gettext('Role'), | |
25 | url: url, | |
26 | method: method, | |
27 | items: [ | |
28 | { | |
29 | xtype: me.isCreate ? 'proxmoxtextfield' : 'displayfield', | |
30 | name: 'roleid', | |
31 | value: me.roleid, | |
32 | allowBlank: false, | |
f6710aac | 33 | fieldLabel: gettext('Name'), |
675e71d3 RJ |
34 | }, |
35 | { | |
36 | xtype: 'pvePrivilegesSelector', | |
37 | name: 'privs', | |
38 | value: me.privs, | |
39 | allowBlank: false, | |
f6710aac TL |
40 | fieldLabel: gettext('Privileges'), |
41 | }, | |
42 | ], | |
675e71d3 RJ |
43 | }); |
44 | ||
45 | me.callParent(); | |
16265ddf | 46 | |
675e71d3 RJ |
47 | if (!me.isCreate) { |
48 | me.load({ | |
49 | success: function(response) { | |
50 | var data = response.result.data; | |
51 | var keys = Ext.Object.getKeys(data); | |
52 | ||
53 | me.setValues({ | |
54 | privs: keys, | |
f6710aac | 55 | roleid: me.roleid, |
675e71d3 | 56 | }); |
f6710aac | 57 | }, |
675e71d3 RJ |
58 | }); |
59 | } | |
f6710aac | 60 | }, |
675e71d3 | 61 | }); |