]> git.proxmox.com Git - pve-manager.git/blob - www/manager/dc/AuthView.js
imported from svn 'pve-manager/pve2'
[pve-manager.git] / www / manager / dc / AuthView.js
1 Ext.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 tbar = [
22 {
23 text: 'Create',
24 handler: function() {
25 var win = Ext.create('PVE.dc.AuthEdit',{
26 });
27 win.on('destroy', reload);
28 win.show();
29 }
30 },
31 {
32 text: 'Modify',
33 handler: function() {
34 var sm = me.getSelectionModel();
35 var rec = sm.getSelection()[0];
36 if (!rec) {
37 return;
38 }
39
40 var realm = rec.data.realm;
41
42 var win = Ext.create('PVE.dc.AuthEdit',{
43 realm: realm
44 });
45 win.on('destroy', reload);
46 win.show();
47 }
48 },
49 {
50 text: 'Delete',
51 handler: function() {
52 var msg;
53 var sm = me.getSelectionModel();
54 var rec = sm.getSelection()[0];
55 if (!rec) {
56 return;
57 }
58
59 var realm = rec.data.realm;
60
61 if (realm !== 'pam' && realm != 'pve') {
62 msg = 'Are you sure you want to permanently the authentication realm: ' + realm;
63 Ext.Msg.confirm('Deletion Confirmation', msg, function(btn) {
64 if (btn !== 'yes') {
65 return;
66 }
67
68 PVE.Utils.API2Request({
69 url: '/access/domains/' + realm,
70 method: 'DELETE',
71 waitMsgTarget: me,
72 callback: function() {
73 reload();
74 },
75 failure: function (response, opts) {
76 Ext.Msg.alert('Error',response.htmlStatus);
77 }
78 });
79 });
80 } else {
81 msg = 'You are not permitted to delete the auth method: pam';
82 Ext.Msg.alert('Error', msg);
83 }
84 }
85 }
86 ];
87
88 Ext.apply(me, {
89 store: store,
90 stateful: false,
91 tbar: tbar,
92 viewConfig: {
93 trackOver: false
94 },
95 columns: [
96 {
97 header: 'Realm',
98 width: 100,
99 sortable: true,
100 dataIndex: 'realm'
101 },
102 {
103 header: 'Type',
104 width: 100,
105 sortable: true,
106 dataIndex: 'type'
107 },
108 {
109 id: 'comment',
110 header: 'Comment',
111 sortable: false,
112 dataIndex: 'comment',
113 flex: 1
114 }
115 ],
116 listeners: {
117 show: function() {
118 store.load();
119 }
120 }
121 });
122
123 me.callParent();
124 }
125 });