From c7b2c9e3af0b9aba235467462107ffb02b2ad86a Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 10 Dec 2015 18:59:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=88=A0=E9=99=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20admin=E4=B8=AD=E8=AF=BE=E7=A8=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=88=A0=E9=99=A4=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 21 +++++++++++++++------ app/views/admin/courses.html.erb | 3 --- app/views/courses/settings.html.erb | 7 +++++-- config/routes.rb | 2 +- public/javascripts/course.js | 2 +- 5 files changed, 22 insertions(+), 13 deletions(-) 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 @@ <%= format_date(course.created_at) %> - - <%= link_to(l(:button_delete), course_path(course), :method => :delete, :class => 'icon icon-del', :onClick=>"delcfm()" ) %> - <% end %> diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index 173d2de4a..650127aef 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -89,9 +89,12 @@ <% end %> <% if @course.is_delete == 1 %> -
<%=link_to "恢复该课程", course_path(@course), :method => :delete %>
+
<%=link_to "恢复该课程", renew_course_path(@course) %>
<% else %> -
<%=link_to "删除该课程", course_path(@course), :method => :delete %>
+
+ <%=link_to "删除该课程", course_path(@course), :method => :delete, :confirm=>"确认要删除该课程吗?" %> + (友情提示:删除该课程后如果您想恢复该课程,请联系系统管理员!) +
<% end %> diff --git a/config/routes.rb b/config/routes.rb index d242edd22..8bb530857 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -890,7 +890,7 @@ RedmineApp::Application.routes.draw do get 'member_score', :to => 'courses#member_score' post 'finishcourse' post 'restartcourse' - match "recover", :to => 'courses#recovery' + match "renew", :to => 'courses#renew', :via => [:post, :get], :as =>'renew' match "searchmembers", :controller => 'courses', :action => 'searchmembers', :via => [:post,:get] match "searchgroupmembers", :via => [:post, :get] match 'member_score_sort', :via => [:get] diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 15968772f..c61120f21 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -1362,4 +1362,4 @@ $(function(){ }); personalized_init(); -}); \ No newline at end of file +});