noosfero | 2 new commits pushed to repository
Antonio Terceiro
gitlab at gitlab.com
Fri Feb 13 14:45:37 BRST 2015
Antonio Terceiro pushed to refs/heads/master at <a href="https://gitlab.com/noosfero/noosfero">Noosfero / noosfero</a>
Commits:
<a href="https://gitlab.com/noosfero/noosfero/commit/e645e6a1ee226c6f0eb1afe583ae4237f64606b0">e645e6a1</a> by Daniela Feitosa
Allow admins to define the number of news on portal
- - - - -
<a href="https://gitlab.com/noosfero/noosfero/commit/efed6b836732e1ab14069c9e4f1b170c1b014e61">efed6b83</a> by Antonio Terceiro
Merge branch 'portal_news_config' into 'master'
Allow admins to define the number of news on portal
See merge request !470
- - - - -
Changes:
=====================================
app/controllers/public/home_controller.rb
=====================================
--- a/app/controllers/public/home_controller.rb
+++ b/app/controllers/public/home_controller.rb
@@ -2,13 +2,13 @@ class HomeController < PublicController
def index
@has_news = false
- if environment.enabled?('use_portal_community') && environment.portal_community
+ if environment.portal_enabled
@has_news = true
@news_cache_key = environment.portal_news_cache_key(FastGettext.locale)
if !read_fragment(@news_cache_key)
portal_community = environment.portal_community
- @highlighted_news = portal_community.news(2, true)
- @portal_news = portal_community.news(7, true) - @highlighted_news
+ @highlighted_news = portal_community.news(environment.highlighted_news_amount, true)
+ @portal_news = portal_community.news(environment.portal_news_amount, true).offset(environment.highlighted_news_amount)
@area_news = environment.portal_folders
end
end
=====================================
app/models/environment.rb
=====================================
--- a/app/models/environment.rb
+++ b/app/models/environment.rb
@@ -3,7 +3,7 @@
# domains.
class Environment < ActiveRecord::Base
- attr_accessible :name, :is_default, :signup_welcome_text_subject, :signup_welcome_text_body, :terms_of_use, :message_for_disabled_enterprise, :news_amount_by_folder, :default_language, :languages, :description, :organization_approval_method, :enabled_plugins, :enabled_features, :redirection_after_login, :redirection_after_signup, :contact_email, :theme, :reports_lower_bound, :noreply_email, :signup_welcome_screen_body, :members_whitelist_enabled, :members_whitelist
+ attr_accessible :name, :is_default, :signup_welcome_text_subject, :signup_welcome_text_body, :terms_of_use, :message_for_disabled_enterprise, :news_amount_by_folder, :default_language, :languages, :description, :organization_approval_method, :enabled_plugins, :enabled_features, :redirection_after_login, :redirection_after_signup, :contact_email, :theme, :reports_lower_bound, :noreply_email, :signup_welcome_screen_body, :members_whitelist_enabled, :members_whitelist, :highlighted_news_amount, :portal_news_amount
has_many :users
@@ -268,6 +268,8 @@ class Environment < ActiveRecord::Base
settings_items :description, :type => String, :default => '<div style="text-align: center"><a href="http://noosfero.org/"><img src="/images/noosfero-network.png" alt="Noosfero"/></a></div>'
settings_items :local_docs, :type => Array, :default => []
settings_items :news_amount_by_folder, :type => Integer, :default => 4
+ settings_items :highlighted_news_amount, :type => Integer, :default => 2
+ settings_items :portal_news_amount, :type => Integer, :default => 5
settings_items :help_message_to_add_enterprise, :type => String, :default => ''
settings_items :tip_message_enterprise_activation_question, :type => String, :default => ''
=====================================
app/views/admin_panel/set_portal_community.html.erb
=====================================
--- a/app/views/admin_panel/set_portal_community.html.erb
+++ b/app/views/admin_panel/set_portal_community.html.erb
@@ -18,7 +18,7 @@
<%= button 'ok', _('Enable'), {:action => 'manage_portal_community', :activate => 1} %>
<% end %>
<%= button 'folder', _('Select Portal Folders'), {:action => 'set_portal_folders'} %>
- <%= button 'edit', _('Define Amount by Folder'), {:action => 'set_portal_news_amount'} %>
+ <%= button 'edit', _('Define news amount on portal'), {:action => 'set_portal_news_amount'} %>
<%= button 'delete', _('Remove'), { :action => 'unset_portal_community'} %>
<% end %>
<% end %>
=====================================
app/views/admin_panel/set_portal_news_amount.html.erb
=====================================
--- a/app/views/admin_panel/set_portal_news_amount.html.erb
+++ b/app/views/admin_panel/set_portal_news_amount.html.erb
@@ -1,8 +1,10 @@
-<h1><%= _('News amount by folder') %></h1>
+<h1><%= _('News amount on portal') %></h1>
<%= labelled_form_for :environment do |f| %>
- <%= labelled_form_field _('Number of news'), select(:environment, :news_amount_by_folder, (1..10).to_a) %>
+ <%= labelled_form_field _('Number of highlighted news'), select(:environment, :highlighted_news_amount, (0..10).to_a) %>
+ <%= labelled_form_field _('Number of portal news'), select(:environment, :portal_news_amount, (0..10).to_a) %>
+ <%= labelled_form_field _('Number of news by folder'), select(:environment, :news_amount_by_folder, (1..10).to_a) %>
<% button_bar do %>
<%= submit_button(:save, _('Save')) %>
=====================================
test/functional/admin_panel_controller_test.rb
=====================================
--- a/test/functional/admin_panel_controller_test.rb
+++ b/test/functional/admin_panel_controller_test.rb
@@ -334,10 +334,12 @@ class AdminPanelControllerTest < ActionController::TestCase
end
should 'save amount of news' do
- post :set_portal_news_amount, :environment => { :news_amount_by_folder => '3' }
+ post :set_portal_news_amount, :environment => { :news_amount_by_folder => '3', :highlighted_news_amount => '2', :portal_news_amount => '5' }
assert_redirected_to :action => 'index'
assert_equal 3, Environment.default.news_amount_by_folder
+ assert_equal 2, Environment.default.highlighted_news_amount
+ assert_equal 5, Environment.default.portal_news_amount
end
should 'display plugins links' do
=====================================
test/unit/environment_test.rb
=====================================
--- a/test/unit/environment_test.rb
+++ b/test/unit/environment_test.rb
@@ -1056,6 +1056,30 @@ class EnvironmentTest < ActiveSupport::TestCase
assert_equal 4, e.news_amount_by_folder
end
+ should 'have amount of highlighted news' do
+ e = Environment.default
+
+ assert_respond_to e, :highlighted_news_amount
+
+ assert_equal 2, e.highlighted_news_amount
+ e.highlighted_news_amount = 4
+ e.save!
+
+ assert_equal 4, Environment.default.highlighted_news_amount
+ end
+
+ should 'have amount of portal news' do
+ e = Environment.default
+
+ assert_respond_to e, :portal_news_amount
+
+ assert_equal 5, e.portal_news_amount
+ e.portal_news_amount = 2
+ e.save!
+
+ assert_equal 2, Environment.default.portal_news_amount
+ end
+
should 'list tags with their counts' do
person = fast_create(Person)
person.articles.create!(:name => 'article 1', :tag_list => 'first-tag')
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20150213/7ad6af77/attachment-0001.html>
More information about the Noosfero-dev
mailing list