diff --git a/app/helpers/boxes_helper.rb b/app/helpers/boxes_helper.rb index 41cd1ab..7dfe5b3 100644 --- a/app/helpers/boxes_helper.rb +++ b/app/helpers/boxes_helper.rb @@ -151,13 +151,14 @@ module BoxesHelper buttons << icon_button(:down, _('Move block down'), { :action => 'move_block_down' ,:id => block.id }, { :method => 'post'}) end + holder = block.owner # move to opposite side # FIXME too much hardcoded stuff - if profile.layout_template == 'default' + if holder.layout_template == 'default' if block.box.position == 2 # area 2, left side => move to right side - buttons << icon_button('right', _('Move to the opposite side'), { :action => 'move_block', :target => 'end-of-box-' + profile.boxes[2].id.to_s, :id => block.id }, :method => 'post' ) + buttons << icon_button('right', _('Move to the opposite side'), { :action => 'move_block', :target => 'end-of-box-' + holder.boxes[2].id.to_s, :id => block.id }, :method => 'post' ) elsif block.box.position == 3 # area 3, right side => move to left side - buttons << icon_button('left', _('Move to the opposite side'), { :action => 'move_block', :target => 'end-of-box-' + profile.boxes[1].id.to_s, :id => block.id }, :method => 'post' ) + buttons << icon_button('left', _('Move to the opposite side'), { :action => 'move_block', :target => 'end-of-box-' + holder.boxes[1].id.to_s, :id => block.id }, :method => 'post' ) end end diff --git a/app/models/environment.rb b/app/models/environment.rb index 74195c6..c6488c8 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -306,6 +306,14 @@ class Environment < ActiveRecord::Base self[:theme] || 'default' end + def layout_template + settings[:layout_template] || 'default' + end + + def layout_template=(value) + settings[:layout_template] = value + end + def enterprise_template Enterprise.find_by_id settings[:enterprise_template_id] end diff --git a/test/functional/environment_design_controller_test.rb b/test/functional/environment_design_controller_test.rb index b58c02b..8718b7e 100644 --- a/test/functional/environment_design_controller_test.rb +++ b/test/functional/environment_design_controller_test.rb @@ -48,6 +48,9 @@ class EnvironmentDesignControllerTest < Test::Unit::TestCase end should 'create back link to environment control panel' do + Environment.default.boxes.create!.blocks << CommunitiesBlock.new + Environment.default.boxes.create!.blocks << EnterprisesBlock.new + Environment.default.boxes.create!.blocks << LoginBlock.new login_as(create_admin_user(Environment.default)) get :index diff --git a/test/unit/environment_test.rb b/test/unit/environment_test.rb index 225ef9f..856ede0 100644 --- a/test/unit/environment_test.rb +++ b/test/unit/environment_test.rb @@ -419,4 +419,13 @@ class EnvironmentTest < Test::Unit::TestCase assert_equal true, e.disable_ssl end + should 'have a layout template' do + e = Environment.new(:layout_template => 'mytemplate') + assert_equal 'mytemplate', e.layout_template + end + + should 'have a default layout template' do + assert_equal 'default', Environment.new.layout_template + end + end -- libgit2 0.21.2