Sha256: 1a6051f3c8a173ed37f4cbd0ec23bcf40629e5e4121776fd8e01c26e6d90b888

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

module Gaku
  class Syllabuses::ExamsController < GakuController

    load_and_authorize_resource :syllabus, class: Gaku::Syllabus
    load_and_authorize_resource :exam, through: :syllabus, class: Gaku::Exam

    inherit_resources
    belongs_to :syllabus, parent_class: Gaku::Syllabus
    respond_to :js, :html

    before_filter :syllabus
    before_filter :exam_syllabus, only: :update
    before_filter :load_data

    def create
      @exam = @syllabus.exams.create(params[:exam])
      create!
    end

    def new
      @exam = @syllabus.exams.new
      @exam.exam_portions.build
      new!
    end

    protected

    def resource_params
      return [] if request.get?
      [params.require(:exam).permit!]
    end

    private

    def exam_attr
      [:name, :description, :adjustments, { exam_portions_attributes: [] }]
    end

    def load_data
      @grading_methods = GradingMethod.all.map { |s| [s.name, s.id] }
    end

    def syllabus
      @syllabus = Syllabus.find(params[:syllabus_id])
    end

    def exam_syllabus
      @exam_syllabus = ExamSyllabus.find_by_exam_id_and_syllabus_id(params[:id], params[:syllabus_id])
    end


  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
gaku-0.0.2 core/app/controllers/gaku/syllabuses/exams_controller.rb
gaku_core-0.0.2 app/controllers/gaku/syllabuses/exams_controller.rb
gaku-0.0.1 core/app/controllers/gaku/syllabuses/exams_controller.rb
gaku_core-0.0.1 app/controllers/gaku/syllabuses/exams_controller.rb