Commit 105ef25284e4828f1651c23eb1b8937d3e50db4d
1 parent
9a9baa53
Exists in
master
and in
3 other branches
Fix for filter_communities on communities_block with another plugin
Showing
1 changed file
with
10 additions
and
18 deletions
Show diff stats
lib/ext/communities_block.rb
| @@ -4,16 +4,9 @@ class CommunitiesBlock | @@ -4,16 +4,9 @@ class CommunitiesBlock | ||
| 4 | 4 | ||
| 5 | def profile_list | 5 | def profile_list |
| 6 | result = get_visible_profiles | 6 | result = get_visible_profiles |
| 7 | + valid_communities_string = Community.get_valid_communities_string | ||
| 7 | 8 | ||
| 8 | - list_without_institution = [] | ||
| 9 | - | ||
| 10 | - result.each do |profile| | ||
| 11 | - if profile.class == Community && !profile.institution? | ||
| 12 | - list_without_institution << profile | ||
| 13 | - end | ||
| 14 | - end | ||
| 15 | - | ||
| 16 | - result = list_without_institution | 9 | + result.each{|community| @scope.delete(community) unless eval(valid_communities_string)} |
| 17 | 10 | ||
| 18 | result.slice(0..get_limit-1) | 11 | result.slice(0..get_limit-1) |
| 19 | end | 12 | end |
| @@ -26,24 +19,23 @@ class CommunitiesBlock | @@ -26,24 +19,23 @@ class CommunitiesBlock | ||
| 26 | 19 | ||
| 27 | def get_visible_profiles | 20 | def get_visible_profiles |
| 28 | visible_profiles = profiles.visible.includes( | 21 | visible_profiles = profiles.visible.includes( |
| 29 | - [:image,:domains,:preferred_domain,:environment] | 22 | + [:image,:domains,:preferred_domain,:environment] |
| 30 | ) | 23 | ) |
| 31 | if !prioritize_profiles_with_image | 24 | if !prioritize_profiles_with_image |
| 32 | return visible_profiles.all( | 25 | return visible_profiles.all( |
| 33 | - :limit => get_limit, | ||
| 34 | - :order => 'profiles.updated_at DESC' | 26 | + :limit => get_limit, |
| 27 | + :order => 'profiles.updated_at DESC' | ||
| 35 | ).sort_by {rand} | 28 | ).sort_by {rand} |
| 36 | elsif profiles.visible.with_image.count >= get_limit | 29 | elsif profiles.visible.with_image.count >= get_limit |
| 37 | return visible_profiles.with_image.all( | 30 | return visible_profiles.with_image.all( |
| 38 | - :limit => get_limit * 5, | ||
| 39 | - :order => 'profiles.updated_at DESC' | 31 | + :limit => get_limit * 5, |
| 32 | + :order => 'profiles.updated_at DESC' | ||
| 40 | ).sort_by {rand} | 33 | ).sort_by {rand} |
| 41 | else | 34 | else |
| 42 | return visible_profiles.with_image.sort_by {rand} + | 35 | return visible_profiles.with_image.sort_by {rand} + |
| 43 | - visible_profiles.without_image.all( | ||
| 44 | - :limit => get_limit * 5, :order => 'profiles.updated_at DESC' | ||
| 45 | - ).sort_by {rand} | 36 | + visible_profiles.without_image.all( |
| 37 | + :limit => get_limit * 5, :order => 'profiles.updated_at DESC' | ||
| 38 | + ).sort_by {rand} | ||
| 46 | end | 39 | end |
| 47 | end | 40 | end |
| 48 | - | ||
| 49 | end | 41 | end |