Sha256: c104df05baa3c2b7778715349913ea02700930e6118f7859893db84b5796700d

Contents?: true

Size: 1.61 KB

Versions: 12

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.all, 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

12 entries across 12 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.rc10 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc9 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc8 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc7 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc6 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc5 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc4 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc3 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.rc1 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.beta12 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.beta11 app/controllers/renalware/reporting/audits_controller.rb
renalware-core-2.0.0.pre.beta10 app/controllers/renalware/reporting/audits_controller.rb