incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mfoj...@redhat.com
Subject [PATCH core] Removed Javascript helper for calling DELETE and POST requests since Sinatra can handle this itself using method overide. (thx. Marios)
Date Thu, 25 Nov 2010 11:44:34 GMT
From: Michal Fojtik <mfojtik@redhat.com>

---
 .../lib/deltacloud/helpers/application_helper.rb   |   12 +++++++++
 server/public/javascripts/application.js           |   26 --------------------
 server/public/stylesheets/compiled/application.css |    2 +
 server/views/buckets/index.html.haml               |    2 +-
 server/views/buckets/show.html.haml                |    2 +-
 server/views/instances/index.html.haml             |    2 +-
 server/views/instances/show.html.haml              |    2 +-
 server/views/keys/index.html.haml                  |    2 +-
 server/views/load_balancers/index.html.haml        |    2 +-
 server/views/load_balancers/show.html.haml         |    2 +-
 10 files changed, 21 insertions(+), 33 deletions(-)

diff --git a/server/lib/deltacloud/helpers/application_helper.rb b/server/lib/deltacloud/helpers/application_helper.rb
index 00e8bc9..f538714 100644
--- a/server/lib/deltacloud/helpers/application_helper.rb
+++ b/server/lib/deltacloud/helpers/application_helper.rb
@@ -130,4 +130,16 @@ module ApplicationHelper
     "<pem><![CDATA[#{text.strip}]]></pem>"
   end
 
+  def link_to_action(action, url, method)
+    return link_to(action, url) if method.eql? :get
+    capture_haml do
+      haml_tag :form, :method => :post, :action => url, :class => :link do
+        haml_tag :input, :type => :hidden, :name => '_method', :value => method
+        haml_tag :button, :type => :submit do 
+          haml_concat action
+        end
+      end
+    end
+  end
+
 end
diff --git a/server/public/javascripts/application.js b/server/public/javascripts/application.js
index 509768b..5ee0f7f 100644
--- a/server/public/javascripts/application.js
+++ b/server/public/javascripts/application.js
@@ -3,32 +3,6 @@
 
 $(document).ready(function() {
 
-  $("a.delete").click(function(e) {
-    var original_url = $(this).attr('href')
-    $.ajax({
-      url : original_url,
-      type : 'DELETE',
-      cache : false,
-      success: function(data) {
-        window.location = original_url.replace(/\/([\w_-]+)$/i, '')
-      }
-    })
-    return false;
-  })
-
-  $("a.post").click(function(e) {
-    var original_url = $(this).attr('href')
-    $.ajax({
-      url : original_url,
-      type : 'POST',
-      dataType : 'xml',
-      success: function(data) {
-        window.location = original_url.replace(/\/([\w_-]+)$/i, '')
-      }
-    })
-    return false;
-  })
-
   if ($('select#list_instances').length) {
     $('select#list_instances').html("<option>Loading instances...</option>");
     $.getJSON("/api/instances?state=RUNNING&format=json",
diff --git a/server/public/stylesheets/compiled/application.css b/server/public/stylesheets/compiled/application.css
index 969f712..569007b 100644
--- a/server/public/stylesheets/compiled/application.css
+++ b/server/public/stylesheets/compiled/application.css
@@ -611,3 +611,5 @@ input[type='radio'] {
 table.docs { border : 1px solid #ccc }
 table.docs td { border : 1px solid #ccc }
 table.docs table td { border : none }
+
+td form.link { display : inline }
diff --git a/server/views/buckets/index.html.haml b/server/views/buckets/index.html.haml
index 781f5c7..279d06d 100644
--- a/server/views/buckets/index.html.haml
+++ b/server/views/buckets/index.html.haml
@@ -30,4 +30,4 @@
           -bucket.blob_list.each do |blob|
             = blob
         %td
-          =link_to 'Delete', destroy_bucket_url(bucket.name), :class => 'delete'
+          =link_to_action 'Delete', destroy_bucket_url(bucket.name), :delete
diff --git a/server/views/buckets/show.html.haml b/server/views/buckets/show.html.haml
index d704867..dd85670 100644
--- a/server/views/buckets/show.html.haml
+++ b/server/views/buckets/show.html.haml
@@ -16,4 +16,4 @@
         = link_to blob, bucket_url(@bucket.name) + '/' + blob
     %dt delete bucket (must be empty)
     %dd
-      =link_to 'Delete', destroy_bucket_url(@bucket.name), :class => 'delete'
+      =link_to_action 'Delete', destroy_bucket_url(@bucket.name), :delete
diff --git a/server/views/instances/index.html.haml b/server/views/instances/index.html.haml
index 679b9b0..2bd4607 100644
--- a/server/views/instances/index.html.haml
+++ b/server/views/instances/index.html.haml
@@ -27,4 +27,4 @@
           = instance.state
         %td
           -instance.actions.each do |action|
-            =link_to action, self.send(:"#{action}_instance_url", instance.id), :class =>
instance_action_method(action)
+            =link_to_action action, self.send(:"#{action}_instance_url", instance.id), instance_action_method(action)
diff --git a/server/views/instances/show.html.haml b/server/views/instances/show.html.haml
index f27dcb7..0a6e115 100644
--- a/server/views/instances/show.html.haml
+++ b/server/views/instances/show.html.haml
@@ -40,4 +40,4 @@
     %dt
     %dd
       -@instance.actions.each do |action|
-        =link_to action, self.send(:"#{action}_instance_url", @instance.id), :class =>
instance_action_method(action)
+        =link_to_action action, self.send(:"#{action}_instance_url", @instance.id), instance_action_method(action)
diff --git a/server/views/keys/index.html.haml b/server/views/keys/index.html.haml
index 02f6b0c..6f246a4 100644
--- a/server/views/keys/index.html.haml
+++ b/server/views/keys/index.html.haml
@@ -18,7 +18,7 @@
             = "#{key.username} - #{key.password}"
         %td
           - if driver.respond_to?(:destroy_key)
-            =link_to 'Destroy', destroy_key_url(key.id), :class => 'delete'
+            =link_to_action 'Destroy', destroy_key_url(key.id), :delete
   %tfoot
     - if driver.respond_to?(:create_key)
       %tr
diff --git a/server/views/load_balancers/index.html.haml b/server/views/load_balancers/index.html.haml
index 65b109c..9bd8fab 100644
--- a/server/views/load_balancers/index.html.haml
+++ b/server/views/load_balancers/index.html.haml
@@ -25,7 +25,7 @@
           - balancer.listeners.each do |listener|
             ="#{listener.protocol}[#{listener.load_balancer_port}]<br/>"
         %td
-          =link_to 'Destroy', destroy_load_balancer_url(balancer.id), :class => 'delete'
+          =link_to_action 'Destroy', destroy_load_balancer_url(balancer.id), :delete
   %tfoot
     %tr
       %td{:colspan => 6, :style => "text-align:right;"}
diff --git a/server/views/load_balancers/show.html.haml b/server/views/load_balancers/show.html.haml
index 7b6f40b..26e1766 100644
--- a/server/views/load_balancers/show.html.haml
+++ b/server/views/load_balancers/show.html.haml
@@ -25,7 +25,7 @@
       - @load_balancer.instances.each do |inst|
         %dd
           =inst.id
-          %a{:class => :post, :href => unregister_load_balancer_url(@load_balancer.id,
:instance_id => inst.id)} Delete
+          =link_to_action, 'Delete', unregister_load_balancer_url(@load_balancer.id, :instance_id
=> inst.id), :post
 
 %form{:action => url_for("/api/load_balancers/#{@load_balancer.id}/register"), :method
=> :post}
   %p
-- 
1.7.3.2


Mime
View raw message