Sha256: 65d246be8facb2812c13d3627314c674f0216cee77f9fabdfbbf342674755cba
Contents?: true
Size: 1.56 KB
Versions: 13
Compression:
Stored size: 1.56 KB
Contents
class Bhf::PagesController < Bhf::ApplicationController before_filter :set_page, :store_location def show unless platform_options = @config.content_for_page(@page) raise Exception.new("Page '#{@page}' could not be found") end if request.xhr? params.each do |key, value| return render_platform(key) if value.is_a?(Hash) end end @platforms = platform_options.each_with_object([]) do |opts, obj| platform = Bhf::Platform.new(opts, @page, current_account) platform.pagination = Bhf::Pagination.new(platform.entries_per_page) paginate_platform_objects(platform) obj << platform end end private def set_page @page = params[:page] end def render_platform(platform_name) @platform = @config.find_platform(platform_name, current_account) @platform.pagination = Bhf::Pagination.new(@platform.entries_per_page) paginate_platform_objects(@platform) render '_platform', :layout => false end def check_params(platform) page = 1 if params[platform.name] && !params[platform.name][:page].blank? page = params[platform.name][:page].to_i end per_page = platform.pagination.offset_per_page if params[platform.name] && !params[platform.name][:per_page].blank? per_page = params[platform.name][:per_page].to_i end return :page => page, :per_page => per_page end def paginate_platform_objects(platform) platform.prepare_objects(params[platform.name] || {}, check_params(platform)) end end
Version data entries
13 entries across 13 versions & 1 rubygems