From e3c4b3f3ff7bb56f535b5c471e9c0b71449cd893 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Tue, 17 Mar 2020 16:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=A2=9E=E5=8A=A0=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=92=8C=E6=9B=B4=E6=96=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attendances_controller.rb | 15 +++++++++++++++ app/views/attendances/edit.json.jbuilder | 4 ++++ 2 files changed, 19 insertions(+) create mode 100644 app/views/attendances/edit.json.jbuilder diff --git a/app/controllers/attendances_controller.rb b/app/controllers/attendances_controller.rb index c8287f413..985052f18 100644 --- a/app/controllers/attendances_controller.rb +++ b/app/controllers/attendances_controller.rb @@ -2,6 +2,7 @@ class AttendancesController < ApplicationController before_action :require_login before_action :find_course, only: [:index, :statistics] + before_action :find_attendance, except: [:index, :statistics] before_action :user_course_identity def index @@ -66,9 +67,23 @@ class AttendancesController < ApplicationController @avg_leave_rate = data[:avg_leave_rate] end + def edit + @groups = @course.course_groups.where(id: @attendance.course_attendance_groups.pluck(:course_group_id)) + end + + def update + tip_exception(403, "") unless @user_course_identity < Course::PROFESSOR || @attendance.user_id == current_user.id + @attendance.update!(update_params) + render_ok + end + private def find_attendance @attendance = CourseAttendance.find params[:id] @course = @attendance.course end + + def update_params + params.permit(:name, :mode, :attendance_date, :start_time, :end_time) + end end \ No newline at end of file diff --git a/app/views/attendances/edit.json.jbuilder b/app/views/attendances/edit.json.jbuilder new file mode 100644 index 000000000..77d2b09f3 --- /dev/null +++ b/app/views/attendances/edit.json.jbuilder @@ -0,0 +1,4 @@ +json.(@attendance, :name, :mode, :attendance_date, :start_time, :end_time) +json.groups @groups do |group| + json.(group, :id, :name) +end \ No newline at end of file