Sha256: 1a215fa043a1fea683bf8ad3150a0a19892b526114bfa96edaf8fbb62f82f8ec

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

require_dependency "audits1984/application_controller"

module Audits1984
  class AuditsController < ApplicationController
    include FilteredSessionsScoped

    before_action :set_session
    before_action :set_audit, only: %i[ update ]

    def create
      @audit = @session.audits.create!(audit_param.merge(auditor: Current.auditor))
      redirect_to_next_session
    end

    def update
      @audit.update!(audit_param)
      redirect_to_next_session
    end

    private
      def set_session
        @session = Console1984::Session.find(params[:session_id])
      end

      def set_audit
        @audit = @session.audits.find(params[:id])
      end

      def audit_param
        params.require(:audit).permit(:notes, :status)
      end

      def redirect_to_next_session
        next_path = if next_session = @filtered_sessions.pending_session_after(@session)
          next_session
        else
          sessions_path
        end

        redirect_to next_path, notice: "Session #{@session.id} was #{@audit.status}"
      end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
audits1984-0.1.7 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.6 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.5 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.4 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.3 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.2 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.1 app/controllers/audits1984/audits_controller.rb
audits1984-0.1.0 app/controllers/audits1984/audits_controller.rb