Sha256: c8821b854d3762369311fdb8d6a1e2ccffb8c328c39fa08be716164e0ac0f509

Contents?: true

Size: 1.61 KB

Versions: 17

Compression:

Stored size: 1.61 KB

Contents

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

17 entries across 17 versions & 1 rubygems

Version Path
renalware-core-2.0.16 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.15 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.14 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.13 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.12 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.11 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.9 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.8 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.7 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.5 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.4 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.3 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.2 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.1 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc13 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc11 app/controllers/renalware/reporting/audits_controller.rb