]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/dc/AuthView.js
fix jslint errors in ha resources
[pve-manager.git] / www / manager6 / dc / AuthView.js
CommitLineData
713d169a
DM
1Ext.define('PVE.dc.AuthView', {
2 extend: 'Ext.grid.GridPanel',
3
4 alias: ['widget.pveAuthView'],
5
6 initComponent : function() {
7 var me = this;
8
9 var store = new Ext.data.Store({
10 model: 'pve-domains',
11 sorters: {
12 property: 'realm',
13 order: 'DESC'
14 }
15 });
16
17 var reload = function() {
18 store.load();
19 };
20
21 var sm = Ext.create('Ext.selection.RowModel', {});
22
23 var run_editor = function() {
24 var rec = sm.getSelection()[0];
25 if (!rec) {
26 return;
27 }
28
29 var win = Ext.create('PVE.dc.AuthEdit',{
30 realm: rec.data.realm,
31 authType: rec.data.type
32 });
33 win.on('destroy', reload);
34 win.show();
35 };
36
37 var edit_btn = new PVE.button.Button({
38 text: gettext('Edit'),
39 disabled: true,
40 selModel: sm,
41 handler: run_editor
42 });
43
44 var remove_btn = new PVE.button.Button({
45 text: gettext('Remove'),
46 disabled: true,
47 selModel: sm,
48 confirmMsg: function (rec) {
49 return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
50 "'" + rec.data.realm + "'");
51 },
52 enableFn: function(rec) {
53 return !(rec.data.type === 'pve' || rec.data.type === 'pam');
54 },
55 handler: function(btn, event, rec) {
56 var realm = rec.data.realm;
57
58 PVE.Utils.API2Request({
59 url: '/access/domains/' + realm,
60 method: 'DELETE',
61 waitMsgTarget: me,
62 callback: function() {
63 reload();
64 },
65 failure: function (response, opts) {
66 Ext.Msg.alert(gettext('Error'), response.htmlStatus);
67 }
68 });
69 }
70 });
71
72 var tbar = [
73 {
74 text: gettext('Add'),
75 menu: new Ext.menu.Menu({
76 items: [
77 {
78 text: gettext('Active Directory Server'),
79 handler: function() {
80 var win = Ext.create('PVE.dc.AuthEdit', {
81 authType: 'ad'
82 });
83 win.on('destroy', reload);
84 win.show();
85 }
86 },
87 {
88 text: gettext('LDAP Server'),
89 handler: function() {
90 var win = Ext.create('PVE.dc.AuthEdit',{
91 authType: 'ldap'
92 });
93 win.on('destroy', reload);
94 win.show();
95 }
96 }
97 ]
98 })
99 },
100 edit_btn, remove_btn
101 ];
102
103 Ext.apply(me, {
104 store: store,
105 selModel: sm,
106 stateful: false,
107 tbar: tbar,
108 viewConfig: {
109 trackOver: false
110 },
111 columns: [
112 {
113 header: gettext('Realm'),
114 width: 100,
115 sortable: true,
116 dataIndex: 'realm'
117 },
118 {
119 header: gettext('Type'),
120 width: 100,
121 sortable: true,
122 dataIndex: 'type'
123 },
124 {
125 header: gettext('TFA'),
126 width: 100,
127 sortable: true,
128 dataIndex: 'tfa'
129 },
130 {
713d169a
DM
131 header: gettext('Comment'),
132 sortable: false,
133 dataIndex: 'comment',
2eb0767b 134 renderer: Ext.String.htmlEncode,
713d169a
DM
135 flex: 1
136 }
137 ],
138 listeners: {
c0b3df6e 139 activate: reload,
713d169a
DM
140 itemdblclick: run_editor
141 }
142 });
143
144 me.callParent();
145 }
146});