Commit 8c0361183a793ffd84d5f684bf85fa72d218f32c
Exists in
master
and in
29 other branches
Merge remote-tracking branch 'participa/AI2914-main_block_options' into next
Showing
5 changed files
with
50 additions
and
16 deletions
Show diff stats
app/models/block.rb
... | ... | @@ -40,7 +40,7 @@ class Block < ActiveRecord::Base |
40 | 40 | if context[:article] |
41 | 41 | return context[:article] != owner.home_page |
42 | 42 | else |
43 | - return context[:request_path] != '/' + owner.identifier | |
43 | + return context[:request_path] != '/' + (owner.kind_of?(Profile) ? owner.identifier : '') | |
44 | 44 | end |
45 | 45 | end |
46 | 46 | end |
... | ... | @@ -153,4 +153,19 @@ class Block < ActiveRecord::Base |
153 | 153 | } |
154 | 154 | end |
155 | 155 | |
156 | + DISPLAY_OPTIONS = { | |
157 | + 'always' => __('In all pages'), | |
158 | + 'home_page_only' => __('Only in the homepage'), | |
159 | + 'except_home_page' => __('In all pages, except in the homepage'), | |
160 | + 'never' => __('Don\'t display'), | |
161 | + } | |
162 | + | |
163 | + def display_options | |
164 | + DISPLAY_OPTIONS.keys | |
165 | + end | |
166 | + | |
167 | + def display_option_label(option) | |
168 | + DISPLAY_OPTIONS[option] | |
169 | + end | |
170 | + | |
156 | 171 | end | ... | ... |
app/models/main_block.rb
app/views/box_organizer/edit.rhtml
... | ... | @@ -9,17 +9,11 @@ |
9 | 9 | |
10 | 10 | <%= labelled_form_field _('Display this block:'), '' %> |
11 | 11 | <div style='margin-left: 10px'> |
12 | - <%= radio_button(:block, :display, 'always') %> | |
13 | - <%= label_tag('block_display_always', _('In all pages')) %> | |
14 | - <br/> | |
15 | - <%= radio_button(:block, :display, 'home_page_only') %> | |
16 | - <%= label_tag('block_display_home_page_only', _('Only in the homepage')) %> | |
17 | - <br/> | |
18 | - <%= radio_button(:block, :display, 'except_home_page') %> | |
19 | - <%= label_tag('block_display_except_home_page', _('In all pages, except in the homepage')) %> | |
20 | - <br/> | |
21 | - <%= radio_button(:block, :display, 'never') %> | |
22 | - <%= label_tag('block_display_never', _("Don't display")) %> | |
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 %> | |
23 | 17 | </div> |
24 | 18 | |
25 | 19 | <%= labelled_form_field(_('Show for:'), select(:block, :language, [ [ _('all languages'), 'all']] + environment.locales.map {|key, value| [value, key]} )) %> | ... | ... |
test/functional/profile_design_controller_test.rb
... | ... | @@ -300,6 +300,27 @@ class ProfileDesignControllerTest < ActionController::TestCase |
300 | 300 | assert !@controller.instance_variable_get('@side_block_types').include?(CustomBlock8) |
301 | 301 | end |
302 | 302 | |
303 | + should 'not edit main block with never option' do | |
304 | + get :edit, :profile => 'designtestuser', :id => @b4.id | |
305 | + assert_no_tag :input, :attributes => { :type => 'radio', :value => 'never'} | |
306 | + end | |
307 | + | |
308 | + should 'not edit main block with home_page_only option' do | |
309 | + get :edit, :profile => 'designtestuser', :id => @b4.id | |
310 | + assert_no_tag :input, :attributes => { :type => 'radio', :value => 'home_page_only'} | |
311 | + end | |
312 | + | |
313 | + should 'edit main block with always option' do | |
314 | + get :edit, :profile => 'designtestuser', :id => @b4.id | |
315 | + assert_tag :input, :attributes => { :type => 'radio', :value => 'always'} | |
316 | + end | |
317 | + | |
318 | + should 'edit main block with except_home_page option' do | |
319 | + get :edit, :profile => 'designtestuser', :id => @b4.id | |
320 | + assert_tag :input, :attributes => { :type => 'radio', :value => 'except_home_page'} | |
321 | + end | |
322 | + | |
323 | + | |
303 | 324 | ###################################################### |
304 | 325 | # END - tests for BoxOrganizerController features |
305 | 326 | ###################################################### | ... | ... |
test/unit/main_block_test.rb
... | ... | @@ -11,8 +11,8 @@ class MainBlockTest < ActiveSupport::TestCase |
11 | 11 | ok("MainBlock must not have a content") { MainBlock.new.content.blank? } |
12 | 12 | end |
13 | 13 | |
14 | - should 'not be editable' do | |
15 | - assert !MainBlock.new.editable? | |
14 | + should 'be editable' do | |
15 | + assert MainBlock.new.editable? | |
16 | 16 | end |
17 | 17 | |
18 | 18 | end | ... | ... |