Sha256: a3e4ead50e46d5673132749ff5fc416534786ca4a8c9fc368c0ffc76cd48e996

Contents?: true

Size: 1.19 KB

Versions: 17

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/letters"

module Renalware
  module Letters
    class ListsController < Letters::BaseController
      include Renalware::Concerns::Pageable

      def show
        query = LetterQuery.new(q: params[:q])
        letters = find_and_authorize_letters(query)

        locals = {
          letters: letters,
          authors: User.author.ordered,
          typists: User.ordered,
          q: query.search
        }
        respond_to do |format|
          format.html do
            render locals: locals
          end
          format.js do
            render locals: locals, layout: false
          end
        end
      end

      private

      def find_and_authorize_letters(query)
        collection = call_query(query).page(page).per(per_page)
        present_letters(collection).tap { |letters| authorize letters }
      end

      def present_letters(letters)
        CollectionPresenter.new(letters, LetterPresenterFactory)
      end

      def call_query(query)
        query
          .call
          .with_patient
          .with_main_recipient
          .with_letterhead
          .with_author
          .with_created_by
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
renalware-core-2.0.35 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.34 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.33 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.32 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.31 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.30 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.28 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.27 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.26 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.25 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.24 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.23 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.22 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.21 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.20 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.18 app/controllers/renalware/letters/lists_controller.rb
renalware-core-2.0.17 app/controllers/renalware/letters/lists_controller.rb