From: David Lutterkort <[email protected]> The 'driver' matrix parameter needs to be included in the URL, in addition to the newly selected provider in the POST /api handler
Signed-off-by: David Lutterkort <[email protected]> --- server/lib/deltacloud/server.rb | 13 +++++++------ server/views/api/show.html.haml | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/server/lib/deltacloud/server.rb b/server/lib/deltacloud/server.rb index bc9ef76..6cf0f52 100644 --- a/server/lib/deltacloud/server.rb +++ b/server/lib/deltacloud/server.rb @@ -110,6 +110,7 @@ get "#{settings.root_url}\/?" do return [401, 'Authentication failed'] unless driver.valid_credentials?(credentials) end @collections = [:drivers] + driver.supported_collections + @driver_name = driver.name unless driver.name.to_sym == DRIVER @providers = driver.configured_providers respond_to do |format| format.xml { haml :"api/show" } @@ -128,12 +129,12 @@ get "#{settings.root_url}\/?" do end post "#{settings.root_url}\/?" do - provider = params["provider"] - if provider && provider != "default" - redirect "#{settings.root_url}\;provider=#{params['provider']}", 301 - else - redirect settings.root_url, 301 - end + p = {} + ["provider", "driver"].each { |k| p[k] = params[k] if params[k] } + p.delete("provider") if p["provider"] == "default" + q = p.map { |k,v| "#{k}=#{v}" }.join(";") + q = ";" + q unless q.empty? + redirect "#{settings.root_url}#{q}", 301 end # Rabbit DSL diff --git a/server/views/api/show.html.haml b/server/views/api/show.html.haml index 0d8a0fc..1613a7c 100644 --- a/server/views/api/show.html.haml +++ b/server/views/api/show.html.haml @@ -9,6 +9,8 @@ - if @providers.size > 1 %div{ :'data-role' => :footer, :'data-theme' => 'a'} %form{ :action => settings.root_url, :method => :post, :'data-ajax' => 'false'} + - if @driver_name + %input{ :name => :driver, :type => :hidden, :value => @driver_name }/ %div{ :'data-role' => :footer, :'data-theme' => 'a' , :class => 'middle-dialog'} %label{ :for => :provider, :class => 'ui-input-text'} %select{:name => 'provider', :'data-native-menu' => "true" } -- 1.7.7.5
