Commit 76f0404512f9e275d65f8b86cb5f9eba9a182646
1 parent
b5f245c4
Exists in
master
and in
29 other branches
Use select instead of radio button to choose display options
(ActionItem3037)
Showing
4 changed files
with
18 additions
and
16 deletions
Show diff stats
app/models/block.rb
... | ... | @@ -185,12 +185,12 @@ class Block < ActiveRecord::Base |
185 | 185 | 'never' => __('Don\'t display'), |
186 | 186 | } |
187 | 187 | |
188 | - def display_options | |
188 | + def display_options_available | |
189 | 189 | DISPLAY_OPTIONS.keys |
190 | 190 | end |
191 | 191 | |
192 | - def display_option_label(option) | |
193 | - DISPLAY_OPTIONS[option] | |
192 | + def display_options | |
193 | + DISPLAY_OPTIONS.slice(*display_options_available) | |
194 | 194 | end |
195 | 195 | |
196 | 196 | def display_user_options | ... | ... |
app/models/main_block.rb
app/views/box_organizer/edit.rhtml
... | ... | @@ -7,13 +7,10 @@ |
7 | 7 | |
8 | 8 | <%= render :partial => partial_for_class(@block.class) %> |
9 | 9 | |
10 | - <%= labelled_form_field _('Display this block:'), '' %> | |
11 | - <div style='margin-left: 10px'> | |
12 | - <% @block.display_options.each do |option| %> | |
13 | - <%= radio_button(:block, :display, option) %> | |
14 | - <%= label_tag("block_display_#{option}", _(@block.display_option_label(option))) %> | |
15 | - <br/> | |
16 | - <% end %> | |
10 | + <div class="display"> | |
11 | + <%= labelled_form_field _('Display this block:'), | |
12 | + select_tag('block[display]', options_from_collection_for_select(@block.display_options, :first, :last, @block.display)) | |
13 | + %> | |
17 | 14 | </div> |
18 | 15 | <div class="display_user"> |
19 | 16 | <%= labelled_form_field _('Display to users:'), '' %> | ... | ... |
test/functional/profile_design_controller_test.rb
... | ... | @@ -173,7 +173,8 @@ class ProfileDesignControllerTest < ActionController::TestCase |
173 | 173 | should 'have options to display blocks' do |
174 | 174 | get :edit, :profile => 'designtestuser', :id => @b1.id |
175 | 175 | %w[always home_page_only except_home_page never].each do |option| |
176 | - assert_tag :input, :attributes => { :type => 'radio', :value => option} | |
176 | + assert_tag :select, :attributes => {:name => 'block[display]'}, | |
177 | + :descendant => {:tag => 'option', :attributes => {:value => option}} | |
177 | 178 | end |
178 | 179 | end |
179 | 180 | |
... | ... | @@ -302,22 +303,26 @@ class ProfileDesignControllerTest < ActionController::TestCase |
302 | 303 | |
303 | 304 | should 'not edit main block with never option' do |
304 | 305 | get :edit, :profile => 'designtestuser', :id => @b4.id |
305 | - assert_no_tag :input, :attributes => { :type => 'radio', :value => 'never'} | |
306 | + assert_no_tag :select, :attributes => {:name => 'block[display]'}, | |
307 | + :descendant => {:tag => 'option', :attributes => {:value => 'never'}} | |
306 | 308 | end |
307 | 309 | |
308 | 310 | should 'not edit main block with home_page_only option' do |
309 | 311 | get :edit, :profile => 'designtestuser', :id => @b4.id |
310 | - assert_no_tag :input, :attributes => { :type => 'radio', :value => 'home_page_only'} | |
312 | + assert_no_tag :select, :attributes => {:name => 'block[display]'}, | |
313 | + :descendant => {:tag => 'option', :attributes => {:value => 'home_page_only'}} | |
311 | 314 | end |
312 | 315 | |
313 | 316 | should 'edit main block with always option' do |
314 | 317 | get :edit, :profile => 'designtestuser', :id => @b4.id |
315 | - assert_tag :input, :attributes => { :type => 'radio', :value => 'always'} | |
318 | + assert_tag :select, :attributes => {:name => 'block[display]'}, | |
319 | + :descendant => {:tag => 'option', :attributes => {:value => 'always'}} | |
316 | 320 | end |
317 | 321 | |
318 | 322 | should 'edit main block with except_home_page option' do |
319 | 323 | get :edit, :profile => 'designtestuser', :id => @b4.id |
320 | - assert_tag :input, :attributes => { :type => 'radio', :value => 'except_home_page'} | |
324 | + assert_tag :select, :attributes => {:name=> 'block[display]'}, | |
325 | + :descendant => {:tag => 'option', :attributes => {:value => 'except_home_page'}} | |
321 | 326 | end |
322 | 327 | |
323 | 328 | ... | ... |