Newer
Older
dmpopidor / app / controllers / paginable / plans_controller.rb
class Paginable::PlansController < ApplicationController
  include Paginable
  # /paginable/plans/privately_visible/:page
  def privately_visible
    raise Pundit::NotAuthorizedError unless Paginable::PlanPolicy.new(current_user).privately_visible?
    plans = Plan.active(current_user)
    if params[:search].present?
      plans = plans.search(params[:search])
      plans = params[:page] == 'ALL' ? plans.page(1) : plans.page(params[:page])
    else
      plans = params[:page] == 'ALL' ? plans : plans.page(params[:page])
    end
    paginable_renderise(partial: 'privately_visible', scope: plans)
  end
  # GET /paginable/plans/organisationally_or_publicly_visible/:page
  def organisationally_or_publicly_visible
    raise Pundit::NotAuthorizedError unless Paginable::PlanPolicy.new(current_user).organisationally_or_publicly_visible?
    plans = Plan.organisationally_or_publicly_visible(current_user)
    if params[:search].present?
      plans = plans.search(params[:search])
      plans = params[:page] == 'ALL' ? plans.page(1) : plans.page(params[:page])
    else
      plans = params[:page] == 'ALL' ? plans : plans.page(params[:page])
    end
    paginable_renderise(partial: 'organisationally_or_publicly_visible', scope: plans)
  end
end