diff --git a/app/controllers/admin/environment_design_controller.rb b/app/controllers/admin/environment_design_controller.rb index de82113..da2e9b7 100644 --- a/app/controllers/admin/environment_design_controller.rb +++ b/app/controllers/admin/environment_design_controller.rb @@ -5,7 +5,7 @@ class EnvironmentDesignController < BoxOrganizerController def available_blocks # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from # the Noosfero core soon, see ActionItem3045 - @available_blocks ||= [ ArticleBlock, LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ] + @available_blocks ||= [ ArticleBlock, LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, PeopleBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ] @available_blocks += plugins.dispatch(:extra_blocks, :type => Environment) end diff --git a/app/controllers/my_profile/profile_design_controller.rb b/app/controllers/my_profile/profile_design_controller.rb index 97a4953..8fb5245 100644 --- a/app/controllers/my_profile/profile_design_controller.rb +++ b/app/controllers/my_profile/profile_design_controller.rb @@ -9,8 +9,14 @@ class ProfileDesignController < BoxOrganizerController blocks += plugins.dispatch(:extra_blocks) + # blocks exclusive for organizations + if profile.has_members? + blocks << MembersBlock + end + # blocks exclusive to people if profile.person? + blocks << FriendsBlock blocks << FavoriteEnterprisesBlock blocks << CommunitiesBlock blocks << EnterprisesBlock diff --git a/app/models/box.rb b/app/models/box.rb index df97a41..fbda1be 100644 --- a/app/models/box.rb +++ b/app/models/box.rb @@ -34,11 +34,14 @@ class Box < ActiveRecord::Base FansBlock, FavoriteEnterprisesBlock, FeedReaderBlock, + FriendsBlock, HighlightsBlock, LinkListBlock, LoginBlock, MainBlock, + MembersBlock, MyNetworkBlock, + PeopleBlock, ProfileImageBlock, RawHTMLBlock, RecentDocumentsBlock, @@ -60,11 +63,14 @@ class Box < ActiveRecord::Base FavoriteEnterprisesBlock, FeaturedProductsBlock, FeedReaderBlock, + FriendsBlock, HighlightsBlock, LinkListBlock, LocationBlock, LoginBlock, + MembersBlock, MyNetworkBlock, + PeopleBlock, ProductsBlock, ProductCategoriesBlock, ProfileImageBlock, diff --git a/app/models/community.rb b/app/models/community.rb index 0e198b9..fd5b8d5 100644 --- a/app/models/community.rb +++ b/app/models/community.rb @@ -85,6 +85,10 @@ class Community < Organization recent_documents(limit, ["articles.type != ? AND articles.highlighted = ?", 'Folder', highlight]) end + def blocks_to_expire_cache + [MembersBlock] + end + def each_member(offset=0) while member = self.members.first(:order => :id, :offset => offset) yield member diff --git a/app/models/environment.rb b/app/models/environment.rb index 840a666..91e4933 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -182,6 +182,7 @@ class Environment < ActiveRecord::Base # "right" area env.boxes[2].blocks << CommunitiesBlock.new(:limit => 6) + env.boxes[2].blocks << PeopleBlock.new(:limit => 6) end # One Environment can be reached by many domains diff --git a/app/models/organization.rb b/app/models/organization.rb index e0a3eb1..69c9333 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -123,7 +123,7 @@ class Organization < Profile [ [MainBlock.new], [ProfileImageBlock.new, LinkListBlock.new(:links => links)], - [RecentDocumentsBlock.new] + [MembersBlock.new, RecentDocumentsBlock.new] ] end diff --git a/app/models/person.rb b/app/models/person.rb index dd33c4d..3dc93c5 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -269,7 +269,7 @@ class Person < Profile [ [MainBlock.new], [ProfileImageBlock.new(:show_name => true), LinkListBlock.new(:links => links), RecentDocumentsBlock.new], - [CommunitiesBlock.new] + [FriendsBlock.new, CommunitiesBlock.new] ] end diff --git a/test/functional/environment_design_controller_test.rb b/test/functional/environment_design_controller_test.rb index d2d456a..8d774c1 100644 --- a/test/functional/environment_design_controller_test.rb +++ b/test/functional/environment_design_controller_test.rb @@ -8,7 +8,7 @@ class EnvironmentDesignControllerTest < ActionController::TestCase # TODO EnvironmentStatisticsBlock is DEPRECATED and will be removed from # the Noosfero core soon, see ActionItem3045 - ALL_BLOCKS = [ArticleBlock, LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ] + ALL_BLOCKS = [ArticleBlock, LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock, EnterprisesBlock, CommunitiesBlock, PeopleBlock, SellersSearchBlock, LinkListBlock, FeedReaderBlock, SlideshowBlock, HighlightsBlock, FeaturedProductsBlock, CategoriesBlock, RawHTMLBlock, TagsBlock ] def setup @controller = EnvironmentDesignController.new @@ -107,6 +107,16 @@ class EnvironmentDesignControllerTest < ActionController::TestCase assert_tag :tag => 'input', :attributes => { :id => 'block_limit' } end + should 'be able to edit PeopleBlock' do + login_as(create_admin_user(Environment.default)) + b = PeopleBlock.create! + e = Environment.default + e.boxes.create! + e.boxes.first.blocks << b + get :edit, :id => b.id + assert_tag :tag => 'input', :attributes => { :id => 'block_limit' } + end + should 'be able to edit SlideshowBlock' do login_as(create_admin_user(Environment.default)) b = SlideshowBlock.create! diff --git a/test/functional/profile_design_controller_test.rb b/test/functional/profile_design_controller_test.rb index cd9bc6a..63982cd 100644 --- a/test/functional/profile_design_controller_test.rb +++ b/test/functional/profile_design_controller_test.rb @@ -6,7 +6,8 @@ class ProfileDesignController; def rescue_action(e) raise e end; end class ProfileDesignControllerTest < ActionController::TestCase COMMOM_BLOCKS = [ ArticleBlock, TagsBlock, RecentDocumentsBlock, ProfileInfoBlock, LinkListBlock, MyNetworkBlock, FeedReaderBlock, ProfileImageBlock, LocationBlock, SlideshowBlock, ProfileSearchBlock, HighlightsBlock ] - PERSON_BLOCKS = COMMOM_BLOCKS + [ FavoriteEnterprisesBlock, CommunitiesBlock, EnterprisesBlock ] + PERSON_BLOCKS = COMMOM_BLOCKS + [FriendsBlock, FavoriteEnterprisesBlock, CommunitiesBlock, EnterprisesBlock ] + PERSON_BLOCKS_WITH_MEMBERS = PERSON_BLOCKS + [MembersBlock] PERSON_BLOCKS_WITH_BLOG = PERSON_BLOCKS + [BlogArchivesBlock] ENTERPRISE_BLOCKS = COMMOM_BLOCKS + [DisabledEnterpriseMessageBlock, FeaturedProductsBlock, FansBlock, ProductCategoriesBlock] -- libgit2 0.21.2