[pve-devel] [PATCH pve-manager] Improve HA UI for users with restricted permissions

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Oct 30 15:15:00 CET 2015


Only show edit dialogs for HA resources and groups when an user
has the privileges to edit them.
---
 www/manager/ha/Groups.js    | 8 ++++++++
 www/manager/ha/Resources.js | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/www/manager/ha/Groups.js b/www/manager/ha/Groups.js
index 786327e..e596c00 100644
--- a/www/manager/ha/Groups.js
+++ b/www/manager/ha/Groups.js
@@ -5,6 +5,8 @@ Ext.define('PVE.ha.GroupsView', {
     initComponent : function() {
 	var me = this;
 
+	var caps = Ext.state.Manager.get('GuiCap');
+
 	var store = new Ext.data.Store({
 	    model: 'pve-ha-groups',
 	    sorters: { 
@@ -67,6 +69,7 @@ Ext.define('PVE.ha.GroupsView', {
 	    tbar: [
 		{
 		    text: gettext('Create'),
+		    disabled: !caps.nodes['Sys.Console'],
 		    handler: function() {
 			var win = Ext.create('PVE.ha.GroupEdit',{});
 			win.on('destroy', reload);
@@ -110,6 +113,11 @@ Ext.define('PVE.ha.GroupsView', {
 	    ],
 	    listeners: {
 		show: reload,
+		beforeselect: function(grid, record, index, eOpts) {
+		    if (!caps.nodes['Sys.Console']) {
+			return false;
+		    }
+		},
 		itemdblclick: run_editor
 	    }
 	});
diff --git a/www/manager/ha/Resources.js b/www/manager/ha/Resources.js
index a8212bd..495f039 100644
--- a/www/manager/ha/Resources.js
+++ b/www/manager/ha/Resources.js
@@ -5,6 +5,8 @@ Ext.define('PVE.ha.ResourcesView', {
     initComponent : function() {
 	var me = this;
 
+	var caps = Ext.state.Manager.get('GuiCap');
+
 	var store = new Ext.data.Store({
 	    model: 'pve-ha-resources',
 	    proxy: {
@@ -93,6 +95,7 @@ Ext.define('PVE.ha.ResourcesView', {
 	    tbar: [
 		{
 		    text: gettext('Add'),
+		    disabled: !caps.nodes['Sys.Console'],
 		    handler: function() {
 			var win = Ext.create('PVE.ha.VMResourceEdit',{});
 			win.on('destroy', reload);
@@ -135,6 +138,11 @@ Ext.define('PVE.ha.ResourcesView', {
 	    ],
 	    listeners: {
 		show: reload,
+		beforeselect: function(grid, record, index, eOpts) {
+		    if (!caps.nodes['Sys.Console']) {
+			return false;
+		    }
+		},
 		itemdblclick: run_editor
 	    }
 	});
-- 
2.1.4




More information about the pve-devel mailing list