2014-06-11 16:46:13 +08:00
|
|
|
|
<%
|
|
|
|
|
btn_tips = l(:label_news_notice)
|
|
|
|
|
label_tips = l(:label_course_news)
|
|
|
|
|
%>
|
|
|
|
|
|
2014-08-21 15:40:21 +08:00
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
function regexTitle()
|
|
|
|
|
{
|
|
|
|
|
var name = $("#news_title").val();
|
|
|
|
|
if(name.length ==0)
|
|
|
|
|
{
|
|
|
|
|
$("#title_notice_span").text("标题不能为空");
|
|
|
|
|
$("#title_notice_span").css('color','#ff0000');
|
|
|
|
|
$("#title_notice_span").focus();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else if(name.length <= 60)
|
|
|
|
|
{
|
|
|
|
|
$("#title_notice_span").text("填写正确");
|
|
|
|
|
$("#title_notice_span").css('color','#008000');
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$("#title_notice_span").text("标题超过60个字符");
|
|
|
|
|
$("#title_notice_span").css('color','#ff0000');
|
|
|
|
|
$("#title_notice_span").focus();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function regexDescription()
|
|
|
|
|
{
|
|
|
|
|
var name = $("#news_description").val();
|
|
|
|
|
if(name.length ==0)
|
|
|
|
|
{
|
|
|
|
|
$("#description_notice_span").text("描述不能为空");
|
|
|
|
|
$("#description_notice_span").css('color','#ff0000');
|
|
|
|
|
$("#description_notice_span").focus();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$("#description_notice_span").text("填写正确");
|
|
|
|
|
$("#description_notice_span").css('color','#008000');
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function submitNews()
|
|
|
|
|
{
|
|
|
|
|
if(regexTitle() && regexDescription())
|
|
|
|
|
{
|
|
|
|
|
$("#news-form").submit();
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-09-01 17:56:12 +08:00
|
|
|
|
|
|
|
|
|
function submitFocus(obj)
|
|
|
|
|
{
|
|
|
|
|
$(obj).focus();
|
|
|
|
|
}
|
2014-08-21 15:40:21 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
2014-06-11 16:46:13 +08:00
|
|
|
|
<span style="font-size: 16px; border-bottom:1px solid #f0f0f0; margin-right: 15px;">
|
|
|
|
|
<%= label_tips %>
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
<% if @course && User.current.allowed_to?(:manage_news, @course) %>
|
2014-10-08 10:27:19 +08:00
|
|
|
|
<%= link_to(btn_tips, new_course_news_path(@course),
|
|
|
|
|
:class => 'icon icon-add',
|
|
|
|
|
:onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %>
|
|
|
|
|
|
2014-06-11 16:46:13 +08:00
|
|
|
|
<div id="add-news" class="add_frame" style="display:none;">
|
|
|
|
|
<%= labelled_form_for @news, :url => course_news_index_path(@course),
|
|
|
|
|
:html => {:id => 'news-form', :multipart => true} do |f| %>
|
2014-08-21 14:46:14 +08:00
|
|
|
|
<%= render :partial => 'news/course_form', :locals => {:f => f, :is_new => true} %>
|
2014-11-18 17:03:40 +08:00
|
|
|
|
<%= link_to l(:button_create), "#", :onclick => 'submitNews();', :onmouseover => 'submitFocus(this);', :class => 'ButtonColor m3p10' %>
|
2014-10-13 09:40:49 +08:00
|
|
|
|
<%#= preview_link preview_news_path, 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
|
|
|
|
|
|
2014-11-18 17:03:40 +08:00
|
|
|
|
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()', :class => 'ButtonColor m3p10' %>
|
2014-06-11 16:46:13 +08:00
|
|
|
|
<% end if @course %>
|
|
|
|
|
<div id="preview" class="wiki"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<% end %>
|
|
|
|
|
<div>
|
|
|
|
|
<% if @newss.empty? %>
|
|
|
|
|
<p class="nodata">
|
|
|
|
|
<%= l(:label_no_data) %>
|
|
|
|
|
</p>
|
|
|
|
|
<% else %>
|
|
|
|
|
<% @newss.each do |news| %>
|
|
|
|
|
<table class="content-text-list">
|
|
|
|
|
<tr>
|
2014-10-10 14:09:43 +08:00
|
|
|
|
<td colspan="2" valign="top" width="50">
|
|
|
|
|
<%= link_to image_tag(url_to_avatar(news.author), :class => "avatar"), user_path(news.author) %>
|
|
|
|
|
</td>
|
2014-06-11 16:46:13 +08:00
|
|
|
|
<td>
|
|
|
|
|
<table width="580px" border="0">
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2" valign="top">
|
2014-10-10 14:09:43 +08:00
|
|
|
|
<strong>
|
|
|
|
|
<%= link_to_user(news.author) if news.respond_to?(:author) %>
|
|
|
|
|
</strong>
|
|
|
|
|
<span style="margin-left: 4px;" class="font_lighter">
|
|
|
|
|
<%= l(:label_project_notice) %>
|
|
|
|
|
</span>
|
|
|
|
|
<span>
|
|
|
|
|
<%= link_to h(news.title), news_path(news) %>
|
|
|
|
|
</span>
|
|
|
|
|
<span style="float: right">
|
|
|
|
|
<%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @couese) %>
|
|
|
|
|
</span>
|
2014-06-11 16:46:13 +08:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2" width="580px">
|
2014-10-10 14:09:43 +08:00
|
|
|
|
<span class="font_description">
|
|
|
|
|
<%= textilizable(news, :description) %>
|
|
|
|
|
</span>
|
|
|
|
|
</td>
|
2014-06-11 16:46:13 +08:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2014-10-10 14:09:43 +08:00
|
|
|
|
<td align="left">
|
|
|
|
|
<span class="font_lighter">
|
|
|
|
|
<%= l :label_update_time %>
|
|
|
|
|
:
|
|
|
|
|
<%= format_time(news.created_on) %>
|
|
|
|
|
</span>
|
|
|
|
|
</td>
|
|
|
|
|
<td width="350" align="right" class="a">
|
|
|
|
|
<%= link_to l(:label_project_newother), news_path(news) %>
|
|
|
|
|
<%= "(#{l(:label_x_comments, :count => news.comments_count)})" if news.comments_count >= 0 %>
|
|
|
|
|
</td>
|
2014-06-11 16:46:13 +08:00
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% end %>
|
|
|
|
|
</div>
|
|
|
|
|
<!--end-->
|
|
|
|
|
<div style="padding-right: 10px">
|
|
|
|
|
<div class="pagination">
|
|
|
|
|
<ul>
|
|
|
|
|
<%= pagination_links_full @news_pages %>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<% other_formats_links do |f| %>
|
|
|
|
|
<%= f.link_to 'Atom', :url => {:course_id => @course, :key => User.current.rss_key} %>
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
|
|
<% content_for :header_tags do %>
|
|
|
|
|
<%= auto_discovery_link_tag(:atom, params.merge({:format => 'atom', :page => nil, :key => User.current.rss_key})) %>
|
|
|
|
|
<%= stylesheet_link_tag 'scm' %>
|
|
|
|
|
<% end %>
|
|
|
|
|
|
2014-06-26 11:15:06 +08:00
|
|
|
|
<% html_title(l(:label_course_news)) -%>
|
2014-06-11 16:46:13 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script type='text/javascript'>
|
|
|
|
|
$(document).ready(function ($) {
|
|
|
|
|
$('.content-text-list').each(function () {
|
|
|
|
|
$(this).find('.delete_icon').hide();
|
|
|
|
|
$(this).mouseenter(function (event) {
|
|
|
|
|
$(this).find('.delete_icon').show();
|
|
|
|
|
});
|
|
|
|
|
$(this).mouseleave(function (event) {
|
|
|
|
|
$(this).find('.delete_icon').hide();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|