[Git][noosfero/noosfero][master] 2 commits: organization_ratings: add intial_page option
Daniela Feitosa
gitlab at mg.gitlab.com
Wed May 25 10:57:01 BRT 2016
Daniela Feitosa pushed to branch master at Noosfero / noosfero
Commits:
b08287d1 by Marcos Ronaldo at 2016-05-24T14:47:03-03:00
organization_ratings: add intial_page option
- - - - -
44cc52bc by Daniela Feitosa at 2016-05-25T13:56:45+00:00
Merge branch 'organization_ratings_config' into 'master'
organization_ratings: add intial_page option
Creates an option in organization_ratings plugin to config how many ratings will appear on the initial page of every ratings block. After clicking on "view more" option, the "per_page" option will be used normally to paginate all the ratings.
Also, this merge request fixes a commented test for pagination config validation.
See merge request !940
- - - - -
6 changed files:
- + plugins/organization_ratings/db/migrate/20160523193515_add_initial_page_to_organization_ratings_config.rb
- plugins/organization_ratings/lib/organization_ratings_block.rb
- plugins/organization_ratings/lib/organization_ratings_config.rb
- plugins/organization_ratings/test/unit/organization_rating_config_test.rb
- plugins/organization_ratings/views/blocks/organization_ratings.html.erb
- plugins/organization_ratings/views/organization_ratings_plugin_admin/index.html.erb
Changes:
=====================================
plugins/organization_ratings/db/migrate/20160523193515_add_initial_page_to_organization_ratings_config.rb
=====================================
--- /dev/null
+++ b/plugins/organization_ratings/db/migrate/20160523193515_add_initial_page_to_organization_ratings_config.rb
@@ -0,0 +1,9 @@
+class AddInitialPageToOrganizationRatingsConfig < ActiveRecord::Migration
+ def up
+ add_column :organization_ratings_configs, :ratings_on_initial_page, :integer, :default => 3
+ end
+
+ def down
+ remove_column :organization_ratings_configs, :ratings_on_initial_page
+ end
+end
=====================================
plugins/organization_ratings/lib/organization_ratings_block.rb
=====================================
--- a/plugins/organization_ratings/lib/organization_ratings_block.rb
+++ b/plugins/organization_ratings/lib/organization_ratings_block.rb
@@ -13,6 +13,10 @@ class OrganizationRatingsBlock < Block
env_organization_ratings_config.per_page
end
+ def ratings_on_initial_page
+ env_organization_ratings_config.ratings_on_initial_page
+ end
+
def cacheable?
false
end
=====================================
plugins/organization_ratings/lib/organization_ratings_config.rb
=====================================
--- a/plugins/organization_ratings/lib/organization_ratings_config.rb
+++ b/plugins/organization_ratings/lib/organization_ratings_config.rb
@@ -4,6 +4,7 @@ class OrganizationRatingsConfig < ApplicationRecord
attr_accessible :cooldown, :default_rating, :order, :per_page
attr_accessible :vote_once, :are_moderated, :environment_id
+ attr_accessible :ratings_on_initial_page
ORDER_OPTIONS = {recent: _('More Recent'), best: _('Best Ratings')}
=====================================
plugins/organization_ratings/test/unit/organization_rating_config_test.rb
=====================================
--- a/plugins/organization_ratings/test/unit/organization_rating_config_test.rb
+++ b/plugins/organization_ratings/test/unit/organization_rating_config_test.rb
@@ -29,15 +29,29 @@ class OrganizationRatingConfigTest < ActiveSupport::TestCase
assert_equal "must be greater than or equal to 0", @organization_ratings_config.errors[:cooldown].first
end
- # test "communities ratings per page validation" do
- # environment = Environment.new :communities_ratings_per_page => 4
- # environment.valid?
+ test "communities ratings per page validation" do
+ @organization_ratings_config.per_page = 4
- # assert_equal "must be greater than or equal to 5", environment.errors[:communities_ratings_per_page].first
+ refute @organization_ratings_config.valid?
- # environment.communities_ratings_per_page = 21
- # environment.valid?
+ assert_equal "must be greater than or equal to 5", @organization_ratings_config.errors[:per_page].first
- # assert_equal "must be less than or equal to 20", environment.errors[:communities_ratings_per_page].first
- # end
+ @organization_ratings_config.per_page = 21
+ refute @organization_ratings_config.valid?
+
+ assert_equal "must be less than or equal to 20", @organization_ratings_config.errors[:per_page].first
+ end
+
+ should "ratings block use initial_page config" do
+ @organization_ratings_config.ratings_on_initial_page = 4
+ @organization_ratings_config.save!
+ block = OrganizationRatingsBlock.new
+ assert_equal block.ratings_on_initial_page, 4
+ end
+
+ should "ratings block show 3 ratings on initial page by default" do
+ @organization_ratings_config.save!
+ block = OrganizationRatingsBlock.new
+ assert_equal block.ratings_on_initial_page, 3
+ end
end
=====================================
plugins/organization_ratings/views/blocks/organization_ratings.html.erb
=====================================
--- a/plugins/organization_ratings/views/blocks/organization_ratings.html.erb
+++ b/plugins/organization_ratings/views/blocks/organization_ratings.html.erb
@@ -7,7 +7,7 @@
<% else %>
<div class="ratings-list">
<% block.get_ratings(block.owner.id).each_with_index do |r, index| %>
- <% break if index >= block.limit_number_of_ratings %>
+ <% break if index >= block.ratings_on_initial_page %>
<%= render :partial => "shared/user_rating_container", :locals => {:user_rate => r} %>
<% end %>
=====================================
plugins/organization_ratings/views/organization_ratings_plugin_admin/index.html.erb
=====================================
--- a/plugins/organization_ratings/views/organization_ratings_plugin_admin/index.html.erb
+++ b/plugins/organization_ratings/views/organization_ratings_plugin_admin/index.html.erb
@@ -43,6 +43,12 @@
<%= c.select :per_page, 5..20 %>
</td>
</tr>
+ <tr>
+ <td><%= _('Ratings amount on initial page') %></td>
+ <td>
+ <%= c.select :ratings_on_initial_page, 1..10 %>
+ </td>
+ </tr>
</table>
<div>
<%= button_bar do %>
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/768d68bffca5743f2e10f691315140d7e1786cd8...44cc52bc85929c7821a0e9a74331e33b6e30ccde
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20160525/4d446816/attachment-0001.html>
More information about the Noosfero-dev
mailing list