app/controllers/katello/packages_controller.rb in katello-1.5.0 vs app/controllers/katello/packages_controller.rb in katello-2.2.2
- old
+ new
@@ -1,7 +1,7 @@
#
-# Copyright 2013 Red Hat, Inc.
+# Copyright 2014 Red Hat, Inc.
#
# This software is licensed to you under the GNU General Public
# License as published by the Free Software Foundation; either version
# 2 of the License (GPLv2) or (at your option) any later version.
# There is NO WARRANTY for this software, express or implied,
@@ -9,78 +9,37 @@
# NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
# have received a copy of GPLv2 along with this software; if not, see
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
module Katello
-class PackagesController < Katello::ApplicationController
- before_filter :lookup_package, except: [:auto_complete]
- before_filter :find_filter, only: [:auto_complete]
- before_filter :authorize
+ class PackagesController < Katello::ApplicationController
+ before_filter :lookup_package, except: [:auto_complete]
- def rules
+ def auto_complete
+ repo_ids = readable_repos(:pulp_id)
+ results = Package.autocomplete_name("#{params[:term]}*", repo_ids)
- view = lambda do
- !Repository.readable_in_org(current_organization).where(
- :pulp_id => @package.repoids).empty?
+ render :json => results
end
- auto_complete = lambda do
- if @def_filter
- @def_filter.content_view_definition.readable?
- else
- false
- end
+ def details
+ render :partial => "details"
end
- {
- :auto_complete => auto_complete,
- :show => view,
- :filelist => view,
- :changelog => view,
- :dependencies => view,
- :details => view
- }
- end
+ private
- def auto_complete
- if @def_filter
- repoids = @def_filter.repos(current_organization.library).map(&:pulp_id)
- results = Package.autocomplete_name("#{params[:term]}*", repoids)
+ def lookup_package
+ repo_ids = readable_repos(:pulp_id)
+ package_id = params[:id]
+ @package = Package.find(package_id)
+ fail _("Unable to find package %s") % package_id if @package.nil?
+ deny_access if (@package.repoids & repo_ids).empty?
end
- render :json => results
+ def readable_repos(attribute)
+ repos = []
+ repos += Product.readable_repositories.pluck(attribute)
+ repos += ContentView.readable_repositories.pluck(attribute)
+ repos
+ end
end
-
- def show
- render :partial => "show"
- end
-
- def filelist
- render :partial => "filelist"
- end
-
- def changelog
- render :partial => "changelog"
- end
-
- def dependencies
- render :partial => "dependencies"
- end
-
- def details
- render :partial => "details"
- end
-
- private
-
- def lookup_package
- @package_id = params[:id]
- @package = Package.find @package_id
- fail _("Unable to find package %s") % @package_id if @package.nil?
- end
-
- def find_filter
- @def_filter = Filter.find_by_id(params[:filter_id])
- end
-
-end
end