class Pdf::Admissions::ApplicantListService < Pdf::NewApplicationService
  def initialize(school, applicants, review, enrollment)
    @applicants = applicants.decorate
    @school = school
    @review = review
    @enrollment = enrollment
  end

  private
    def body
      ActionController::Base.new.render_to_string(
        partial: 'pdf/admissions/applicant_list.html.haml',
        locals: {
          side_content: { date: Time.zone.today },
          applicants: @applicants,
          review: @review,
          enrollment: @enrollment
        }
      )
    end

    def footer
      content = ActionController::Base.new.render_to_string(
        partial: 'pdf/footers/page_number.html.haml',
        locals: {
          side_content: "#{@applicants.size} #{@applicants.size == 1 ? 'applicant' : 'applicants'}"
        }
      )
      { content: content, spacing: 5 }
    end

    def configuration
      {}.tap do |config|
        config[:margin] = { top: 10, bottom: 20 }
      end
    end
end
