Commit 1467d1e8d67b85e7cda9b1bf1b46d5cbad66fb3a
1 parent
a8cb8dcf
Exists in
manage_organization
Improves scope to manage organizations.
Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com> Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Showing
2 changed files
with
12 additions
and
14 deletions
Show diff stats
app/controllers/admin/admin_panel_controller.rb
| ... | ... | @@ -77,16 +77,16 @@ class AdminPanelController < AdminController |
| 77 | 77 | @title = "Organization profiles" |
| 78 | 78 | @title = @title+" - "+@filter if @filter != 'any' |
| 79 | 79 | @type = params[:type] || "any" |
| 80 | - @types_filter = [['All', 'any'], [_('Community'), 'communities'], [_('Enterprise'), 'enterprises']] | |
| 81 | - @types_filter = @types_filter | @plugins.dispatch_without_flatten(:organization_types_filter_options).flatten(1) | |
| 82 | - | |
| 83 | - scope = if @type == "communities" | |
| 84 | - environment.communities | |
| 85 | - elsif @type == "enterprises" | |
| 86 | - environment.enterprises | |
| 87 | - else | |
| 88 | - environment.organizations | |
| 89 | - end | |
| 80 | + @types_filter = [['All', 'any'], [_('Community'), 'Community'], [_('Enterprise'), 'Enterprise']] | |
| 81 | + @types_filter = @types_filter | @plugins.dispatch_first(:organization_types_filter_options) | |
| 82 | + | |
| 83 | + scope = if @type == 'any' | |
| 84 | + environment.organizations | |
| 85 | + else | |
| 86 | + @plugins.dispatch_first(:filter_manage_organization_scope, @type) | |
| 87 | + end | |
| 88 | + | |
| 89 | + scope = environment.profiles.where(:type => @type) if scope.blank? | |
| 90 | 90 | |
| 91 | 91 | if @filter == 'enabled' |
| 92 | 92 | scope = scope.visible |
| ... | ... | @@ -94,9 +94,7 @@ class AdminPanelController < AdminController |
| 94 | 94 | scope = scope.disabled |
| 95 | 95 | end |
| 96 | 96 | |
| 97 | - scope = scope.order('name ASC') | |
| 98 | - result_plugin = @plugins.dispatch(:filter_manage_organization_scope, scope, @type) | |
| 99 | - scope = result_plugin if !result_plugin.blank? | |
| 97 | + scope = scope.sort_by{ |m| m.name } | |
| 100 | 98 | |
| 101 | 99 | @q = params[:q] |
| 102 | 100 | @collection = find_by_contents(:organizations, environment, scope, @q, {:per_page => 10, :page => params[:npage]})[:results] | ... | ... |
lib/noosfero/plugin.rb
| ... | ... | @@ -279,7 +279,7 @@ class Noosfero::Plugin |
| 279 | 279 | |
| 280 | 280 | # -> Filters the types of organizations that are shown on manage organizations |
| 281 | 281 | # returns a scope filtered by the specified type |
| 282 | - def filter_manage_organization_scope scope, type | |
| 282 | + def filter_manage_organization_scope type | |
| 283 | 283 | nil |
| 284 | 284 | end |
| 285 | 285 | ... | ... |