]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/UserView.js
1 Ext
.define('PVE.dc.UserView', {
2 extend
: 'Ext.grid.GridPanel',
4 alias
: ['widget.pveUserView'],
6 onlineHelp
: 'pveum_users',
11 initComponent: function() {
14 var caps
= Ext
.state
.Manager
.get('GuiCap');
16 var store
= new Ext
.data
.Store({
24 let reload
= () => store
.load();
26 let sm
= Ext
.create('Ext.selection.RowModel', {});
28 let remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
30 baseurl
: '/access/users/',
32 enableFn
: rec
=> caps
.access
['User.Modify'] && rec
.data
.userid
!== 'root@pam',
33 callback
: () => reload(),
35 let run_editor = function() {
36 var rec
= sm
.getSelection()[0];
37 if (!rec
|| !caps
.access
['User.Modify']) {
40 Ext
.create('PVE.dc.UserEdit', {
41 userid
: rec
.data
.userid
,
44 destroy
: () => reload(),
48 let edit_btn
= new Proxmox
.button
.Button({
49 text
: gettext('Edit'),
51 enableFn: function(rec
) {
52 return !!caps
.access
['User.Modify'];
57 let pwchange_btn
= new Proxmox
.button
.Button({
58 text
: gettext('Password'),
61 enableFn: function(record
) {
62 if (record
.data
.realmtype
) {
63 let type
= record
.data
.realmtype
;
64 if (PVE
.Utils
.authSchema
[type
]) {
65 return !!PVE
.Utils
.authSchema
[type
].pwchange
;
70 handler: function(btn
, event
, rec
) {
71 Ext
.create('Proxmox.window.PasswordEdit', {
72 userid
: rec
.data
.userid
,
75 destroy
: () => reload(),
80 let tfachange_btn
= new Proxmox
.button
.Button({
84 enableFn: function(record
) {
85 if (record
.data
.realmtype
) {
86 let type
= record
.data
.realmtype
;
87 if (PVE
.Utils
.authSchema
[type
]) {
88 return !!PVE
.Utils
.authSchema
[type
].tfa
;
93 handler: function(btn
, event
, rec
) {
95 var tfa_type
= PVE
.Parser
.parseTfaType(d
.keys
);
96 Ext
.create('PVE.window.TFAEdit', {
101 destroy
: () => reload(),
107 var perm_btn
= new Proxmox
.button
.Button({
108 text
: gettext('Permissions'),
111 handler: function(btn
, event
, rec
) {
112 Ext
.create('PVE.dc.PermissionView', {
113 userid
: rec
.data
.userid
,
116 destroy
: () => reload(),
127 text
: gettext('Add'),
128 disabled
: !caps
.access
['User.Modify'],
129 handler: function() {
130 Ext
.create('PVE.dc.UserEdit', {
133 destroy
: () => reload(),
152 header
: gettext('User name'),
155 renderer
: userid
=> Ext
.String
.htmlEncode(userid
.match(/^(.+)(@[^@]+)$/)[1]),
159 header
: gettext('Realm'),
162 renderer
: userid
=> Ext
.String
.htmlEncode(userid
.match(/@([^@]+)$/)[1]),
166 header
: gettext('Enabled'),
169 renderer
: Proxmox
.Utils
.format_boolean
,
173 header
: gettext('Expire'),
176 renderer
: Proxmox
.Utils
.format_expire
,
180 header
: gettext('Name'),
183 renderer
: PVE
.Utils
.render_full_name
,
184 dataIndex
: 'firstname',
190 renderer: function(v
) {
191 let tfa_type
= PVE
.Parser
.parseTfaType(v
);
192 if (tfa_type
=== undefined) {
193 return Proxmox
.Utils
.noText
;
194 } else if (tfa_type
=== 1) {
195 return Proxmox
.Utils
.yesText
;
203 header
: gettext('Comment'),
205 renderer
: Ext
.String
.htmlEncode
,
206 dataIndex
: 'comment',
212 itemdblclick
: run_editor
,
218 Proxmox
.Utils
.monStoreErrors(me
, store
);