]> source.dussan.org Git - redmine.git/commitdiff
Allow underscore in block partial name (#2840).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 26 Feb 2009 16:15:07 +0000 (16:15 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 26 Feb 2009 16:15:07 +0000 (16:15 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2528 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/my_controller.rb
app/views/my/_block.rhtml

index 5e1b9d2c8b4fce9886524149d27cd0906ca57f40..ae063d60a8ca1084fcfb7a0938e793324055bbca 100644 (file)
@@ -108,14 +108,14 @@ class MyController < ApplicationController
     session[:page_layout] = @blocks
     %w(top left right).each {|f| session[:page_layout][f] ||= [] }
     @block_options = []
-    BLOCKS.each {|k, v| @block_options << [l(v), k]}
+    BLOCKS.each {|k, v| @block_options << [l(v), k.dasherize]}
   end
   
   # Add a block to user's page
   # The block is added on top of the page
   # params[:block] : id of the block to add
   def add_block
-    block = params[:block]
+    block = params[:block].to_s.underscore
     render(:nothing => true) and return unless block && (BLOCKS.keys.include? block)
     @user = User.current
     # remove if already present in a group
@@ -128,7 +128,7 @@ class MyController < ApplicationController
   # Remove a block to user's page
   # params[:block] : id of the block to remove
   def remove_block
-    block = params[:block]
+    block = params[:block].to_s.underscore
     # remove block in all groups
     %w(top left right).each {|f| (session[:page_layout][f] ||= []).delete block }
     render :nothing => true
@@ -139,13 +139,15 @@ class MyController < ApplicationController
   # params[:list-(top|left|right)] : array of block ids of the group
   def order_blocks
     group = params[:group]
-    group_items = params["list-#{group}"]
-    if group_items and group_items.is_a? Array
-      # remove group blocks if they are presents in other groups
-      %w(top left right).each {|f|
-        session[:page_layout][f] = (session[:page_layout][f] || []) - group_items
-      }
-      session[:page_layout][group] = group_items    
+    if group.is_a?(Array)
+      group_items = params["list-#{group}"].collect(&:underscore)
+      if group_items and group_items.is_a? Array
+        # remove group blocks if they are presents in other groups
+        %w(top left right).each {|f|
+          session[:page_layout][f] = (session[:page_layout][f] || []) - group_items
+        }
+        session[:page_layout][group] = group_items    
+      end
     end
     render :nothing => true
   end
index bb5dd1f9ffd17d2867dd966245a57841a49b5c6d..b8e7192b8d4f316043c9a604b513e82bfc9e6f2e 100644 (file)
@@ -1,9 +1,9 @@
-<div id="block_<%= block_name %>" class="mypage-box">
+<div id="block_<%= block_name.dasherize %>" class="mypage-box">
 
     <div style="float:right;margin-right:16px;z-index:500;">
     <%= link_to_remote "", {
         :url => { :action => "remove_block", :block => block_name },
-        :complete => "removeBlock('block_#{block_name}')" },
+        :complete => "removeBlock('block_#{block_name.dasherize}')" },
         :class => "close-icon"
          %>        
     </div>