logics_controller.rb revision 6f91bdc1c03bee33882518bd6b5f072968562061
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa#
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa# Controller for Logics
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa#
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksaclass LogicsController < InheritedResources::Base
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa actions :index, :show
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa respond_to :json, :xml
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa has_pagination
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa has_scope :search
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa load_and_authorize_resource :except => [:index, :show]
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa def index
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa super do |format|
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa format.html do
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @search = params[:search]
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @search = nil if @search.blank?
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa def show
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @tab = params[:tab].try(:to_sym)
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa super do |format|
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa format.html do
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @depth = params[:depth] ? params[:depth].to_i : 3
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @mappings_from = resource.mappings_from
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @mappings_to = resource.mappings_to
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @ontologies = resource.ontologies
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @relation_list ||= RelationList.new [resource, :supports],
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa :model => Support,
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa :collection => resource.supports,
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa :association => :language,
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa :scope => [Language]
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa protected
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa def collection
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa if all_logics?
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa super
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa else
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa logics = Logic.all.select{|l| !l.ontologies.empty?}
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa @counter = logics.size
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa collection = Kaminari.paginate_array(logics).page(params[:page])
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa def authorize_parent
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa #not needed
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa helper_method :all_logics?
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa def all_logics?
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa params[:all].present?
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa end
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksaend
e8f1bf1654f0dcec50e12fe138031159a9ee529aEugen Kuksa