You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by ma...@apache.org on 2012/05/25 17:30:18 UTC

git commit: Reinstate the post /api call for changing provider in HTML UI /api when available. Also adds changing of driver.

Updated Branches:
  refs/heads/master 3ba239871 -> 3952b80d4


Reinstate the post /api call for changing provider in HTML UI
/api when available. Also adds changing of driver.

(originally addressed in JIRA DTACLOUD-105 (EC2 Regions))


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/3952b80d
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/3952b80d
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/3952b80d

Branch: refs/heads/master
Commit: 3952b80d4592bd7cad973365ba73080573a6a5b2
Parents: 3ba2398
Author: marios <ma...@redhat.com>
Authored: Fri May 25 18:26:50 2012 +0300
Committer: marios <ma...@redhat.com>
Committed: Fri May 25 18:26:50 2012 +0300

----------------------------------------------------------------------
 server/lib/deltacloud/server.rb |   17 +++++++++++++++++
 server/views/api/show.html.haml |   12 ++++++++++++
 server/views/layout.html.haml   |    2 +-
 3 files changed, 30 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3952b80d/server/lib/deltacloud/server.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/server.rb b/server/lib/deltacloud/server.rb
index fced64b..e26f427 100644
--- a/server/lib/deltacloud/server.rb
+++ b/server/lib/deltacloud/server.rb
@@ -53,6 +53,23 @@ module Deltacloud
       end
     end
 
+    post Deltacloud[:root_url] + '/?' do
+      param_driver, param_provider = params["driver"], params["provider"]
+      if param_driver
+        redirect "#{Deltacloud[:root_url]}\;driver=#{param_driver}", 301
+      elsif param_provider && param_provider != "default"
+#FIXME NEEDS A BETTER WAY OF GRABBING CURRENT DRIVER FROM MATRIX PARAMS...
+        current_matrix_driver = env["HTTP_REFERER"].match(/\;(driver)=(\w*).*$/i)
+        if current_matrix_driver
+          redirect "#{Deltacloud[:root_url]}\;driver=#{$2}\;provider=#{param_provider}", 301
+        else
+          redirect "#{Deltacloud[:root_url]}\;provider=#{param_provider}", 301
+        end
+      else
+        redirect "#{Deltacloud[:root_url]}", 301
+      end
+    end
+
   end
 end
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3952b80d/server/views/api/show.html.haml
----------------------------------------------------------------------
diff --git a/server/views/api/show.html.haml b/server/views/api/show.html.haml
index 4630a87..ef666d8 100644
--- a/server/views/api/show.html.haml
+++ b/server/views/api/show.html.haml
@@ -8,6 +8,18 @@
       %li
         %a{ :href => api_url_for(c.collection_name),  :'data-icon' => "arrow-r"}=c.collection_name.to_s.gsub('_', ' ').titlecase
 
+
+- unless Deltacloud::Drivers.driver_config.nil?
+  %div{ :'data-role' => :footer, :'data-theme' => 'a'}
+    %form{ :action => settings.root_url, :method => :post, :'data-ajax' => 'false'}
+      %fieldset{ :'data-type' => "horizontal", :'data-role' => "controlgroup", :id => "providers" }
+        %select{:name => 'driver', :'data-inline' => 'true', :'data-native-menu' => 'false'}
+          %option{ :value => "#{driver_symbol.to_s}"} #{driver_symbol.to_s}
+          - Deltacloud::Drivers.driver_config.keys.each do |driver|
+            %option{ :value => driver } #{driver}
+        %button{ :type => :submit, :'data-inline' => "true"} Change Driver
+
+
 - unless driver.configured_providers.empty?
   %div{ :'data-role' => :footer, :'data-theme' => 'a'}
     %form{ :action => settings.root_url, :method => :post, :'data-ajax' => 'false'}

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3952b80d/server/views/layout.html.haml
----------------------------------------------------------------------
diff --git a/server/views/layout.html.haml b/server/views/layout.html.haml
index 639c618..4806d59 100644
--- a/server/views/layout.html.haml
+++ b/server/views/layout.html.haml
@@ -18,7 +18,7 @@
         %div{ 'data-role' => :navbar}
           %ul
             %li
-              %a{ :'data-icon' => 'home', :href => api_url_for(''), :'data-ajax' => 'false'} Home
+              %a{ :'data-icon' => 'home', :href => "#{api_url_for('').chomp("/")}", :'data-ajax' => 'false'} Home
             %li=link_to_format(:xml)
             %li=link_to_format(:json)
         %div{ 'data-role' => :header, 'data-theme' => 'a' }