108 |
108 |
session[:page_layout] = @blocks
|
109 |
109 |
%w(top left right).each {|f| session[:page_layout][f] ||= [] }
|
110 |
110 |
@block_options = []
|
111 |
|
BLOCKS.each {|k, v| @block_options << [l(v), k]}
|
|
111 |
BLOCKS.each {|k, v| @block_options << [l(v), k.dasherize]}
|
112 |
112 |
end
|
113 |
113 |
|
114 |
114 |
# Add a block to user's page
|
115 |
115 |
# The block is added on top of the page
|
116 |
116 |
# params[:block] : id of the block to add
|
117 |
117 |
def add_block
|
118 |
|
block = params[:block]
|
|
118 |
block = params[:block].to_s.underscore
|
119 |
119 |
render(:nothing => true) and return unless block && (BLOCKS.keys.include? block)
|
120 |
120 |
@user = User.current
|
121 |
121 |
# remove if already present in a group
|
... | ... | |
128 |
128 |
# Remove a block to user's page
|
129 |
129 |
# params[:block] : id of the block to remove
|
130 |
130 |
def remove_block
|
131 |
|
block = params[:block]
|
|
131 |
block = params[:block].to_s.underscore
|
132 |
132 |
# remove block in all groups
|
133 |
133 |
%w(top left right).each {|f| (session[:page_layout][f] ||= []).delete block }
|
134 |
134 |
render :nothing => true
|
... | ... | |
139 |
139 |
# params[:list-(top|left|right)] : array of block ids of the group
|
140 |
140 |
def order_blocks
|
141 |
141 |
group = params[:group]
|
142 |
|
group_items = params["list-#{group}"]
|
143 |
|
if group_items and group_items.is_a? Array
|
144 |
|
# remove group blocks if they are presents in other groups
|
145 |
|
%w(top left right).each {|f|
|
146 |
|
session[:page_layout][f] = (session[:page_layout][f] || []) - group_items
|
147 |
|
}
|
148 |
|
session[:page_layout][group] = group_items
|
|
142 |
if group.is_a?(Array)
|
|
143 |
group_items = params["list-#{group}"].collect(&:underscore)
|
|
144 |
if group_items and group_items.is_a? Array
|
|
145 |
# remove group blocks if they are presents in other groups
|
|
146 |
%w(top left right).each {|f|
|
|
147 |
session[:page_layout][f] = (session[:page_layout][f] || []) - group_items
|
|
148 |
}
|
|
149 |
session[:page_layout][group] = group_items
|
|
150 |
end
|
149 |
151 |
end
|
150 |
152 |
render :nothing => true
|
151 |
153 |
end
|
Allow underscore in block partial name (#2840).