diff --git a/app/models/environment.rb b/app/models/environment.rb index f543ef5..eeec9e0 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -43,6 +43,7 @@ class Environment < ActiveRecord::Base 'enterprise_activation' => _('Enable activation of enterprises'), 'warn_obsolete_browser' => _('Enable warning of obsolete browser'), + 'wysiwyg_editor_for_environment_home' => _('Use WYSIWYG editor to edit environment home page'), } end @@ -385,7 +386,8 @@ class Environment < ActiveRecord::Base validates_format_of :contact_email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda { |record| ! record.contact_email.blank? }) - xss_terminate :only => [ :description, :message_for_disabled_enterprise ], :with => 'white_list' + xss_terminate :only => [ :message_for_disabled_enterprise ], :with => 'white_list' + # ################################################# # Business logic in general diff --git a/app/views/admin_panel/site_info.rhtml b/app/views/admin_panel/site_info.rhtml index 45da910..bae348a 100644 --- a/app/views/admin_panel/site_info.rhtml +++ b/app/views/admin_panel/site_info.rhtml @@ -1,10 +1,12 @@

<%= _('Site info') %>

-<%= render :file => 'shared/tiny_mce' %> +<% if @environment.enabled?('wysiwyg_editor_for_environment_home') %> + <%= render :file => 'shared/tiny_mce' %> +<% end %> <% labelled_form_for :environment, @environment do |f| %> - <%= f.text_area :description, :cols => 40, :style => 'width: 90%' %> + <%= labelled_form_field _('Homepage content'), text_area(:environment, :description, :cols => 40, :style => 'width: 90%') %> <% button_bar do %> <%= submit_button(:save, _('Save')) %> diff --git a/test/functional/admin_panel_controller_test.rb b/test/functional/admin_panel_controller_test.rb index 640443c..957d151 100644 --- a/test/functional/admin_panel_controller_test.rb +++ b/test/functional/admin_panel_controller_test.rb @@ -140,4 +140,17 @@ class AdminPanelControllerTest < Test::Unit::TestCase assert_equal profile_template, e.enterprise_template end + + should 'not use WYSWYIG if disabled' do + e = Environment.default; e.disable('wysiwyg_editor_for_environment_home'); e.save! + get :site_info + assert_no_tag :tag => "script", :content => /tinyMCE\.init/ + end + + should 'use WYSWYIG if enabled' do + e = Environment.default; e.enable('wysiwyg_editor_for_environment_home'); e.save! + get :site_info + assert_tag :tag => "script", :content => /tinyMCE\.init/ + end + end -- libgit2 0.21.2