diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index f7b945875..f14a637dc 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -46,6 +46,11 @@ module ApplicationHelper
def authorize_for(controller, action)
User.current.allowed_to?({:controller => controller, :action => action}, @project)
end
+
+ # add by nwb
+ def authorize_for_course(controller, action)
+ User.current.allowed_to?({:controller => controller, :action => action}, @course)
+ end
def authorize_for_contest(controller, action)
User.current.allowed_to?({:controller => controller, :action => action}, @contest)
diff --git a/app/views/messages/_course_show.html.erb b/app/views/messages/_course_show.html.erb
new file mode 100644
index 000000000..243406a3c
--- /dev/null
+++ b/app/views/messages/_course_show.html.erb
@@ -0,0 +1,200 @@
+
+
+
+
+
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
+
+ <%= watcher_link(@topic, User.current) %>
+ <%= link_to(
+ l(:button_quote),
+ {:action => 'quote', :id => @topic},
+ :remote => true,
+ :method => 'get',
+ :class => 'icon icon-comment',
+ :remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ <%= link_to(
+ l(:button_edit),
+ {:action => 'edit', :id => @topic},
+ :class => 'icon icon-edit'
+ ) if @message.editable_by?(User.current) %>
+ <%= link_to(
+ l(:button_delete),
+ {:action => 'destroy', :id => @topic},
+ :method => :post,
+ :data => {:confirm => l(:text_are_you_sure)},
+ :class => 'icon icon-del'
+ ) if @message.destroyable_by?(User.current) %>
+
+
+
+
+ <%= link_to image_tag(url_to_avatar(@topic.author), :class => "avatar"), user_path(@topic.author) %>
+
+
+ <%= link_to @topic.author, user_path(@topic.author) %>
+
+
+
+
+ <% 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) %>
+ <%= link_to_attachments @topic, :author => false %>
+
+
+
<%= authoring @topic.created_on, @topic.author %>
+
+
+
<%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %>
+
+
+
+
+
+
+
+
+
+<% unless @replies.empty? %>
+
+
+
+
+
+ <% reply_count = 0 %>
+ <% @replies.each do |message| %>
+ ">
+
+
+
+
+ <%= link_to image_tag(url_to_avatar(message.author), :class => "avatar"), user_path(message.author) %> |
+
+
+ <%= link_to(
+ "引用",
+ {:action => 'quote', :id => message},
+ :remote => true,
+ :method => 'get',
+ :title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ <%= link_to(
+ #image_tag('edit.png'),
+ "编辑",
+ {:action => 'edit', :id => message},
+ :title => l(:button_edit)
+ ) if message.editable_by?(User.current) %>
+ <%= link_to(
+ #image_tag('delete.png'),
+ "删除",
+ {:action => 'destroy', :id => message},
+ :method => :post,
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:button_delete)
+ ) if message.destroyable_by?(User.current) %>
+ |
+
+
+
+
+
+
+ <%= authoring message.created_on, message.author %> |
+
+
+
+
+ <% end %>
+
+<% end %>
+
+
+
+
+<% if !@topic.locked? && authorize_for_course('messages', 'reply') %>
+
+ <%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message-form'} do |f| %>
+ <%= render :partial => 'form', :locals => {:f => f, :replying => true} %>
+ <%= submit_tag l(:button_submit) %>
+ <%= preview_link({:controller => 'messages', :action => 'preview', :board_id => @board}, 'message-form') %>
+ <% end %>
+
+
+<% end %>
+
+<% html_title @topic.subject %>
+
+
\ No newline at end of file
diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb
new file mode 100644
index 000000000..4456f36e9
--- /dev/null
+++ b/app/views/messages/_project_show.html.erb
@@ -0,0 +1,200 @@
+
+
+
+
+
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
+
+ <%= watcher_link(@topic, User.current) %>
+ <%= link_to(
+ l(:button_quote),
+ {:action => 'quote', :id => @topic},
+ :remote => true,
+ :method => 'get',
+ :class => 'icon icon-comment',
+ :remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ <%= link_to(
+ l(:button_edit),
+ {:action => 'edit', :id => @topic},
+ :class => 'icon icon-edit'
+ ) if @message.editable_by?(User.current) %>
+ <%= link_to(
+ l(:button_delete),
+ {:action => 'destroy', :id => @topic},
+ :method => :post,
+ :data => {:confirm => l(:text_are_you_sure)},
+ :class => 'icon icon-del'
+ ) if @message.destroyable_by?(User.current) %>
+
+
+
+
+ <%= link_to image_tag(url_to_avatar(@topic.author), :class => "avatar"), user_path(@topic.author) %>
+
+
+ <%= link_to @topic.author, user_path(@topic.author) %>
+
+
+
+
+ <% 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) %>
+ <%= link_to_attachments @topic, :author => false %>
+
+
+
<%= authoring @topic.created_on, @topic.author %>
+
+
+
<%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %>
+
+
+
+
+
+
+
+
+
+<% unless @replies.empty? %>
+
+
+
+
+
+ <% reply_count = 0 %>
+ <% @replies.each do |message| %>
+ ">
+
+
+
+
+ <%= link_to image_tag(url_to_avatar(message.author), :class => "avatar"), user_path(message.author) %> |
+
+
+ <%= link_to(
+ "引用",
+ {:action => 'quote', :id => message},
+ :remote => true,
+ :method => 'get',
+ :title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ <%= link_to(
+ #image_tag('edit.png'),
+ "编辑",
+ {:action => 'edit', :id => message},
+ :title => l(:button_edit)
+ ) if message.editable_by?(User.current) %>
+ <%= link_to(
+ #image_tag('delete.png'),
+ "删除",
+ {:action => 'destroy', :id => message},
+ :method => :post,
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:button_delete)
+ ) if message.destroyable_by?(User.current) %>
+ |
+
+
+
+
+
+
+ <%= authoring message.created_on, message.author %> |
+
+
+
+
+ <% end %>
+
+<% end %>
+
+
+
+
+<% if !@topic.locked? && authorize_for('messages', 'reply') %>
+
+ <%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message-form'} do |f| %>
+ <%= render :partial => 'form', :locals => {:f => f, :replying => true} %>
+ <%= submit_tag l(:button_submit) %>
+ <%= preview_link({:controller => 'messages', :action => 'preview', :board_id => @board}, 'message-form') %>
+ <% end %>
+
+
+<% end %>
+
+<% html_title @topic.subject %>
+
+
\ No newline at end of file
diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb
index 24dffbc41..6e5888363 100644
--- a/app/views/messages/show.html.erb
+++ b/app/views/messages/show.html.erb
@@ -1,200 +1,5 @@
-
-
-
-
-
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
-
- <%= watcher_link(@topic, User.current) %>
- <%= link_to(
- l(:button_quote),
- {:action => 'quote', :id => @topic},
- :remote => true,
- :method => 'get',
- :class => 'icon icon-comment',
- :remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
- <%= link_to(
- l(:button_edit),
- {:action => 'edit', :id => @topic},
- :class => 'icon icon-edit'
- ) if @message.editable_by?(User.current) %>
- <%= link_to(
- l(:button_delete),
- {:action => 'destroy', :id => @topic},
- :method => :post,
- :data => {:confirm => l(:text_are_you_sure)},
- :class => 'icon icon-del'
- ) if @message.destroyable_by?(User.current) %>
-
-
-
-
- <%= link_to image_tag(url_to_avatar(@topic.author), :class => "avatar"), user_path(@topic.author) %>
-
-
- <%= link_to @topic.author, user_path(@topic.author) %>
-
-
-
-
- <% 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) %>
- <%= link_to_attachments @topic, :author => false %>
-
-
-
<%= authoring @topic.created_on, @topic.author %>
-
-
-
<%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %>
-
-
-
-
-
-
-
-
-
-<% unless @replies.empty? %>
-
-
-
-
-
-<% reply_count = 0 %>
-<% @replies.each do |message| %>
-">
-
-
-
-
- <%= link_to image_tag(url_to_avatar(message.author), :class => "avatar"), user_path(message.author) %> |
-
-
- <%= link_to(
- "引用",
- {:action => 'quote', :id => message},
- :remote => true,
- :method => 'get',
- :title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
- <%= link_to(
- #image_tag('edit.png'),
- "编辑",
- {:action => 'edit', :id => message},
- :title => l(:button_edit)
- ) if message.editable_by?(User.current) %>
- <%= link_to(
- #image_tag('delete.png'),
- "删除",
- {:action => 'destroy', :id => message},
- :method => :post,
- :data => {:confirm => l(:text_are_you_sure)},
- :title => l(:button_delete)
- ) if message.destroyable_by?(User.current) %>
- |
-
-
-
-
-
-
- <%= authoring message.created_on, message.author %> |
-
-
-
-
+<% if @project %>
+ <%= render :partial => 'project_show', locals: {project: @project} %>
+<% elsif @course %>
+ <%= render :partial => 'course_show', locals: {course: @course} %>
<% end %>
-
-<% end %>
-
-
-
-
-<% if !@topic.locked? && authorize_for('messages', 'reply') %>
-
- <%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message-form'} do |f| %>
- <%= render :partial => 'form', :locals => {:f => f, :replying => true} %>
- <%= submit_tag l(:button_submit) %>
- <%= preview_link({:controller => 'messages', :action => 'preview', :board_id => @board}, 'message-form') %>
- <% end %>
-
-
-<% end %>
-
-<% html_title @topic.subject %>
-
-
\ No newline at end of file