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 | ... | ... |