diff --git a/app/controllers/my_profile/profile_design_controller.rb b/app/controllers/my_profile/profile_design_controller.rb index a351dae..5f279e1 100644 --- a/app/controllers/my_profile/profile_design_controller.rb +++ b/app/controllers/my_profile/profile_design_controller.rb @@ -22,6 +22,7 @@ class ProfileDesignController < BoxOrganizerController if profile.enterprise? blocks << ProfileImageBlock blocks << LocalizationBlock + blocks << DisabledEnterpriseMessageBlock end # product block exclusive for enterprises in environments that permits it diff --git a/app/models/disabled_enterprise_message_block.rb b/app/models/disabled_enterprise_message_block.rb new file mode 100644 index 0000000..5069602 --- /dev/null +++ b/app/models/disabled_enterprise_message_block.rb @@ -0,0 +1,23 @@ +class DisabledEnterpriseMessageBlock < Block + + def self.description + _('Disabled enterprise message block') + end + + def help + _('Shows a message for disabled enterprises.') + end + + def default_title + _('Localization Map') + end + + def content + message = self.owner.environment.message_for_disabled_enterprise || '' + content_tag('div', message, :class => 'enterprise-disabled') + end + + def editable? + false + end +end diff --git a/public/stylesheets/blocks/disabled-enterprise-message-block.css b/public/stylesheets/blocks/disabled-enterprise-message-block.css new file mode 100644 index 0000000..b83e15b --- /dev/null +++ b/public/stylesheets/blocks/disabled-enterprise-message-block.css @@ -0,0 +1,15 @@ + +.disabled-enterprise-message-block { + text-align: center; +} + +.enterprise-disabled { + border: 1px solid #944; + text-align: left; + margin: auto; + padding: 5px; + padding-left: 10px; + min-height: 40px; + font-size: 80%; + background: url("../images/icons-app/alert.png") no-repeat 5px #ffffa9; +} diff --git a/test/unit/disabled_enterprise_message_block_test.rb b/test/unit/disabled_enterprise_message_block_test.rb new file mode 100644 index 0000000..14a2bc5 --- /dev/null +++ b/test/unit/disabled_enterprise_message_block_test.rb @@ -0,0 +1,34 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class DisabledEnterpriseMessageBlockTest < Test::Unit::TestCase + + should 'provide description' do + assert_not_equal Block.description, DisabledEnterpriseMessageBlock.description + end + + should 'display message for disabled enterprise' do + e = Environment.create(:name => 'test_env') + e.expects(:message_for_disabled_enterprise).returns('This message is for disabled enterprises') + block = DisabledEnterpriseMessageBlock.new + p = Profile.new + block.expects(:owner).returns(p) + p.expects(:environment).returns(e) + + assert_tag_in_string block.content, :tag => 'div', :content => /This message is for disabled enterprises/ + end + + should 'display nothing if environment has no message' do + e = Environment.create(:name => 'test_env') + block = DisabledEnterpriseMessageBlock.new + p = Profile.new + block.expects(:owner).returns(p) + p.expects(:environment).returns(e) + + assert_no_tag_in_string block.content, :tag => 'div', :content => /This message is for disabled enterprises/ + end + + should 'not be editable' do + assert !DisabledEnterpriseMessageBlock.new.editable? + end + +end -- libgit2 0.21.2