diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 909c13db8..1b0ead141 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -25,6 +25,7 @@ class CoursesController < ApplicationController before_filter :authorize_course, :only => [:show, :settings, :update, :course] before_filter :authorize_course_global, :only => [:new,:create] before_filter :toggleCourse, :only => [:finishcourse, :restartcourse] + before_filter :is_deleted, :only => [:show, :settings] before_filter :require_login, :only => [:join, :unjoin] #before_filter :allow_join, :only => [:join] @@ -581,6 +582,13 @@ class CoursesController < ApplicationController end end + def is_deleted + if @course.is_delete == 1 and !User.current.admin? + render_404 + return + end + end + def get_courses @user = User.current membership = @user.coursememberships.all @@ -635,10 +643,10 @@ class CoursesController < ApplicationController def show # 被删除的课程只有超级管理员才能看到,is_delete为1的时候,标记课程被删除 - if @course.is_delete == 1 && User.current.admin? - render_403 - return - end + # if @course.is_delete == 1 && !User.current.admin? + # render_403 + # return + # end #更新创建课程消息状态 create_course_messages = @course.course_messages.where("user_id =? and course_message_type =? and course_id =? and viewed =?", User.current.id, 'Course', @course.id, 0) create_course_messages.update_all(:viewed => true) @@ -786,11 +794,12 @@ class CoursesController < ApplicationController end # 恢复已删除的课程 - def recovery + def renew if User.current.admin? @course.update_attributes(:is_delete => false) + redirect_to course_path(@course) else - return 403 + return 404 end end diff --git a/app/views/admin/courses.html.erb b/app/views/admin/courses.html.erb index 0bd4fb509..1615bccbc 100644 --- a/app/views/admin/courses.html.erb +++ b/app/views/admin/courses.html.erb @@ -67,9 +67,6 @@