]>
git.proxmox.com Git - proxmox-backup.git/blob - www/config/UserView.js
1 Ext
.define('pmx-users', {
2 extend
: 'Ext.data.Model',
4 'userid', 'firstname', 'lastname', 'email', 'comment',
5 { type
: 'boolean', name
: 'enable', defaultValue
: true },
6 { type
: 'date', dateFormat
: 'timestamp', name
: 'expire' },
11 url
: '/api2/json/access/users',
15 Ext
.define('PBS.config.UserView', {
16 extend
: 'Ext.grid.GridPanel',
17 alias
: 'widget.pbsUserView',
20 stateId
: 'grid-users',
22 title
: gettext('Users'),
25 xclass
: 'Ext.app.ViewController',
29 Ext
.create('PBS.window.UserEdit', {
38 editUser: function() {
40 let view
= me
.getView();
41 let selection
= view
.getSelection();
42 if (selection
.length
< 1) return;
44 Ext
.create('PBS.window.UserEdit', {
45 userid
: selection
[0].data
.userid
,
54 setPassword: function() {
56 let view
= me
.getView();
57 let selection
= view
.getSelection();
59 if (selection
.length
< 1) return;
61 Ext
.create('PBS.window.UserPassword', {
62 url
: '/api2/extjs/access/users/' + selection
[0].data
.userid
,
66 showPermissions: function() {
68 let view
= me
.getView();
69 let selection
= view
.getSelection();
71 if (selection
.length
< 1) return;
73 Ext
.create('Proxmox.PermissionView', {
74 auth_id
: selection
[0].data
.userid
,
75 auth_id_name
: 'auth-id',
79 renderName: function(val
, cell
, rec
) {
81 if (rec
.data
.firstname
) {
82 name
.push(rec
.data
.firstname
);
84 if (rec
.data
.lastname
) {
85 name
.push(rec
.data
.lastname
);
87 return name
.join(' ');
90 renderUsername: function(userid
) {
91 return Ext
.String
.htmlEncode(userid
.match(/^(.+)@([^@]+)$/)[1]);
94 renderRealm: function(userid
) {
95 return Ext
.String
.htmlEncode(userid
.match(/^(.+)@([^@]+)$/)[2]);
98 reload: function() { this.getView().getStore().rstore
.load(); },
100 init: function(view
) {
101 Proxmox
.Utils
.monStoreErrors(view
, view
.getStore().rstore
);
107 itemdblclick
: 'editUser',
113 autoDestroyRstore
: true,
117 storeid
: 'pmx-users',
126 xtype
: 'proxmoxButton',
127 text
: gettext('Add'),
132 xtype
: 'proxmoxButton',
133 text
: gettext('Edit'),
138 xtype
: 'proxmoxButton',
139 text
: gettext('Password'),
140 handler
: 'setPassword',
144 xtype
: 'proxmoxStdRemoveButton',
145 baseurl
: '/access/users/',
146 enableFn
: (rec
) => rec
.data
.userid
!== 'root@pam',
150 xtype
: 'proxmoxButton',
151 text
: gettext('Permissions'),
152 handler
: 'showPermissions',
163 header
: gettext('User name'),
166 renderer
: 'renderUsername',
170 header
: gettext('Realm'),
173 renderer
: 'renderRealm',
177 header
: gettext('Enabled'),
180 renderer
: Proxmox
.Utils
.format_boolean
,
184 header
: gettext('Expire'),
187 renderer
: Proxmox
.Utils
.format_expire
,
191 header
: gettext('Name'),
194 dataIndex
: 'firstname',
195 renderer
: 'renderName',
198 header
: gettext('Comment'),
200 renderer
: Ext
.String
.htmlEncode
,
201 dataIndex
: 'comment',