]>
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({
25 var reload = function() {
29 var sm
= Ext
.create('Ext.selection.RowModel', {});
31 var remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
33 baseurl
: '/access/users/',
34 enableFn: function(rec
) {
35 if (!caps
.access
['User.Modify']) {
38 return rec
.data
.userid
!== 'root@pam';
40 callback: function() {
45 var run_editor = function() {
46 var rec
= sm
.getSelection()[0];
47 if (!rec
|| !caps
.access
['User.Modify']) {
51 var win
= Ext
.create('PVE.dc.UserEdit', {
52 userid
: rec
.data
.userid
,
54 win
.on('destroy', reload
);
58 var edit_btn
= new Proxmox
.button
.Button({
59 text
: gettext('Edit'),
61 enableFn: function(rec
) {
62 return !!caps
.access
['User.Modify'];
68 var pwchange_btn
= new Proxmox
.button
.Button({
69 text
: gettext('Password'),
72 handler: function(btn
, event
, rec
) {
73 var win
= Ext
.create('Proxmox.window.PasswordEdit', {
74 userid
: rec
.data
.userid
,
76 win
.on('destroy', reload
);
81 var tfachange_btn
= new Proxmox
.button
.Button({
85 handler: function(btn
, event
, rec
) {
87 var tfa_type
= PVE
.Parser
.parseTfaType(d
.keys
);
88 var win
= Ext
.create('PVE.window.TFAEdit', {
92 win
.on('destroy', reload
);
97 var perm_btn
= new Proxmox
.button
.Button({
98 text
: gettext('Permissions'),
101 handler: function(btn
, event
, rec
) {
102 var win
= Ext
.create('PVE.dc.PermissionView', {
103 userid
: rec
.data
.userid
,
111 text
: gettext('Add'),
112 disabled
: !caps
.access
['User.Modify'],
113 handler: function() {
114 var win
= Ext
.create('PVE.dc.UserEdit', {
116 win
.on('destroy', reload
);
120 edit_btn
, remove_btn
, pwchange_btn
, tfachange_btn
, perm_btn
,
123 var render_username = function(userid
) {
124 return Ext
.String
.htmlEncode(userid
.match(/^(.+)(@[^@]+)$/)[1]);
127 var render_realm = function(userid
) {
128 return Ext
.String
.htmlEncode(userid
.match(/@([^@]+)$/)[1]);
140 header
: gettext('User name'),
143 renderer
: render_username
,
147 header
: gettext('Realm'),
150 renderer
: render_realm
,
154 header
: gettext('Enabled'),
157 renderer
: Proxmox
.Utils
.format_boolean
,
161 header
: gettext('Expire'),
164 renderer
: Proxmox
.Utils
.format_expire
,
168 header
: gettext('Name'),
171 renderer
: PVE
.Utils
.render_full_name
,
172 dataIndex
: 'firstname',
178 renderer: function(v
) {
179 var tfa_type
= PVE
.Parser
.parseTfaType(v
);
180 if (tfa_type
=== undefined) {
181 return Proxmox
.Utils
.noText
;
182 } else if (tfa_type
=== 1) {
183 return Proxmox
.Utils
.yesText
;
191 header
: gettext('Comment'),
193 renderer
: Ext
.String
.htmlEncode
,
194 dataIndex
: 'comment',
200 itemdblclick
: run_editor
,
206 Proxmox
.Utils
.monStoreErrors(me
, store
);