|
#
|
|
# 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,
|
|
# including the implied warranties of MERCHANTABILITY,
|
|
# 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
|
|
|
|
def rules
|
|
|
|
view = lambda do
|
|
!Repository.readable_in_org(current_organization).where(
|
|
:pulp_id => @package.repoids).empty?
|
|
end
|
|
|
|
auto_complete = lambda do
|
|
if @def_filter
|
|
@def_filter.content_view_definition.readable?
|
|
else
|
|
false
|
|
end
|
|
end
|
|
|
|
{
|
|
:auto_complete => auto_complete,
|
|
:show => view,
|
|
:filelist => view,
|
|
:changelog => view,
|
|
:dependencies => view,
|
|
:details => view
|
|
}
|
|
end
|
|
|
|
def auto_complete
|
|
if @def_filter
|
|
repoids = @def_filter.repos(current_organization.library).map(&:pulp_id)
|
|
results = Package.autocomplete_name("#{params[:term]}*", repoids)
|
|
end
|
|
|
|
render :json => results
|
|
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
|