]>
git.proxmox.com Git - pmg-gui.git/blob - js/UserView.js
1 Ext
.define('pmg-users', {
2 extend
: 'Ext.data.Model',
4 'userid', 'firstname', 'lastname', 'email', 'comment',
5 'role', 'keys', 'realm',
6 { type
: 'boolean', name
: 'enable' },
7 { type
: 'date', dateFormat
: 'timestamp', name
: 'expire' },
11 url
: "/api2/json/access/users",
16 Ext
.define('PMG.UserView', {
17 extend
: 'Ext.grid.GridPanel',
18 alias
: 'widget.pmgUserView',
37 xclass
: 'Ext.app.ViewController',
39 init: function(view
) {
40 Proxmox
.Utils
.monStoreErrors(view
, view
.store
);
43 renderUsername: function(userid
) {
44 return Ext
.htmlEncode(userid
.match(/^(.+)(@[^@]+)$/)[1]);
47 renderFullName: function(firstname
, metaData
, record
) {
48 var first
= firstname
|| '';
49 var last
= record
.data
.lastname
|| '';
50 return Ext
.htmlEncode(first
+ " " + last
);
54 var view
= this.getView();
56 var win
= Ext
.create('PMG.UserEdit', {});
57 win
.on('destroy', function() { view
.reload(); });
62 var view
= this.getView();
64 var rec
= view
.selModel
.getSelection()[0];
66 var win
= Ext
.create('PMG.UserEdit', {
67 userid
: rec
.data
.userid
,
69 win
.on('destroy', function() { view
.reload(); });
73 onPassword: function(btn
, event
, rec
) {
74 var view
= this.getView();
76 var win
= Ext
.create('Proxmox.window.PasswordEdit', {
77 userid
: rec
.data
.userid
,
79 win
.on('destroy', function() { view
.reload(); });
83 onAfterRemove: function(btn
, res
) {
84 var view
= this.getView();
91 itemdblclick
: 'onEdit',
101 xtype
: 'proxmoxButton',
102 text
: gettext('Edit'),
107 xtype
: 'proxmoxStdRemoveButton',
108 baseurl
: '/access/users',
109 reference
: 'removeBtn',
110 callback
: 'onAfterRemove',
114 xtype
: 'proxmoxButton',
115 text
: gettext('Password'),
117 handler
: 'onPassword',
123 header
: gettext('User name'),
126 renderer
: 'renderUsername',
130 header
: gettext('Realm'),
136 header
: gettext('Role'),
139 renderer
: PMG
.Utils
.format_user_role
,
143 header
: gettext('Enabled'),
146 renderer
: Proxmox
.Utils
.format_boolean
,
150 header
: gettext('Expire'),
153 renderer
: Proxmox
.Utils
.format_expire
,
157 header
: gettext('Name'),
160 renderer
: 'renderFullName',
161 dataIndex
: 'firstname',
164 header
: gettext('Comment'),
166 renderer
: Ext
.String
.htmlEncode
,
167 dataIndex
: 'comment',