[PATCH conductor 5/7] valdate :details_tab param against valid values before passing into render

Mo Morsi mmorsi at redhat.com
Wed May 9 12:56:01 UTC 2012


---
 .../controllers/hardware_profiles_controller.rb    |    2 ++
 src/app/controllers/instances_controller.rb        |    2 ++
 src/app/controllers/providers_controller.rb        |    4 ++++
 src/app/controllers/users_controller.rb            |    3 ++-
 4 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/app/controllers/hardware_profiles_controller.rb b/src/app/controllers/hardware_profiles_controller.rb
index dc19c13..aff1c2b 100644
--- a/src/app/controllers/hardware_profiles_controller.rb
+++ b/src/app/controllers/hardware_profiles_controller.rb
@@ -52,6 +52,8 @@ class HardwareProfilesController < ApplicationController
 
     @tab_captions = [t('hardware_profiles.tab_captions.properties'), t('hardware_profiles.tab_captions.history'), t('hardware_profiles.tab_captions.matching_provider_hwp')]
     @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab]
+    @details_tab = 'properties' unless['properties', 'history',
+                                       'matching_provider_hardware_profiles'].include?(@details_tab)
     properties
     find_matching_provider_hardware_profiles
     save_breadcrumb(hardware_profile_path(@hardware_profile), @hardware_profile.name)
diff --git a/src/app/controllers/instances_controller.rb b/src/app/controllers/instances_controller.rb
index 85a5235..8e129b1 100644
--- a/src/app/controllers/instances_controller.rb
+++ b/src/app/controllers/instances_controller.rb
@@ -48,6 +48,8 @@ class InstancesController < ApplicationController
     save_breadcrumb(instance_path(@instance), @instance.name)
     @events = @instance.events.descending_by_created_at.paginate(:page => params[:page] || 1)
     @view = params[:details_tab].blank? ? 'properties' : params[:details_tab]
+    @details_tab = 'properties' unless ['properties', 'history',
+                                        'parameters', 'permissions'].include?(@details_tab)
     @tabs = [
       {:name => t('properties'), :view => @view, :id => 'properties'},
       {:name => t('instances.parameters.config_parameters'), :view => 'parameters', :id => 'parameters'},
diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb
index 41cf5d5..5fe9af3 100644
--- a/src/app/controllers/providers_controller.rb
+++ b/src/app/controllers/providers_controller.rb
@@ -80,6 +80,9 @@ class ProvidersController < ApplicationController
     require_privilege(Privilege::VIEW, @provider)
     @tab_captions = [t("properties"), t('hw_profiles'), t('realm_s'), t("provider_accounts.index.provider_accounts"), t('services'), t('history'), t('permissions')]
     @details_tab = params[:details_tab].blank? ? t("properties") : params[:details_tab]
+    @details_tab = 'properties' unless ['properties', 'hw_profiles', 'realms',
+                                        'provider_accounts', 'services', 'history',
+                                        'permissions'].include?(@details_tab)
 
     if params.delete :test_provider
       test_connection(@provider)
@@ -261,6 +264,7 @@ class ProvidersController < ApplicationController
     ]
     add_permissions_tab(@provider, "edit_")
     details_tab_name = params[:details_tab].blank? ? 'connectivity' : params[:details_tab]
+    details_tab_name = 'connectivity' unless ['connectivity', 'accounts', 'realms'].include?(details_tab_name)
     @details_tab = @tabs.find {|t| t[:id] == details_tab_name} || @tabs.first[:name].downcase
 
     @provider_accounts = @provider.provider_accounts.apply_filters(:preset_filter_id => params[:provider_accounts_preset_filter], :search_filter => params[:provider_accounts_search]).list_for_user(current_user, Privilege::VIEW) if @details_tab[:id] == 'accounts'
diff --git a/src/app/controllers/users_controller.rb b/src/app/controllers/users_controller.rb
index 010ebe1..4afa4d9 100644
--- a/src/app/controllers/users_controller.rb
+++ b/src/app/controllers/users_controller.rb
@@ -72,7 +72,8 @@ class UsersController < ApplicationController
     @quota_resources = @user.quota.quota_resources
     save_breadcrumb(user_path(@user), @user.name)
     @tab_captions = ['Properties']
-    @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab]
+    #@details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab]
+    @details_tab = 'properties' # currently the only supported details tab
     respond_to do |format|
       format.html
       format.js do
-- 
1.7.6.5




More information about the aeolus-devel mailing list