Sha256: ec03ecd893b96f73bf0f4b73aa0a69065b51c590549b3feb146528befbf264b5

Contents?: true

Size: 1.92 KB

Versions: 16

Compression:

Stored size: 1.92 KB

Contents

module Gaku
  class CourseGroupsController < GakuController

    helper_method :sort_column, :sort_direction

    # respond_to :js,   only: %i( new create edit update destroy recovery )
    # respond_to :html, only: %i( index edit update soft_delete )
    respond_to :html, :js

    before_action :set_course_group,          only: %i( edit show update destroy )
    before_action :set_courses

    def destroy
      @course_group.destroy
      set_count
      respond_with @course_group
    end

    def new
      @course_group = CourseGroup.new
      respond_with @course_group
    end

    def create
      @course_group = CourseGroup.new(course_group_params)
      @course_group.save
      set_count
      respond_with @course_group
    end

    def edit
      @course_group_enrollment = CourseGroupEnrollment.new
    end

    def update
      @course_group.update(course_group_params)
      respond_with(@course_group) do |format|
        format.js { render }
        format.html { redirect_to [:edit, @course_group] }
      end
    end

    def index
      @course_groups = CourseGroup.order(sort_column + ' ' + sort_direction)
      set_count
      respond_with @course_groups
    end

    private

    def course_group_params
      params.require(:course_group).permit(attributes)
    end

    def attributes
      %i( name code )
    end

    def set_course_group
      @course_group = CourseGroup.find(params[:id])
      set_notable
    end

    def set_courses
      @courses = Course.all
    end

    def t_resource
      t(:'course_group.singular')
    end

    def set_notable
      @notable = @course_group
      @notable_resource = get_resource_name @notable
    end

    def set_count
      @count = CourseGroup.count
    end

    def sort_column
      ClassGroup.column_names.include?(params[:sort]) ? params[:sort] : 'name'
    end

    def sort_direction
      %w(asc desc).include?(params[:direction]) ? params[:direction] : 'asc'
    end

  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
gaku_frontend-0.3.0 app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.3.0.pre.4 app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.3.0.pre.3 app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.3.0.pre.2 app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.3.0.pre.1 app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.3.0.pre.0 app/controllers/gaku/course_groups_controller.rb
gaku-0.2.4 frontend/app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.2.4 app/controllers/gaku/course_groups_controller.rb
gaku-0.2.3 frontend/app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.2.3 app/controllers/gaku/course_groups_controller.rb
gaku-0.2.2 frontend/app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.2.2 app/controllers/gaku/course_groups_controller.rb
gaku-0.2.1 frontend/app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.2.1 app/controllers/gaku/course_groups_controller.rb
gaku-0.2.0 frontend/app/controllers/gaku/course_groups_controller.rb
gaku_frontend-0.2.0 app/controllers/gaku/course_groups_controller.rb