From 86b9daf821aa0227c1f22cef7a9427ac9e3a9360 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 20 May 2015 17:53:01 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E6=96=B0=E5=BB=BA=E3=80=81=E4=BF=AE=E6=94=B9=E4=BD=9C=E5=93=81?= =?UTF-8?q?=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2=202=E3=80=81homework=5Fcom?= =?UTF-8?q?mon=5Fcontrol=E5=A2=9E=E5=8A=A0=E6=9D=83=E9=99=90=E5=88=A4?= =?UTF-8?q?=E6=96=AD=203=E3=80=81=E5=AD=A6=E7=94=9F=E8=BF=9B=E5=85=A5?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E5=BD=93=E5=89=8D=E7=8A=B6=E6=80=81=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 5 + app/controllers/student_work_controller.rb | 26 ++++- app/helpers/homework_common_helper.rb | 8 +- app/views/student_work/edit.html.erb | 100 ++++++++++++++++++ app/views/student_work/new.html.erb | 42 +++++++- 5 files changed, 174 insertions(+), 7 deletions(-) create mode 100644 app/views/student_work/edit.html.erb diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index a6702de5f..2c7301c70 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -2,6 +2,7 @@ class HomeworkCommonController < ApplicationController layout "base_courses" before_filter :find_course, :only => [:index,:new,:create] before_filter :find_homework, :only => [:edit,:update] + before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment] def index homeworks = @course.homework_commons @@ -151,4 +152,8 @@ class HomeworkCommonController < ApplicationController rescue render_404 end + #是不是课程的老师 + def teacher_of_course + render_403 unless User.current.allowed_to?(:as_teacher,@course) + end end \ No newline at end of file diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index f0538b799..aa8bf28bb 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -1,6 +1,9 @@ class StudentWorkController < ApplicationController layout "base_courses" - before_filter :find_homework, :only => [:new, :index] + before_filter :find_homework, :only => [:new, :index, :create] + before_filter :find_work, :only => [:edit, :update, :show, :destroy] + before_filter :member_of_course, :only => [:index, :new, :create, :show] + before_filter :author_of_work, :only => [:edit, :update, :destroy] def index respond_to do |format| @@ -9,7 +12,6 @@ class StudentWorkController < ApplicationController end def new - respond_to do |format| format.html end @@ -27,6 +29,14 @@ class StudentWorkController < ApplicationController end + def show + + end + + def destroy + + end + private #获取作业 def find_homework @@ -42,4 +52,16 @@ class StudentWorkController < ApplicationController rescue render_404 end + + #是不是当前课程的成员 + #当前课程成员才可以看到作品列表 + def member_of_course + render_403 unless User.current.member_of_course? @course + end + + #判断是不是当前作品的提交者 + #提交者可以编辑作品 + def author_of_work + render_403 unless User.current.id == @work.user_id + end end \ No newline at end of file diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb index aa4645d0e..3fcd0a890 100644 --- a/app/helpers/homework_common_helper.rb +++ b/app/helpers/homework_common_helper.rb @@ -2,7 +2,7 @@ module HomeworkCommonHelper #获取匿评相关连接代码 def homework_anonymous_comment homework - if homework.homework_type == 2 && homework.homework_detail_manual #匿评作业 + if homework.homework_type == 1 && homework.homework_detail_manual #匿评作业 if homework.student_works.count >= 2 #作业份数大于2 case homework.homework_detail_manual.comment_status when 1 @@ -35,7 +35,7 @@ module HomeworkCommonHelper end def student_anonymous_comment homework - if homework.homework_type == 2 + if homework.homework_type == 1 && homework.homework_detail_manual case homework.homework_detail_manual.comment_status when 1 "未开启匿评".html_safe @@ -44,9 +44,9 @@ module HomeworkCommonHelper when 3 "匿评已结束".html_safe end - elsif homework.homework_type == 1 + elsif homework.homework_type == 0 "未启用匿评".html_safe - elsif homework.homework_type == 3 + elsif homework.homework_type == 2 "编程作业".html_safe end end diff --git a/app/views/student_work/edit.html.erb b/app/views/student_work/edit.html.erb new file mode 100644 index 000000000..a9bb9760e --- /dev/null +++ b/app/views/student_work/edit.html.erb @@ -0,0 +1,100 @@ +