Project

General

Profile

Download (1.98 KB) Statistics
| Branch: | Tag: | Revision:
#
# 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
(19-19/31)