]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/UserView.js
1 Ext
.define('PVE.window.PasswordEdit', {
2 extend
: 'PVE.window.Edit',
4 initComponent : function() {
8 throw "no userid specified";
14 var validate_pw = function() {
15 if (verifypw
.getValue() !== pwfield
.getValue()) {
16 return gettext("Passwords does not match");
21 verifypw
= Ext
.createWidget('textfield', {
22 inputType
: 'password',
23 fieldLabel
: gettext('Confirm password'),
24 name
: 'verifypassword',
26 validator
: validate_pw
29 pwfield
= Ext
.createWidget('textfield', {
30 inputType
: 'password',
31 fieldLabel
: gettext('Password'),
34 validator
: validate_pw
38 subject
: gettext('Password'),
39 url
: '/api2/extjs/access/password',
54 Ext
.define('PVE.dc.UserView', {
55 extend
: 'Ext.grid.GridPanel',
57 alias
: ['widget.pveUserView'],
59 onlineHelp
: 'pveum_users',
62 stateId
: 'grid-users',
64 initComponent : function() {
67 var caps
= Ext
.state
.Manager
.get('GuiCap');
69 var store
= new Ext
.data
.Store({
78 var reload = function() {
82 var sm
= Ext
.create('Ext.selection.RowModel', {});
84 var remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
86 baseurl
: '/access/users/',
87 enableFn: function(rec
) {
88 if (!caps
.access
['User.Modify']) {
91 return rec
.data
.userid
!== 'root@pam';
93 callback: function() {
98 var run_editor = function() {
99 var rec
= sm
.getSelection()[0];
100 if (!rec
|| !caps
.access
['User.Modify']) {
104 var win
= Ext
.create('PVE.dc.UserEdit',{
105 userid
: rec
.data
.userid
107 win
.on('destroy', reload
);
111 var edit_btn
= new PVE
.button
.Button({
112 text
: gettext('Edit'),
114 enableFn: function(rec
) {
115 return !!caps
.access
['User.Modify'];
121 var pwchange_btn
= new PVE
.button
.Button({
122 text
: gettext('Password'),
125 handler: function(btn
, event
, rec
) {
126 var win
= Ext
.create('PVE.window.PasswordEdit',{
127 userid
: rec
.data
.userid
129 win
.on('destroy', reload
);
136 text
: gettext('Add'),
137 disabled
: !caps
.access
['User.Modify'],
138 handler: function() {
139 var win
= Ext
.create('PVE.dc.UserEdit',{
141 win
.on('destroy', reload
);
145 edit_btn
, remove_btn
, pwchange_btn
148 var render_full_name = function(firstname
, metaData
, record
) {
150 var first
= firstname
|| '';
151 var last
= record
.data
.lastname
|| '';
152 return first
+ " " + last
;
155 var render_username = function(userid
) {
156 return userid
.match(/^(.+)(@[^@]+)$/)[1];
159 var render_realm = function(userid
) {
160 return userid
.match(/@([^@]+)$/)[1];
172 header
: gettext('User name'),
175 renderer
: render_username
,
179 header
: gettext('Realm'),
182 renderer
: render_realm
,
186 header
: gettext('Enabled'),
189 renderer
: PVE
.Utils
.format_boolean
,
193 header
: gettext('Expire'),
196 renderer
: PVE
.Utils
.format_expire
,
200 header
: gettext('Name'),
203 renderer
: render_full_name
,
204 dataIndex
: 'firstname'
207 header
: gettext('Comment'),
209 renderer
: Ext
.String
.htmlEncode
,
210 dataIndex
: 'comment',
216 itemdblclick
: run_editor