From 00f8b78f9a2166a2b98968f0ab4b1c8a7f9f90c2 Mon Sep 17 00:00:00 2001 From: Daniel Molina Date: Tue, 14 Feb 2012 12:09:59 +0100 Subject: [PATCH] bug #1123: Filter Sunstone monitoring information by user --- src/sunstone/models/SunstoneServer.rb | 9 ++++++--- src/sunstone/sunstone-server.rb | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/sunstone/models/SunstoneServer.rb b/src/sunstone/models/SunstoneServer.rb index a8113bcf65..e8222d1670 100644 --- a/src/sunstone/models/SunstoneServer.rb +++ b/src/sunstone/models/SunstoneServer.rb @@ -267,7 +267,7 @@ class SunstoneServer # ############################################################################ - def get_monitoring(id, resource, monitor_resources, gid) + def get_monitoring(id, resource, monitor_resources, opts={}) watch_client = case resource when "vm","VM" OneWatchClient::VmWatchClient.new @@ -278,13 +278,16 @@ class SunstoneServer return [200, error.to_json] end + filter = {} + filter[:uid] = opts[:uid] if opts[:gid]!="0" + columns = monitor_resources.split(',') columns.map!{|e| e.to_sym} if id - rc = watch_client.resource_monitoring(id.to_i, columns) + rc = watch_client.resource_monitoring(id.to_i, columns, filter) else - rc = watch_client.total_monitoring(columns) + rc = watch_client.total_monitoring(columns, filter) end if rc.nil? diff --git a/src/sunstone/sunstone-server.rb b/src/sunstone/sunstone-server.rb index 2ece360837..985ff2338f 100755 --- a/src/sunstone/sunstone-server.rb +++ b/src/sunstone/sunstone-server.rb @@ -243,7 +243,8 @@ get '/:resource/monitor' do nil, params[:resource], params[:monitor_resources], - session[:user_gid]) + :uid => session[:user_id], + :gid => session[:user_gid]) end get '/:resource/:id/monitor' do @@ -251,7 +252,8 @@ get '/:resource/:id/monitor' do params[:id], params[:resource], params[:monitor_resources], - session[:user_gid]) + :uid => session[:user_id], + :gid => session[:user_gid]) end