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 @@ +
+

编辑作品

+
+
+
+ + +
+
+
+
+

+ + + 项目信息 +

+
+

+ + + 快速创建 +

+
+

+ + +

+
+

+ +     -文件不超过200MB +

+
+

+ 提交作品重  置 +

+

+
+ +
+
+
+ +
+
+

添加成员

+ +
+
+
+
+ +
\ No newline at end of file diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb index 973393412..dbd549c4c 100644 --- a/app/views/student_work/new.html.erb +++ b/app/views/student_work/new.html.erb @@ -1 +1,41 @@ -新建作品 \ No newline at end of file +
+

创建作品

+
+
+
+
+
+

+ + + 项目信息 +

+
+

+ + + +

+
+

+ + +

+
+

+ +     -文件不超过200MB +

+
+

+ 提交作品重  置 +

+

+
+
+
+
+
\ No newline at end of file