You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2012/01/07 01:33:52 UTC
svn commit: r1228521 - in /deltacloud/trunk/server: lib/deltacloud/server.rb
views/api/show.html.haml
Author: lutter
Date: Sat Jan 7 00:33:51 2012
New Revision: 1228521
URL: http://svn.apache.org/viewvc?rev=1228521&view=rev
Log:
Preserve selected driver in HTML /api when switching providers
The 'driver' matrix parameter needs to be included in the URL, in addition
to the newly selected provider in the POST /api handler
Modified:
deltacloud/trunk/server/lib/deltacloud/server.rb
deltacloud/trunk/server/views/api/show.html.haml
Modified: deltacloud/trunk/server/lib/deltacloud/server.rb
URL: http://svn.apache.org/viewvc/deltacloud/trunk/server/lib/deltacloud/server.rb?rev=1228521&r1=1228520&r2=1228521&view=diff
==============================================================================
--- deltacloud/trunk/server/lib/deltacloud/server.rb (original)
+++ deltacloud/trunk/server/lib/deltacloud/server.rb Sat Jan 7 00:33:51 2012
@@ -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
Modified: deltacloud/trunk/server/views/api/show.html.haml
URL: http://svn.apache.org/viewvc/deltacloud/trunk/server/views/api/show.html.haml?rev=1228521&r1=1228520&r2=1228521&view=diff
==============================================================================
--- deltacloud/trunk/server/views/api/show.html.haml (original)
+++ deltacloud/trunk/server/views/api/show.html.haml Sat Jan 7 00:33:51 2012
@@ -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" }