|
|
|
@ -1,186 +1,59 @@
|
|
|
|
|
<div class="project_r_h" xmlns="http://www.w3.org/1999/html">
|
|
|
|
|
<h2 class="project_h2 fl">
|
|
|
|
|
<div class="project_r_h">
|
|
|
|
|
<h2 class="project_h2">
|
|
|
|
|
<% if User.current.language == "zh"%>
|
|
|
|
|
<%= h @board.name %>
|
|
|
|
|
<% else %>
|
|
|
|
|
<%= l(:project_module_boards) %>
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
|
|
</h2>
|
|
|
|
|
<a href="javascript:void(0)" class="green_btn fr newtalk " onclick="show_newtalk();"><%= l(:label_message_new) %></a>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--display the board-->
|
|
|
|
|
<% if !User.current.logged? %>
|
|
|
|
|
<div class="c_grey f14">
|
|
|
|
|
<%= l(:label_user_login_project_board) %>
|
|
|
|
|
<%= link_to l(:label_user_login_new), signin_path, :class => "c_blue ml5" %>
|
|
|
|
|
<%= l(:label_user_login_project_board) %>
|
|
|
|
|
<%= link_to l(:label_user_login_new), signin_path, :class => "c_blue ml5" %>
|
|
|
|
|
</div>
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
|
|
<!-- 发布新帖部分 -->
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
<div class=" talklist_box" >
|
|
|
|
|
<div class="talk_new ml15 mb10" id="about_newtalk" style="display:<%= !@flag.nil? && @flag=='true' ? 'block' : 'none' %>;">
|
|
|
|
|
<ul>
|
|
|
|
|
<%= render :partial => 'project_new_topic' %>
|
|
|
|
|
</ul>
|
|
|
|
|
</div><!--talknew end-->
|
|
|
|
|
|
|
|
|
|
<!-- 帖子内容显示 -->
|
|
|
|
|
<p class="c_dark mb5">讨论区共有<span class="c_orange"><%= @topic_count %></span>个帖子</p>
|
|
|
|
|
<% if @topics.any? %>
|
|
|
|
|
<% @topics.each do |topic| %>
|
|
|
|
|
<div class="talkmain_box" style="border:none; margin-bottom:0; border-bottom: 1px dashed #d9d9d9;">
|
|
|
|
|
<%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %>
|
|
|
|
|
<div class="talkmain_txt fl mt5">
|
|
|
|
|
<% author = topic.author.to_s + ":" %>
|
|
|
|
|
<%= link_to author, user_path(topic.author), :class =>"talkmain_name fl " %>
|
|
|
|
|
|
|
|
|
|
<p class="talkmain_tit fl fb break_word"> <%= h(topic.subject) %></p>
|
|
|
|
|
<% if topic.editable_by?(User.current) %>
|
|
|
|
|
<a href="javascript:void(0)" onclick="show_newtalk1('#about_newtalk<%= topic.id%>');" style="color: #426e9a;float: left;
|
|
|
|
|
margin-left: 20px;"><%= l(:button_edit) %></a>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% if topic.sticky? %>
|
|
|
|
|
<a href="javascript:void(0)" class="talk_up fr c_red" style="margin-right: 10px;"><%= l(:label_board_sticky)%></a>
|
|
|
|
|
<% end %>
|
|
|
|
|
<%= link_to(
|
|
|
|
|
l(:button_delete),
|
|
|
|
|
{:controller =>'messages',:action => 'destroy', :id => topic.id, :board_id => topic.board_id, :is_board=>'true'},
|
|
|
|
|
:method => :post,
|
|
|
|
|
:data => {:confirm => l(:text_are_you_sure)},
|
|
|
|
|
:class => 'talk_edit fr',
|
|
|
|
|
:style => ' margin-right: 10px;'
|
|
|
|
|
) if topic.destroyable_by?(User.current) %>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
|
|
<p id="contentmessage<%=topic.id %>" class="project_board_content break_word">
|
|
|
|
|
<%= topic.content %>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<label id="expend_more_information<%= topic.id%>" onclick="show_more_reply('#contentmessage<%=topic.id %>','#expend_more_information<%= topic.id%>','#arrow<%=topic.id%>');" value="show_more">[展开]</label>
|
|
|
|
|
<span class="g-arr-down">
|
|
|
|
|
<img id="arrow<%=topic.id%>" src="/images/jiantou.jpg" width="12" height="6" />
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<%= l(:label_activity_time)%>: <%= format_time topic.created_on %>
|
|
|
|
|
</div>
|
|
|
|
|
<%= toggle_link l(:button_reply), "reply" + topic.id.to_s, :focus => 'message_content',:class => ' c_dblue fr' %>
|
|
|
|
|
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
</div><!--讨论主类容 end-->
|
|
|
|
|
|
|
|
|
|
<div class="talk_new ml15 mb10" id="about_newtalk<%=topic.id%>" style="display:<%= !@flag.nil? && @flag=='true' ? 'block' : 'none' %>;">
|
|
|
|
|
<ul>
|
|
|
|
|
<%= render :partial => 'edit',locals: {:topic => topic} %>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="talkWrapBox">
|
|
|
|
|
<% reply = Message.new(:subject => "RE: #{@message.subject}")%>
|
|
|
|
|
<% if !topic.locked? && authorize_for('messages', 'reply') %>
|
|
|
|
|
<em class="talkWrapArrow"></em>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
<div class="talkConIpt ml15 mb10" style="display: none" id="reply<%= topic.id %>">
|
|
|
|
|
<%= form_for reply, :as => :reply, :url => {:controller=>'messages',:action => 'reply', :id => topic.id, :board_id => topic.board_id, :is_board => 'true'}, :html => {:multipart => true, :id => 'message_form' + topic.id.to_s} do |f| %>
|
|
|
|
|
|
|
|
|
|
<%= render :partial => 'form_project', :locals => {:f => f, :replying => true} %>
|
|
|
|
|
<a href="#" onclick="$('#message_form<%= topic.id%>').submit();" class="talk_btn fr c_white" style=""><%= l(:label_memo_create)%></a>
|
|
|
|
|
<% end %>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% replies_all = topic.children.
|
|
|
|
|
includes(:author, :attachments, {:board => :project}).
|
|
|
|
|
reorder("#{Message.table_name}.created_on DESC").offset(2).
|
|
|
|
|
all %>
|
|
|
|
|
<% replies_show = topic.children.
|
|
|
|
|
includes(:author, :attachments, {:board => :project}).
|
|
|
|
|
reorder("#{Message.table_name}.created_on DESC").limit(2).
|
|
|
|
|
all %>
|
|
|
|
|
<% unless replies_show.empty? %>
|
|
|
|
|
<% reply_count = 0 %>
|
|
|
|
|
<div class="talkWrapMsg">
|
|
|
|
|
<ul>
|
|
|
|
|
<% replies_show.each do |message| %>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
|
|
|
|
|
<div class="Msg_txt">
|
|
|
|
|
<%= link_to_user_header message.author,false,:class => 'fl c_orange ' %>
|
|
|
|
|
<br/>
|
|
|
|
|
<p class="fl break_word"><%= textAreailizable message,:content,:attachments => message.attachments %></p>
|
|
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
<span class=" c_grey fl"><%= format_time(message.created_on) %></span>
|
|
|
|
|
<%= link_to(
|
|
|
|
|
|
|
|
|
|
l(:button_delete),
|
|
|
|
|
{:controller => 'messages', :action => 'destroy', :id => message.id, :board_id => message.board_id, :is_board => 'true'},
|
|
|
|
|
:method => :post,
|
|
|
|
|
:data => {:confirm => l(:text_are_you_sure)},
|
|
|
|
|
:title => l(:button_delete),
|
|
|
|
|
:class => ' c_dblue fr'
|
|
|
|
|
) if message.course_destroyable_by?(User.current) %>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
|
|
</li><!---留言内容-->
|
|
|
|
|
<% end %>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="talkWrapMsg" id="talkWrapMsg<%= topic.id %>" style="display: none">
|
|
|
|
|
<ul>
|
|
|
|
|
<% replies_all.each do |message| %>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
|
|
|
|
|
<div class="Msg_txt">
|
|
|
|
|
<%= link_to_user_header message.author,false,:class => 'fl c_orange ' %>
|
|
|
|
|
<br/>
|
|
|
|
|
<p class="fl break_word"><%= textAreailizable message,:content,:attachments => message.attachments %></p>
|
|
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
<span class=" c_grey fl"><%= format_time(message.created_on) %></span>
|
|
|
|
|
<%= link_to(
|
|
|
|
|
|
|
|
|
|
l(:button_delete),
|
|
|
|
|
{:controller => 'messages', :action => 'destroy', :id => message.id, :board_id => message.board_id, :is_board => 'true'},
|
|
|
|
|
:method => :post,
|
|
|
|
|
:data => {:confirm => l(:text_are_you_sure)},
|
|
|
|
|
:title => l(:button_delete),
|
|
|
|
|
:class => ' c_dblue fr'
|
|
|
|
|
) if message.course_destroyable_by?(User.current) %>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
|
|
</li><!---留言内容-->
|
|
|
|
|
<% end %>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<%if replies_all.first %>
|
|
|
|
|
<div class="talkWrapMsg"><a class=" c_blue ml258" id="showgithelp<%= topic.id%>" value="show_help" onclick ="showhelpAndScrollToMessage('talkWrapMsg<%= topic.id %>','#showgithelp<%= topic.id%>','<%=topic.replies_count%>'); " class="c_dblue lh23">展开回复(<%= topic.replies_count.to_s%>)</a></div>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% end %>
|
|
|
|
|
</div>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% else %>
|
|
|
|
|
<p class="nodata"><%= l(:label_no_data) %></p>
|
|
|
|
|
<!-- 内容显示部分 -->
|
|
|
|
|
<div class="talk_top">
|
|
|
|
|
<div class="fl"><span><%= l(:label_project_board_count , :count => @topic_count)%></span></div>
|
|
|
|
|
<% if @project.enabled_modules.where("name = 'boards'").count > 0 && User.current.member_of?(@project) %>
|
|
|
|
|
<span><%= link_to l(:project_module_boards_post), new_board_message_path(@board),
|
|
|
|
|
:class => 'problem_new_btn fl c_dorange',
|
|
|
|
|
:onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %></span>
|
|
|
|
|
<% end %>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 帖子内容显示 -->
|
|
|
|
|
<% if @topics.any? %>
|
|
|
|
|
<% @topics.each do |topic| %>
|
|
|
|
|
<div class="problem_main">
|
|
|
|
|
<%= link_to image_tag(url_to_avatar(topic.author), :width=>"32",:height=>"32"), user_path(topic.author),:class => 'problem_pic talk_pic fl' %>
|
|
|
|
|
<div class="talk_txt fl">
|
|
|
|
|
<%= link_to h(topic.subject), board_message_path(@board, topic), title:topic.subject.to_s, :class =>"problem_tit fl" %>
|
|
|
|
|
<% if topic.sticky? %>
|
|
|
|
|
<a href="javascript:void(0)" class="talk_up fr c_red"><%= l(:label_board_sticky)%></a>
|
|
|
|
|
<% end %>
|
|
|
|
|
<br/>
|
|
|
|
|
<%= l(:label_post_by)%><%= link_to topic.author, user_path(topic.author), :class =>"problem_name" %>
|
|
|
|
|
<%= l(:label_post_by_time)%><%= format_time topic.created_on %>
|
|
|
|
|
</div>
|
|
|
|
|
<%= link_to (l(:label_short_reply) + " "+topic.replies_count.to_s), board_message_path(@board, topic), :class => "talk_btn fr c_white" %>
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
</div><!--讨论主类容 end-->
|
|
|
|
|
<% end %>
|
|
|
|
|
<% else %>
|
|
|
|
|
<p class="nodata"><%= l(:label_no_data) %></p>
|
|
|
|
|
<% end %>
|
|
|
|
|
<ul class="wlist">
|
|
|
|
|
<%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
|
|
|
|
|
</ul>
|
|
|
|
|
<!--讨论主类容 end-->
|
|
|
|
|
<%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
|
|
|
|
|
</ul>
|
|
|
|
|
<!--讨论主类容 end-->
|
|
|
|
|
|
|
|
|
|
<%# other_formats_links do |f| %>
|
|
|
|
|
<%#= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
|
|
|
|
<%#= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
|
|
|
|
<%# end %>
|
|
|
|
|
|
|
|
|
|
<% html_title @board.name %>
|
|
|
|
@ -188,33 +61,3 @@
|
|
|
|
|
<% content_for :header_tags do %>
|
|
|
|
|
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@project}: #{@board}") %>
|
|
|
|
|
<% end %>
|
|
|
|
|
</div>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
// var flag = false;
|
|
|
|
|
// jQuery(document).ready(function($) {
|
|
|
|
|
// transpotUrl('#content');
|
|
|
|
|
// });
|
|
|
|
|
function submit_message_replay()
|
|
|
|
|
{
|
|
|
|
|
if(flag)
|
|
|
|
|
{
|
|
|
|
|
$("#message_form").submit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function regexContent()
|
|
|
|
|
{
|
|
|
|
|
var content = $.trim($("#message_content").val());
|
|
|
|
|
if(content.length ==0)
|
|
|
|
|
{
|
|
|
|
|
$("#message_content_span").text("<%= l(:label_reply_empty) %>");
|
|
|
|
|
$("#message_content_span").css('color','#ff0000');
|
|
|
|
|
flag = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$("#message_content_span").text("<%= l(:label_field_correct) %>");
|
|
|
|
|
$("#message_content_span").css('color','#008000');
|
|
|
|
|
flag = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|