]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/UserView.js
e412edfbe27dc7ebce1e3c8ad96d8ef8f0712185
1 /*jslint confusion: true */
2 Ext
.define('PVE.dc.UserView', {
3 extend
: 'Ext.grid.GridPanel',
5 alias
: ['widget.pveUserView'],
7 onlineHelp
: 'pveum_users',
10 stateId
: 'grid-users',
12 initComponent : function() {
15 var caps
= Ext
.state
.Manager
.get('GuiCap');
17 var store
= new Ext
.data
.Store({
26 var reload = function() {
30 var sm
= Ext
.create('Ext.selection.RowModel', {});
32 var remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
34 baseurl
: '/access/users/',
35 enableFn: function(rec
) {
36 if (!caps
.access
['User.Modify']) {
39 return rec
.data
.userid
!== 'root@pam';
41 callback: function() {
46 var run_editor = function() {
47 var rec
= sm
.getSelection()[0];
48 if (!rec
|| !caps
.access
['User.Modify']) {
52 var win
= Ext
.create('PVE.dc.UserEdit',{
53 userid
: rec
.data
.userid
55 win
.on('destroy', reload
);
59 var edit_btn
= new Proxmox
.button
.Button({
60 text
: gettext('Edit'),
62 enableFn: function(rec
) {
63 return !!caps
.access
['User.Modify'];
69 var pwchange_btn
= new Proxmox
.button
.Button({
70 text
: gettext('Password'),
73 handler: function(btn
, event
, rec
) {
74 var win
= Ext
.create('Proxmox.window.PasswordEdit', {
75 userid
: rec
.data
.userid
77 win
.on('destroy', reload
);
82 var tfachange_btn
= new Proxmox
.button
.Button({
86 handler: function(btn
, event
, rec
) {
88 var win
= Ext
.create('PVE.window.TFAEdit',{
89 hasTFA
: d
.keys
!= undefined && d
.keys
.length
,
92 win
.on('destroy', reload
);
100 disabled
: !caps
.access
['User.Modify'],
101 handler: function() {
102 var win
= Ext
.create('PVE.dc.UserEdit',{
104 win
.on('destroy', reload
);
108 edit_btn
, remove_btn
, pwchange_btn
, tfachange_btn
111 var render_username = function(userid
) {
112 return userid
.match(/^(.+)(@[^@]+)$/)[1];
115 var render_realm = function(userid
) {
116 return userid
.match(/@([^@]+)$/)[1];
128 header
: gettext('User name'),
131 renderer
: render_username
,
135 header
: gettext('Realm'),
138 renderer
: render_realm
,
142 header
: gettext('Enabled'),
145 renderer
: Proxmox
.Utils
.format_boolean
,
149 header
: gettext('Expire'),
152 renderer
: Proxmox
.Utils
.format_expire
,
156 header
: gettext('Name'),
159 renderer
: PVE
.Utils
.render_full_name
,
160 dataIndex
: 'firstname'
166 renderer: function(v
) {
167 return Proxmox
.Utils
.format_boolean(v
!== undefined && v
.length
);
172 header
: gettext('Comment'),
174 renderer
: Ext
.String
.htmlEncode
,
175 dataIndex
: 'comment',
181 itemdblclick
: run_editor