From 517a29116f28d7d9b08fdef3eb297860ab26453b Mon Sep 17 00:00:00 2001 From: nwb Date: Thu, 12 Jun 2014 10:53:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9message=5Fcontroller=E4=B8=8E?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=9B=B8=E5=85=B3=E6=96=B9=E6=B3=95=E5=8F=8A?= =?UTF-8?q?=E8=A7=86=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/messages_controller.rb | 12 +++++++++--- app/views/messages/show.html.erb | 6 +++++- lib/redmine.rb | 12 +++++++++++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 150071b41..c35edfa1f 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -49,7 +49,7 @@ class MessagesController < ApplicationController all @reply = Message.new(:subject => "RE: #{@message.subject}") - if @message.board.project.project_type ==1 + if @course render :action => "show", :layout => "base_courses"#by young else render :action => "show", :layout => "base_projects"#by young @@ -138,8 +138,14 @@ private end def find_board - @board = Board.find(params[:board_id], :include => :project) - @project = @board.project + #modify by nwb + @board = Board.find(params[:board_id]) + if @board.project_id != -1 && @board.project_id != nil + @project = @board.project + elsif @board.course_id + @course = @board.course + end + rescue ActiveRecord::RecordNotFound render_404 nil diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index 4f22fd140..de8bf9003 100644 --- a/app/views/messages/show.html.erb +++ b/app/views/messages/show.html.erb @@ -92,7 +92,11 @@
- <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject, project_boards_path(@topic.project) %> + <% if @project %> + <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject, project_boards_path(@topic.project) %> + <% elsif @course %> + <%= label_tag l(:field_subject) %>: <%= link_to @topic.subject, course_boards_path(@topic.course) %> + <% end %>
<%= textilizable(@topic, :content) %> diff --git a/lib/redmine.rb b/lib/redmine.rb index b65a1b686..4550dd49e 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -118,10 +118,20 @@ Redmine::AccessControl.map do |map| map.permission :comment_news, {:comments => :create} end #作业模块权限 - map.project_module :bids do |map| + map.course_module :bids do |map| map.permission :view_homework_attaches, {:bids => [:show, :show_project, :revision]}, :read => true end + map.course_module :boards do |map| + map.permission :manage_boards, {:boards => [:new, :create, :edit, :update, :destroy]}, :require => :member + map.permission :view_messages, {:boards => [:index, :show], :messages => [:show]}, :public => true, :read => true + map.permission :add_messages, {:messages => [:new, :reply, :quote]} + map.permission :edit_messages, {:messages => :edit}, :require => :member + map.permission :edit_own_messages, {:messages => :edit}, :require => :loggedin + map.permission :delete_messages, {:messages => :destroy}, :require => :member + map.permission :delete_own_messages, {:messages => :destroy}, :require => :loggedin + end + #end map.project_module :issue_tracking do |map|