]>
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 let type
= record
.data
['realm-type'];
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(),
81 var perm_btn
= new Proxmox
.button
.Button({
82 text
: gettext('Permissions'),
85 handler: function(btn
, event
, rec
) {
86 Ext
.create('PVE.dc.PermissionView', {
87 userid
: rec
.data
.userid
,
90 destroy
: () => reload(),
101 text
: gettext('Add'),
102 disabled
: !caps
.access
['User.Modify'],
103 handler: function() {
104 Ext
.create('PVE.dc.UserEdit', {
107 destroy
: () => reload(),
125 header
: gettext('User name'),
128 renderer
: Proxmox
.Utils
.render_username
,
132 header
: gettext('Realm'),
135 renderer
: Proxmox
.Utils
.render_realm
,
139 header
: gettext('Enabled'),
142 renderer
: Proxmox
.Utils
.format_boolean
,
146 header
: gettext('Expire'),
149 renderer
: Proxmox
.Utils
.format_expire
,
153 header
: gettext('Name'),
156 renderer
: PVE
.Utils
.render_full_name
,
157 dataIndex
: 'firstname',
163 renderer: function(v
, metaData
, record
) {
164 let tfa_type
= PVE
.Parser
.parseTfaType(v
);
165 if (tfa_type
=== undefined) {
166 return Proxmox
.Utils
.noText
;
169 if (tfa_type
!== 1) {
173 let locked_until
= record
.data
['tfa-locked-until'];
174 if (locked_until
!== undefined) {
175 let now
= new Date().getTime() / 1000;
176 if (locked_until
> now
) {
177 return gettext('Locked');
181 if (record
.data
['totp-locked']) {
182 return gettext('TOTP Locked');
185 return Proxmox
.Utils
.yesText
;
190 header
: gettext('Comment'),
192 renderer
: Ext
.String
.htmlEncode
,
193 dataIndex
: 'comment',
199 itemdblclick
: run_editor
,
205 Proxmox
.Utils
.monStoreErrors(me
, store
);