Sha256: a5bb1ef1aa172e64125357fefe7df6393f8b1e253b4cdef39733943271d8d783

Contents?: true

Size: 1.66 KB

Versions: 10

Compression:

Stored size: 1.66 KB

Contents

module Gaku
  class Courses::EnrollmentsController < GakuController

    authorize_resource class: false

    respond_to :js, only: %i( new enrolled_student enroll_class_group )

    def new
      @course = Course.find(params[:course_id])
      render 'gaku/courses/enrollments/class_groups/new'
    end

    def enroll_student
      @course = Course.find(params[:course_enrollment][:course_id])

      @course_enrollment = CourseEnrollment.new(params[:course_enrollment])
      if @course_enrollment.save
        render 'gaku/courses/enrollments/students/enroll'
      else
        @errors = @course_enrollment.errors
        render :error
      end
    end


    def enroll_class_group
      @course = Course.find(params[:course_id])
      @not_added_students = []

      unless params[:course][:class_group_id].blank?
        @class_group = ClassGroup.find(params[:course][:class_group_id])
        if @class_group.students.empty?
          flash_error(@course, t(:'alert.empty', resource: t(:'class_group.singular'))) && return
        else
          @not_added_students = @class_group.students - @course.students
          if @not_added_students.empty?
            flash_error(@course, t(:'alert.already_added', resource: t(:'student.plural'))) && return
          end
        end
        @course.enroll_class_group(@class_group)
        render 'gaku/courses/enrollments/class_groups/enroll'
      else
        flash_error(@course,t(:'alert.not_selected', resource: t(:'class_group.singular')))
      end
    end

    private

    def flash_error(respond_with_var,message)
      @course.errors[:base] << message
      render 'gaku/courses/enrollments/class_groups/enroll'
    end

  end
end

Version data entries

10 entries across 10 versions & 3 rubygems

Version Path
gaku-0.1.1 frontend/app/controllers/gaku/courses/enrollments_controller.rb
gaku_frontend-0.1.1 app/controllers/gaku/courses/enrollments_controller.rb
gaku-0.1.0 frontend/app/controllers/gaku/courses/enrollments_controller.rb
gaku_frontend-0.1.0 app/controllers/gaku/courses/enrollments_controller.rb
gaku_core-0.0.3 app/controllers/gaku/courses/enrollments_controller.rb
gaku-0.0.3 core/app/controllers/gaku/courses/enrollments_controller.rb
gaku-0.0.2 core/app/controllers/gaku/courses/enrollments_controller.rb
gaku_core-0.0.2 app/controllers/gaku/courses/enrollments_controller.rb
gaku-0.0.1 core/app/controllers/gaku/courses/enrollments_controller.rb
gaku_core-0.0.1 app/controllers/gaku/courses/enrollments_controller.rb