Commit 914ea967ce52bf2ea6f8973ab7b433c396cd3acd

Authored by Joenio Costa
1 parent 5a4f284e

Removing EnvironmentStatisticsBlock from core

PeopleBlock plugin overrides the EnvironmentStatisticsBlock

(ActionItem3045)
app/controllers/admin/environment_design_controller.rb
... ... @@ -3,9 +3,7 @@ class EnvironmentDesignController < BoxOrganizerController
3 3 protect 'edit_environment_design', :environment
4 4  
5 5 def available_blocks
6   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
7   - # the Noosfero core soon, see ActionItem3045
8   - @available_blocks ||= [ ArticleBlock, LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ]
  6 + @available_blocks ||= [ ArticleBlock, LoginBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ]
9 7 @available_blocks += plugins.dispatch(:extra_blocks, :type => Environment)
10 8 end
11 9  
... ...
app/models/box.rb
... ... @@ -28,9 +28,6 @@ class Box < ActiveRecord::Base
28 28 CategoriesBlock,
29 29 CommunitiesBlock,
30 30 EnterprisesBlock,
31   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
32   - # the Noosfero core soon, see ActionItem3045
33   - EnvironmentStatisticsBlock,
34 31 FansBlock,
35 32 FavoriteEnterprisesBlock,
36 33 FeedReaderBlock,
... ... @@ -53,9 +50,6 @@ class Box < ActiveRecord::Base
53 50 CommunitiesBlock,
54 51 DisabledEnterpriseMessageBlock,
55 52 EnterprisesBlock,
56   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
57   - # the Noosfero core soon, see ActionItem3045
58   - EnvironmentStatisticsBlock,
59 53 FansBlock,
60 54 FavoriteEnterprisesBlock,
61 55 FeaturedProductsBlock,
... ...
app/models/environment.rb
... ... @@ -177,9 +177,6 @@ class Environment < ActiveRecord::Base
177 177  
178 178 # "left" area
179 179 env.boxes[1].blocks << LoginBlock.new
180   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
181   - # the Noosfero core soon, see ActionItem3045
182   - env.boxes[1].blocks << EnvironmentStatisticsBlock.new
183 180 env.boxes[1].blocks << RecentDocumentsBlock.new
184 181  
185 182 # "right" area
... ...
app/models/environment_statistics_block.rb
... ... @@ -1,33 +0,0 @@
1   -# TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
2   -# the Noosfero core soon, see ActionItem3045
3   -
4   -class EnvironmentStatisticsBlock < Block
5   -
6   - def self.description
7   - _('Environment stastistics (DEPRECATED)')
8   - end
9   -
10   - def default_title
11   - _('Statistics for %s') % owner.name
12   - end
13   -
14   - def help
15   - _('This block presents some statistics about your environment.')
16   - end
17   -
18   - def content(args={})
19   - users = owner.people.visible.count
20   - enterprises = owner.enterprises.visible.count
21   - communities = owner.communities.visible.count
22   -
23   - info = []
24   - info << (n_('One user', '%{num} users', users) % { :num => users })
25   - unless owner.enabled?('disable_asset_enterprises')
26   - info << (n_('One enterprise', '%{num} enterprises', enterprises) % { :num => enterprises })
27   - end
28   - info << (n_('One community', '%{num} communities', communities) % { :num => communities })
29   -
30   - block_title(title) + content_tag('ul', info.map {|item| content_tag('li', item) }.join("\n"))
31   - end
32   -
33   -end
app/sweepers/profile_sweeper.rb
... ... @@ -8,9 +8,6 @@ class ProfileSweeper # &lt; ActiveRecord::Observer
8 8 end
9 9  
10 10 def after_create(profile)
11   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
12   - # the Noosfero core soon, see ActionItem3045
13   - expire_statistics_block_cache(profile)
14 11 end
15 12  
16 13 protected
... ... @@ -31,13 +28,6 @@ protected
31 28 expire_blogs(profile) if profile.organization?
32 29 end
33 30  
34   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
35   - # the Noosfero core soon, see ActionItem3045
36   - def expire_statistics_block_cache(profile)
37   - blocks = profile.environment.blocks.select { |b| b.kind_of?(EnvironmentStatisticsBlock) }
38   - BlockSweeper.expire_blocks(blocks)
39   - end
40   -
41 31 def expire_blogs(profile)
42 32 profile.blogs.select{|b| !b.empty?}.each do |blog|
43 33 pages = blog.posts.count / blog.posts_per_page + 1
... ...
baseplugins/statistics 0 → 120000
... ... @@ -0,0 +1 @@
  1 +../plugins/statistics
0 2 \ No newline at end of file
... ...
db/migrate/20140827191326_remove_environment_statistics_block.rb 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +class RemoveEnvironmentStatisticsBlock < ActiveRecord::Migration
  2 + def self.up
  3 + update("UPDATE blocks SET type = 'StatisticsBlock' WHERE type = 'EnvironmentStatisticsBlock'")
  4 + end
  5 +
  6 + def self.down
  7 + say("Nothing to undo (cannot recover the data)")
  8 + end
  9 +end
... ...
db/schema.rb
... ... @@ -11,7 +11,7 @@
11 11 #
12 12 # It's strongly recommended to check this file into your version control system.
13 13  
14   -ActiveRecord::Schema.define(:version => 20140808185510) do
  14 +ActiveRecord::Schema.define(:version => 20140827191326) do
15 15  
16 16 create_table "abuse_reports", :force => true do |t|
17 17 t.integer "reporter_id"
... ...
test/functional/environment_design_controller_test.rb
... ... @@ -6,9 +6,7 @@ class EnvironmentDesignController; def rescue_action(e) raise e end; end
6 6  
7 7 class EnvironmentDesignControllerTest < ActionController::TestCase
8 8  
9   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
10   - # the Noosfero core soon, see ActionItem3045
11   - ALL_BLOCKS = [ArticleBlock, LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ]
  9 + ALL_BLOCKS = [ArticleBlock, LoginBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ]
12 10  
13 11 def setup
14 12 @controller = EnvironmentDesignController.new
... ... @@ -77,18 +75,6 @@ class EnvironmentDesignControllerTest &lt; ActionController::TestCase
77 75 assert_tag :tag => 'p', :attributes => { :id => 'no_portal_community' }
78 76 end
79 77  
80   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
81   - # the Noosfero core soon, see ActionItem3045
82   - should 'be able to edit EnvironmentStatisticsBlock' do
83   - login_as(create_admin_user(Environment.default))
84   - b = EnvironmentStatisticsBlock.create!
85   - e = Environment.default
86   - e.boxes.create!
87   - e.boxes.first.blocks << b
88   - get :edit, :id => b.id
89   - assert_tag :tag => 'input', :attributes => { :id => 'block_title' }
90   - end
91   -
92 78 should 'be able to edit EnterprisesBlock' do
93 79 login_as(create_admin_user(Environment.default))
94 80 b = EnterprisesBlock.create!
... ...
test/unit/box_test.rb
... ... @@ -33,9 +33,6 @@ class BoxTest &lt; ActiveSupport::TestCase
33 33 assert blocks.include?('categories-block')
34 34 assert blocks.include?('communities-block')
35 35 assert blocks.include?('enterprises-block')
36   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
37   - # the Noosfero core soon, see ActionItem3045
38   - assert blocks.include?('environment-statistics-block')
39 36 assert blocks.include?('fans-block')
40 37 assert blocks.include?('favorite-enterprises-block')
41 38 assert blocks.include?('feed-reader-block')
... ... @@ -64,9 +61,6 @@ class BoxTest &lt; ActiveSupport::TestCase
64 61 assert blocks.include?('communities-block')
65 62 assert blocks.include?('disabled-enterprise-message-block')
66 63 assert blocks.include?('enterprises-block')
67   - # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
68   - # the Noosfero core soon, see ActionItem3045
69   - assert blocks.include?('environment-statistics-block')
70 64 assert blocks.include?('fans-block')
71 65 assert blocks.include?('favorite-enterprises-block')
72 66 assert blocks.include?('featured-products-block')
... ...
test/unit/environment_statistics_block_test.rb
... ... @@ -1,99 +0,0 @@
1   -# TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from
2   -# the Noosfero core soon, see ActionItem3045
3   -
4   -require File.dirname(__FILE__) + '/../test_helper'
5   -
6   -class EnvironmentStatisticsBlockTest < ActiveSupport::TestCase
7   -
8   - should 'inherit from Block' do
9   - assert_kind_of Block, EnvironmentStatisticsBlock.new
10   - end
11   -
12   - should 'describe itself' do
13   - assert_not_equal Block.description, EnvironmentStatisticsBlock.description
14   - end
15   -
16   - should 'provide a default title' do
17   - owner = mock
18   - owner.expects(:name).returns('my environment')
19   -
20   - block = EnvironmentStatisticsBlock.new
21   - block.expects(:owner).returns(owner)
22   - assert_equal 'Statistics for my environment', block.title
23   - end
24   -
25   - should 'generate statistics' do
26   - env = create(Environment)
27   - user1 = create_user('testuser1', :environment_id => env.id)
28   - user2 = create_user('testuser2', :environment_id => env.id)
29   -
30   - fast_create(Enterprise, :environment_id => env.id)
31   - fast_create(Community, :environment_id => env.id)
32   -
33   - block = EnvironmentStatisticsBlock.new
34   - env.boxes.first.blocks << block
35   -
36   - content = block.content
37   -
38   - assert_match(/One enterprise/, content)
39   - assert_match(/2 users/, content)
40   - assert_match(/One community/, content)
41   - end
42   -
43   - should 'generate statistics including private profiles' do
44   - env = create(Environment)
45   - user1 = create_user('testuser1', :environment_id => env.id)
46   - user2 = create_user('testuser2', :environment_id => env.id)
47   - user3 = create_user('testuser3', :environment_id => env.id)
48   - p = user3.person; p.public_profile = false; p.save!
49   -
50   - fast_create(Enterprise, :environment_id => env.id)
51   - fast_create(Enterprise, :environment_id => env.id, :public_profile => false)
52   -
53   - fast_create(Community, :environment_id => env.id)
54   - fast_create(Community, :environment_id => env.id, :public_profile => false)
55   -
56   - block = EnvironmentStatisticsBlock.new
57   - env.boxes.first.blocks << block
58   -
59   - content = block.content
60   -
61   - assert_match /2 enterprises/, content
62   - assert_match /3 users/, content
63   - assert_match /2 communities/, content
64   - end
65   -
66   - should 'generate statistics but not for not visible profiles' do
67   - env = create(Environment)
68   - user1 = create_user('testuser1', :environment_id => env.id)
69   - user2 = create_user('testuser2', :environment_id => env.id)
70   - user3 = create_user('testuser3', :environment_id => env.id)
71   - p = user3.person; p.visible = false; p.save!
72   -
73   - fast_create(Enterprise, :environment_id => env.id)
74   - fast_create(Enterprise, :environment_id => env.id, :visible => false)
75   -
76   - fast_create(Community, :environment_id => env.id)
77   - fast_create(Community, :environment_id => env.id, :visible => false)
78   -
79   - block = EnvironmentStatisticsBlock.new
80   - env.boxes.first.blocks << block
81   -
82   - content = block.content
83   -
84   - assert_match /One enterprise/, content
85   - assert_match /2 users/, content
86   - assert_match /One community/, content
87   - end
88   -
89   - should 'not display enterprises if disabled' do
90   - env = fast_create(Environment)
91   - env.enable('disable_asset_enterprises', false)
92   -
93   - block = EnvironmentStatisticsBlock.new
94   - block.stubs(:owner).returns(env)
95   -
96   - assert_no_match /enterprises/i, block.content
97   - end
98   -
99   -end