[pve-devel] r5573 - pve-manager/pve2/www/manager
svn-commits at proxmox.com
svn-commits at proxmox.com
Mon Feb 21 08:59:03 CET 2011
Author: dietmar
Date: 2011-02-21 08:59:03 +0100 (Mon, 21 Feb 2011)
New Revision: 5573
Modified:
pve-manager/pve2/www/manager/ClusterConfig.js
Log:
implement user view
Modified: pve-manager/pve2/www/manager/ClusterConfig.js
===================================================================
--- pve-manager/pve2/www/manager/ClusterConfig.js 2011-02-21 07:06:41 UTC (rev 5572)
+++ pve-manager/pve2/www/manager/ClusterConfig.js 2011-02-21 07:59:03 UTC (rev 5573)
@@ -1,11 +1,104 @@
Ext.ns("PVE");
-PVE.ClusterRoleView = Ext.extend(PVE.grid.StdGrid, {
+PVE.UserView = Ext.extend(PVE.grid.StdGrid, {
initComponent : function() {
var self = this;
var store = new Ext.data.JsonStore({
+ url: "/api2/json/access/users",
+ autoDestory: true,
+ root: 'data',
+ restful: true, // use GET, not POST
+ fields: [
+ 'id', 'domid', 'groups', 'name', 'comment',
+ { type: 'boolean', name: 'enabled' },
+ { type: 'date', dateFormat: 'timestamp', name: 'expire' },
+ ],
+ idProperty: 'id',
+ sortInfo: { field: 'id', order: 'DESC' }
+ });
+
+ var render_groups = function(value) {
+
+ if (!value)
+ return '-';
+
+ // allow word wrap
+ return '<div style="white-space:normal;">'
+ + value.replace(/\,/g, ' ') + "</div>";
+
+ };
+
+ var render_expire = function(date) {
+ if (!date)
+ return 'never';
+
+ return date.format("Y-m-d");
+ };
+
+ Ext.apply(self, {
+ store: store,
+ autoExpandColumn: 'comment',
+ stateful: false,
+ columns: [
+ {
+ header: 'ID',
+ width: 200,
+ sortable: true,
+ dataIndex: 'id'
+ },
+ {
+ header: 'Auth',
+ width: 100,
+ sortable: true,
+ dataIndex: 'domid'
+ },
+ {
+ header: 'Enabled',
+ width: 50,
+ sortable: true,
+ dataIndex: 'enabled'
+ },
+ {
+ header: 'Expire',
+ width: 80,
+ sortable: true,
+ renderer: render_expire,
+ dataIndex: 'expire'
+ },
+ {
+ header: 'Name',
+ width: 150,
+ sortable: true,
+ dataIndex: 'name'
+ },
+ {
+ id: 'comment',
+ header: 'Comment',
+ sortable: false,
+ dataIndex: 'comment'
+ }
+ ],
+ listeners: {
+ show: function() {
+ store.load();
+ }
+ }
+ });
+
+ PVE.UserView.superclass.initComponent.call(self);
+ }
+});
+Ext.reg('pveUserView', PVE.UserView);
+
+
+PVE.RoleView = Ext.extend(PVE.grid.StdGrid, {
+
+ initComponent : function() {
+ var self = this;
+
+ var store = new Ext.data.JsonStore({
url: "/api2/json/access/roles",
autoDestory: true,
root: 'data',
@@ -21,7 +114,7 @@
return '-';
// allow word wrap
- return '<div style="white-space:normal !important;">'
+ return '<div style="white-space:normal;">'
+ value.replace(/\,/g, ' ') + "</div>";
};
@@ -52,12 +145,12 @@
}
});
- PVE.ClusterRoleView.superclass.initComponent.call(self);
+ PVE.RoleView.superclass.initComponent.call(self);
}
});
-Ext.reg('pveClusterRoleView', PVE.ClusterRoleView);
+Ext.reg('pveRoleView', PVE.RoleView);
-PVE.ClusterAuthView = Ext.extend(PVE.grid.StdGrid, {
+PVE.AuthView = Ext.extend(PVE.grid.StdGrid, {
initComponent : function() {
var self = this;
@@ -103,10 +196,10 @@
}
});
- PVE.ClusterAuthView.superclass.initComponent.call(self);
+ PVE.AuthView.superclass.initComponent.call(self);
}
});
-Ext.reg('pveClusterAuthView', PVE.ClusterAuthView);
+Ext.reg('pveAuthView', PVE.AuthView);
PVE.ClusterConfig = Ext.extend(PVE.ConfigPanel, {
@@ -135,9 +228,9 @@
html: 'storage ' + clusterid
},
{
+ xtype: 'pveUserView',
title: 'Users',
- id: 'users',
- html: 'users ' + clusterid
+ id: 'users'
},
{
title: 'Groups',
@@ -150,12 +243,12 @@
html: 'permissions ' + clusterid
},
{
- xtype: 'pveClusterRoleView',
+ xtype: 'pveRoleView',
title: 'Roles',
id: 'roles'
},
{
- xtype: 'pveClusterAuthView',
+ xtype: 'pveAuthView',
title: 'Authentication',
id: 'domains'
},
More information about the pve-devel
mailing list