video_log
parent
6ef7ff36b2
commit
81380ea879
@ -0,0 +1,38 @@
|
||||
class AttendancesController < ApplicationController
|
||||
before_action :require_login
|
||||
before_action :find_course, only: [:create, :index]
|
||||
|
||||
def create
|
||||
ActiveRecord::Base.transaction do
|
||||
attendance = @course.course_attendances.create!(create_params)
|
||||
unless params[:group_ids].blank?
|
||||
params[:group_ids].each do |group_id|
|
||||
@course.course_attendance_groups.create!(course_group_id: group_id, course_attendance: attendance)
|
||||
end
|
||||
else
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def index
|
||||
|
||||
end
|
||||
|
||||
def show
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
||||
end
|
||||
|
||||
private
|
||||
def create_params
|
||||
params.permit(:name, :mode, :attendance_date, :start_time, :end_time)
|
||||
end
|
||||
end
|
@ -0,0 +1,13 @@
|
||||
class CourseAttendance < ApplicationRecord
|
||||
belongs_to :course
|
||||
belongs_to :user
|
||||
|
||||
has_many :course_attendance_groups, dependent: :destroy
|
||||
|
||||
validates :name, presence: true
|
||||
validates :mode, presence: true
|
||||
validates :attendance_date, presence: true
|
||||
validates :start_time, presence: true
|
||||
validates :end_time, presence: true
|
||||
|
||||
end
|
@ -0,0 +1,5 @@
|
||||
class CourseAttendanceGroup < ApplicationRecord
|
||||
belongs_to :course
|
||||
belongs_to :course_attendance
|
||||
belongs_to :course_group
|
||||
end
|
@ -0,0 +1,15 @@
|
||||
class CreateCourseAttendances < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
create_table :course_attendances do |t|
|
||||
t.references :course, index: true
|
||||
t.references :user, index: true
|
||||
t.string :name
|
||||
t.integer :mode, limit: 1, default: 0
|
||||
t.date :attendance_date
|
||||
t.time :start_time
|
||||
t.time :end_time
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,13 @@
|
||||
class CreateCourseAttendanceGroups < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
create_table :course_attendance_groups do |t|
|
||||
t.references :course, index: true
|
||||
t.references :course_attendance
|
||||
t.references :course_group, index: true
|
||||
|
||||
t.timestamps
|
||||
|
||||
add_index :course_attendances, [:course_attendance_id, :course_group_id, :course_id], name: "course_group_attendance", unique: true
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,5 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe CourseAttendanceGroup, type: :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
@ -0,0 +1,5 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe CourseAttendance, type: :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
Loading…
Reference in new issue