]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/dc/RoleEdit.js
ui: add PVE.form.ListField
[pve-manager.git] / www / manager6 / dc / RoleEdit.js
CommitLineData
675e71d3
RJ
1Ext.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});