Commit 586af7d1dbc8438ddb54db28fd7b8111063106f2

Authored by Rodrigo Souto
1 parent b810ff60

remove unnecessary community extensions

src/noosfero-spb/software_communities/lib/ext/communities_block.rb
@@ -18,12 +18,6 @@ class CommunitiesBlock @@ -18,12 +18,6 @@ class CommunitiesBlock
18 [:image,:domains,:preferred_domain,:environment] 18 [:image,:domains,:preferred_domain,:environment]
19 ) 19 )
20 20
21 - delete_communities = []  
22 - valid_communities_string = Community.get_valid_communities_string  
23 - Community.all.each{|community| delete_communities << community.id unless eval(valid_communities_string)}  
24 -  
25 - visible_profiles = visible_profiles.where(["profiles.id NOT IN (?)", delete_communities]) unless delete_communities.empty?  
26 -  
27 if !prioritize_profiles_with_image 21 if !prioritize_profiles_with_image
28 return visible_profiles.all( 22 return visible_profiles.all(
29 :limit => get_limit, 23 :limit => get_limit,
src/noosfero-spb/software_communities/lib/ext/community.rb
1 require_dependency 'community' 1 require_dependency 'community'
2 2
3 class Community 3 class Community
4 -  
5 - SEARCHABLE_SOFTWARE_FIELDS = {  
6 - :name => 1,  
7 - :identifier => 2,  
8 - :nickname => 3  
9 - }  
10 -  
11 attr_accessible :visible 4 attr_accessible :visible
12 5
13 - has_one :software_info, :dependent=>:destroy  
14 -  
15 - settings_items :hits, :type => :integer, :default => 0  
16 -  
17 def self.create_after_moderation(requestor, attributes = {}) 6 def self.create_after_moderation(requestor, attributes = {})
18 community = Community.new(attributes) 7 community = Community.new(attributes)
19 8
@@ -28,22 +17,6 @@ class Community @@ -28,22 +17,6 @@ class Community
28 community 17 community
29 end 18 end
30 19
31 - def self.get_valid_communities_string  
32 - remove_of_communities_methods = Community.instance_methods.select{|m| m =~ /remove_of_community_search/}  
33 - valid_communities_string = "!("  
34 - remove_of_communities_methods.each do |method|  
35 - valid_communities_string += "community.send('#{method}') || "  
36 - end  
37 - valid_communities_string = valid_communities_string[0..-5]  
38 - valid_communities_string += ")"  
39 -  
40 - valid_communities_string  
41 - end  
42 -  
43 - def software?  
44 - return !software_info.nil?  
45 - end  
46 -  
47 def deactivate 20 def deactivate
48 self.visible = false 21 self.visible = false
49 self.save! 22 self.save!
@@ -53,14 +26,4 @@ class Community @@ -53,14 +26,4 @@ class Community
53 self.visible = true 26 self.visible = true
54 self.save! 27 self.save!
55 end 28 end
56 -  
57 - def remove_of_community_search_software?  
58 - return software?  
59 - end  
60 -  
61 - def hit  
62 - self.hits += 1  
63 - self.save!  
64 - end  
65 -  
66 end 29 end
src/noosfero-spb/software_communities/lib/ext/person.rb
@@ -6,10 +6,6 @@ class Person @@ -6,10 +6,6 @@ class Person
6 6
7 delegate :login, :to => :user, :prefix => true 7 delegate :login, :to => :user, :prefix => true
8 8
9 - def software?  
10 - false  
11 - end  
12 -  
13 #def softwares 9 #def softwares
14 # softwares = [] 10 # softwares = []
15 # self.communities.each do |community| 11 # self.communities.each do |community|
src/noosfero-spb/software_communities/lib/ext/profile_controller.rb
@@ -14,7 +14,7 @@ class ProfileController @@ -14,7 +14,7 @@ class ProfileController
14 type = profile.institutions 14 type = profile.institutions
15 else 15 else
16 profile.communities.select do |community| 16 profile.communities.select do |community|
17 - type << community unless community.software? || community.institution? 17 + type << community unless community.institution?
18 end 18 end
19 end 19 end
20 20
src/noosfero-spb/software_communities/lib/ext/profile_editor_controller.rb
@@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
1 -require_dependency 'profile_editor_controller'  
2 -  
3 -class ProfileEditorController  
4 -  
5 - before_filter :redirect_to_edit_software_community, :only => [:edit]  
6 -  
7 - def edit_software_community  
8 - @profile_data = profile  
9 - @possible_domains = profile.possible_domains  
10 - @first_edit = profile.software_info.first_edit?  
11 -  
12 - if @first_edit  
13 - profile.software_info.first_edit = false  
14 - profile.software_info.save!  
15 - end  
16 -  
17 - edit if request.post?  
18 - end  
19 -  
20 - protected  
21 -  
22 - def redirect_to_edit_software_community  
23 - if profile.class == Community && profile.software?  
24 - redirect_to :action => 'edit_software_community'  
25 - end  
26 - end  
27 -  
28 -end  
src/noosfero-spb/software_communities/lib/ext/search_controller.rb
1 require_dependency 'search_controller' 1 require_dependency 'search_controller'
2 2
3 class SearchController 3 class SearchController
4 -  
5 - def communities  
6 - delete_communities = []  
7 - valid_communities_string = Community.get_valid_communities_string  
8 - Community.all.each{|community| delete_communities << community.id unless eval(valid_communities_string)}  
9 -  
10 - @scope = visible_profiles(Community)  
11 - @scope = @scope.where(["id NOT IN (?)", delete_communities]) unless delete_communities.empty?  
12 -  
13 - full_text_search  
14 - end  
15 -  
16 def software_infos 4 def software_infos
17 prepare_software_search_page 5 prepare_software_search_page
18 results = filter_software_infos_list 6 results = filter_software_infos_list
src/noosfero-spb/software_communities/lib/software.rb
1 class Software < Organization 1 class Software < Organization
  2 + SEARCHABLE_SOFTWARE_FIELDS = {
  3 + :name => 1,
  4 + :identifier => 2,
  5 + :nickname => 3
  6 + }
  7 +
  8 + settings_items :hits, :type => :integer, :default => 0
  9 +
2 has_one :software_info 10 has_one :software_info
3 validates_presence_of :software_info 11 validates_presence_of :software_info
4 attr_accessible :software_info 12 attr_accessible :software_info
5 after_save { software_info.save! } 13 after_save { software_info.save! }
  14 +
  15 + #FIXME This is a performance bottleneck on heavy loads.
  16 + def hit
  17 + self.hits += 1
  18 + self.save!
  19 + end
6 end 20 end
src/noosfero-spb/software_communities/lib/software_communities_plugin.rb
@@ -22,13 +22,13 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin @@ -22,13 +22,13 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
22 end 22 end
23 23
24 def profile_tabs 24 def profile_tabs
25 - if context.profile.community? && context.profile.software? 25 + if context.profile.kind_of?(Software)
26 return profile_tabs_software 26 return profile_tabs_software
27 end 27 end
28 end 28 end
29 29
30 def control_panel_buttons 30 def control_panel_buttons
31 - if context.profile.software? 31 + if context.profile.kind_of?(Software)
32 return software_info_button 32 return software_info_button
33 elsif context.profile.person? 33 elsif context.profile.person?
34 return create_new_software_button 34 return create_new_software_button
@@ -86,7 +86,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin @@ -86,7 +86,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
86 end 86 end
87 87
88 def organization_ratings_plugin_comments_extra_fields 88 def organization_ratings_plugin_comments_extra_fields
89 - if context.profile.software? 89 + if context.profile.kind_of?(Software)
90 Proc::new { render :file => 'comments_extra_fields' } 90 Proc::new { render :file => 'comments_extra_fields' }
91 end 91 end
92 end 92 end
@@ -106,7 +106,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin @@ -106,7 +106,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
106 is_admin = environment.admins.include?(current_user.person) 106 is_admin = environment.admins.include?(current_user.person)
107 is_admin ||= user_rating.organization.admins.include?(current_user.person) 107 is_admin ||= user_rating.organization.admins.include?(current_user.person)
108 108
109 - if is_admin and profile.software? 109 + if is_admin and profile.kind_of?(Software)
110 render :file => 'organization_ratings_extra_fields_show_data', 110 render :file => 'organization_ratings_extra_fields_show_data',
111 :locals => {:user_rating => user_rating} 111 :locals => {:user_rating => user_rating}
112 end 112 end
src/noosfero-spb/software_communities/lib/softwares_block.rb
@@ -52,10 +52,7 @@ class SoftwaresBlock &lt; CommunitiesBlock @@ -52,10 +52,7 @@ class SoftwaresBlock &lt; CommunitiesBlock
52 52
53 def profile_list 53 def profile_list
54 profiles = get_visible_profiles 54 profiles = get_visible_profiles
55 -  
56 - software_profiles = profiles.select do |profile|  
57 - profile.class == Community && profile.software?  
58 - end 55 + software_profiles = profiles.where(:type => 'Software')
59 56
60 block_softwares = if self.software_type == "Public" 57 block_softwares = if self.software_type == "Public"
61 software_profiles.select { |profile| profile.software_info.public_software? } 58 software_profiles.select { |profile| profile.software_info.public_software? }