Sha256: 61b6efce47dc690edc3736edfccb85424b342003f378bcf65a8cf43c87ce90f6

Contents?: true

Size: 1.64 KB

Versions: 55

Compression:

Stored size: 1.64 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/reporting"

module Renalware
  module Reporting
    class AuditsController < BaseController
      include PresenterHelper

      def index
        authorize Audit, :index?
        render locals: { audits: present(Audit.enabled, AuditPresenter) }
      end

      def show
        authorize audit
        respond_to do |format|
          format.html { render locals: { audit: audit } }
          format.json { render json: FetchAuditJson.call(audit.view_name) }
        end
      end

      def edit
        authorize audit
        render_edit
      end

      def update
        authorize audit
        if audit.update(audit_params)
          redirect_to reporting_audits_path, notice: success_msg_for("audit")
        else
          render_edit
        end
      end

      private

      def audit
        @audit ||= Audit.find(params[:id])
      end

      # Takes an array (rows) of arrays (cells) and replaces any nil elements
      # with an empty string so JS data tables does not baulk with 'nil undefined' error.
      def replace_nils_with_empty_string(values)
        values.map{ |row| row.map{ |cell| cell || "" } }
      end

      def render_edit
        render :edit, locals: {
          audit: audit,
          available_data_sources: Renalware::Reporting::Audit.available_audit_materialized_views
        }
      end

      def audit_params
        params.require(:reporting_audit)
              .permit(
                :name,
                :description,
                :view_name,
                :display_configuration,
                :refresh_schedule
              )
      end
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
renalware-core-2.0.77 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.76 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.75 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.74 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.73 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.72 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.71 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.70 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.69 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.68 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.67 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.64 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.63 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.62 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.61 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.60 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.58 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.57 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.56 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.55 app/controllers/renalware/reporting/audits_controller.rb