]>
git.proxmox.com Git - pmg-gui.git/blob - js/UserView.js
2 /*jslint confusion: true*/
3 /*renderer is string and function*/
4 Ext
.define('pmg-users', {
5 extend
: 'Ext.data.Model',
7 'userid', 'firstname', 'lastname' , 'email', 'comment',
8 'role', 'keys', 'realm',
9 { type
: 'boolean', name
: 'enable' },
10 { type
: 'date', dateFormat
: 'timestamp', name
: 'expire' }
14 url
: "/api2/json/access/users"
19 Ext
.define('PMG.UserView', {
20 extend
: 'Ext.grid.GridPanel',
21 alias
: 'widget.pmgUserView',
40 xclass
: 'Ext.app.ViewController',
42 init: function(view
) {
43 Proxmox
.Utils
.monStoreErrors(view
, view
.store
);
46 renderUsername: function(userid
) {
47 return Ext
.htmlEncode(userid
.match(/^(.+)(@[^@]+)$/)[1]);
50 renderFullName: function(firstname
, metaData
, record
) {
51 var first
= firstname
|| '';
52 var last
= record
.data
.lastname
|| '';
53 return Ext
.htmlEncode(first
+ " " + last
);
57 var view
= this.getView();
59 var win
= Ext
.create('PMG.UserEdit', {});
60 win
.on('destroy', function() { view
.reload(); });
65 var view
= this.getView();
67 var rec
= view
.selModel
.getSelection()[0];
69 var win
= Ext
.create('PMG.UserEdit', {
70 userid
: rec
.data
.userid
72 win
.on('destroy', function() { view
.reload(); });
76 onPassword: function(btn
, event
, rec
) {
77 var view
= this.getView();
79 var win
= Ext
.create('Proxmox.window.PasswordEdit',{
80 userid
: rec
.data
.userid
82 win
.on('destroy', function() { view
.reload(); });
86 onAfterRemove: function(btn
, res
) {
87 var view
= this.getView();
94 itemdblclick
: 'onEdit'
104 xtype
: 'proxmoxButton',
105 text
: gettext('Edit'),
110 xtype
: 'proxmoxStdRemoveButton',
111 baseurl
: '/access/users',
112 reference
: 'removeBtn',
113 callback
: 'onAfterRemove',
117 xtype
: 'proxmoxButton',
118 text
: gettext('Password'),
120 handler
: 'onPassword'
126 header
: gettext('User name'),
129 renderer
: 'renderUsername',
133 header
: gettext('Realm'),
139 header
: gettext('Role'),
142 renderer
: PMG
.Utils
.format_user_role
,
146 header
: gettext('Enabled'),
149 renderer
: Proxmox
.Utils
.format_boolean
,
153 header
: gettext('Expire'),
156 renderer
: Proxmox
.Utils
.format_expire
,
160 header
: gettext('Name'),
163 renderer
: 'renderFullName',
164 dataIndex
: 'firstname'
167 header
: gettext('Comment'),
169 renderer
: Ext
.String
.htmlEncode
,
170 dataIndex
: 'comment',