课程大纲功能
This commit is contained in:
parent
a747983a51
commit
578bb2537d
|
@ -60,10 +60,16 @@ class BlogCommentsController < ApplicationController
|
||||||
@article.children.delete
|
@article.children.delete
|
||||||
@article.delete
|
@article.delete
|
||||||
redirect_to user_blogs_path(:user_id=>User.current)
|
redirect_to user_blogs_path(:user_id=>User.current)
|
||||||
else
|
else#如果是回复被删,
|
||||||
root = @article.root
|
if params[:course_id] #如果呆了course_id过来了,那么这是要跳到课程大纲去的
|
||||||
@article.delete
|
@article.delete
|
||||||
redirect_to user_blog_blog_comment_path(:user_id=>root.author_id,:blog_id=>root.blog_id,:id=>root.id)
|
redirect_to show_course_outline_course_path(:id=>params[:course_id])
|
||||||
|
else
|
||||||
|
root = @article.root
|
||||||
|
@article.delete
|
||||||
|
redirect_to user_blog_blog_comment_path(:user_id=>root.author_id,:blog_id=>root.blog_id,:id=>root.id)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -81,6 +87,7 @@ class BlogCommentsController < ApplicationController
|
||||||
|
|
||||||
@content = "> #{ll(Setting.default_language, :text_user_wrote, @blogComment.author.realname)}\n> "
|
@content = "> #{ll(Setting.default_language, :text_user_wrote, @blogComment.author.realname)}\n> "
|
||||||
@temp = BlogComment.new
|
@temp = BlogComment.new
|
||||||
|
@course_id = params[:course_id]
|
||||||
@temp.content = "<blockquote>#{ll(Setting.default_language, :text_user_wrote, @blogComment.author.realname)} <br/>#{@blogComment.content.html_safe}</blockquote>".html_safe
|
@temp.content = "<blockquote>#{ll(Setting.default_language, :text_user_wrote, @blogComment.author.realname)} <br/>#{@blogComment.content.html_safe}</blockquote>".html_safe
|
||||||
respond_to do | format|
|
respond_to do | format|
|
||||||
format.js
|
format.js
|
||||||
|
@ -114,7 +121,14 @@ class BlogCommentsController < ApplicationController
|
||||||
#@article.save
|
#@article.save
|
||||||
# redirect_to user_blogs_path(:user_id=>params[:user_id])
|
# redirect_to user_blogs_path(:user_id=>params[:user_id])
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to user_blog_blog_comment_path(:user_id=>@article.author_id,:blog_id=>@article.blog_id,:id=>@article)}
|
format.html {
|
||||||
|
if params[:course_id] #如果呆了course_id过来了,那么这是要跳到课程大纲去的
|
||||||
|
redirect_to show_course_outline_course_path(:id=>params[:course_id])
|
||||||
|
else
|
||||||
|
redirect_to user_blog_blog_comment_path(:user_id=>@article.author_id,:blog_id=>@article.blog_id,:id=>@article)
|
||||||
|
end
|
||||||
|
|
||||||
|
}
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
rescue Exception => e #如果上面的代码执行发生异常就捕获
|
rescue Exception => e #如果上面的代码执行发生异常就捕获
|
||||||
|
|
|
@ -737,6 +737,13 @@ class CoursesController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#显示课程大纲
|
||||||
|
def show_course_outline
|
||||||
|
@article = BlogComment.find(@course.outline)
|
||||||
|
respond_to do |format|
|
||||||
|
format.html {render :layout => 'base_courses'}
|
||||||
|
end
|
||||||
|
end
|
||||||
#删除课程
|
#删除课程
|
||||||
#删除课程只是将课程的is_delete状态改为false,is_delete为false状态的课程只有管理员可以看到
|
#删除课程只是将课程的is_delete状态改为false,is_delete为false状态的课程只有管理员可以看到
|
||||||
def destroy
|
def destroy
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
<div nhname='new_message_<%= reply.id%>'>
|
<div nhname='new_message_<%= reply.id%>'>
|
||||||
<%= form_for @blog_comment, :as => :reply, :url => {:controller => 'blog_comments',:action => 'reply', :id => @blogComment.id}, :html => {:multipart => true, :id => 'new_form'} do |f| %>
|
<%= form_for @blog_comment, :as => :reply, :url => {:controller => 'blog_comments',:action => 'reply', :id => @blogComment.id}, :html => {:multipart => true, :id => 'new_form'} do |f| %>
|
||||||
<input type="hidden" name="quote[quote]" id="quote_quote">
|
<input type="hidden" name="quote[quote]" id="quote_quote">
|
||||||
|
<% if course_id%>
|
||||||
|
<input type="hidden" name="course_id" id="" value="<%= course_id%>">
|
||||||
|
<% end %>
|
||||||
<input type="hidden" name="blog_comment[title]" id="reply_subject">
|
<input type="hidden" name="blog_comment[title]" id="reply_subject">
|
||||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= reply.id%>' name="blog_comment[content]"></textarea>
|
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= reply.id%>' name="blog_comment[content]"></textarea>
|
||||||
<div nhname='toolbar_container_<%= reply.id%>' style="float:left; margin-left: 5px; padding-top:3px;"></div>
|
<div nhname='toolbar_container_<%= reply.id%>' style="float:left; margin-left: 5px; padding-top:3px;"></div>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
if($("#reply_message_<%= @blogComment.id%>").length > 0) {
|
if($("#reply_message_<%= @blogComment.id%>").length > 0) {
|
||||||
$("#reply_message_<%= @blogComment.id%>").replaceWith("<%= escape_javascript(render :partial => 'simple_ke_reply_form', :locals => {:reply => @blogComment,:temp =>@temp,:subject =>@subject}) %>");
|
$("#reply_message_<%= @blogComment.id%>").replaceWith("<%= escape_javascript(render :partial => 'blog_comments/simple_ke_reply_form', :locals => {:reply => @blogComment,:temp =>@temp,:subject =>@subject,:course_id=>@course_id}) %>");
|
||||||
$(function(){
|
$(function(){
|
||||||
$('#reply_subject').val("<%= raw escape_javascript(@subject) %>");
|
$('#reply_subject').val("<%= raw escape_javascript(@subject) %>");
|
||||||
$('#quote_quote').val("<%= raw escape_javascript(@temp.content.html_safe) %>");
|
$('#quote_quote').val("<%= raw escape_javascript(@temp.content.html_safe) %>");
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
hideModal();
|
hideModal();
|
||||||
|
<%if @course.tea_id == User.current.id && @course.outline == 0 %>
|
||||||
|
<% else %>
|
||||||
|
$("#course_outline_bar").html('<a href="<%=show_course_outline_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>')
|
||||||
|
<%end %>
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_activity_KindEditor",'blog' %>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function(){
|
||||||
|
$("#RSide").removeAttr("id");
|
||||||
|
$("#Container").css("width","1000px");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
function expand_reply(container,btnid){
|
||||||
|
var target = $(container).children();
|
||||||
|
var btn = $(btnid);
|
||||||
|
if(btn.data('init')=='0'){
|
||||||
|
btn.data('init',1);
|
||||||
|
btn.html('收起回复');
|
||||||
|
target.show();
|
||||||
|
}else{
|
||||||
|
btn.data('init',0);
|
||||||
|
btn.html('展开更多');
|
||||||
|
target.hide();
|
||||||
|
target.eq(0).show();
|
||||||
|
target.eq(1).show();
|
||||||
|
target.eq(2).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$(function() {
|
||||||
|
init_activity_KindEditor_data(<%= @article.id%>,null,"85%");
|
||||||
|
showNormalImage('message_description_<%= @article.id %>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div class="postRightContainer ml10" onmouseover="$('#message_setting_<%= @article.id%>').show();" onmouseout="$('#message_setting_<%= @article.id%>').hide();">
|
||||||
|
<div class="postThemeContainer">
|
||||||
|
<div class="postDetailPortrait">
|
||||||
|
<%= link_to image_tag(url_to_avatar(@article.author),:width=>50,:height => 50,:alt=>'图像' ),user_path(@article.author) %>
|
||||||
|
</div>
|
||||||
|
<div class="postThemeWrap">
|
||||||
|
<% if @article.author.id == User.current.id%>
|
||||||
|
<!--<div class="homepagePostSetting" id="message_setting_<%#= @article.id%>" >-->
|
||||||
|
<!--<ul>-->
|
||||||
|
<!--<li class="syllabusSettingIcon" >-->
|
||||||
|
<!--</li>-->
|
||||||
|
<!--</ul>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<a class="syllabusSettingIcon fr" style="width: 100px" onclick="course_outline('<%= @course.id%>')" ><span class="f14 fontGrey2" style="padding-left: 20px">[设置大纲]</span>
|
||||||
|
</a>
|
||||||
|
<%end%>
|
||||||
|
<div class="postDetailTitle fl" style="width: 550px !important;">
|
||||||
|
<a href="javascript:void(0);" class="f14 linkGrey4 fb" style="overflow:hidden;">主题: <%= @article.title%></a>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<div class="postDetailCreater">
|
||||||
|
<% if @article.try(:author).try(:realname) == ' ' %>
|
||||||
|
<%= link_to @article.try(:author), user_path(@article.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %>
|
||||||
|
<% else %>
|
||||||
|
<%= link_to @article.try(:author).try(:realname), user_path(@article.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="postDetailDate mb5"><%= format_time( @article.created_on)%></div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="memo-content upload_img break_word" id="message_description_<%= @article.id %>" style="word-break: break-all; word-wrap:break-word;margin-bottom: 0px !important;" >
|
||||||
|
<%= @article.content.html_safe%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class=" fl" style="width: 600px">
|
||||||
|
<%#= link_to_attachments_course @topic, :author => false %>
|
||||||
|
<% if @article.attachments.any?%>
|
||||||
|
<% options = {:author => true, :deletable => false} %>
|
||||||
|
<%= render :partial => 'blog_comments/attachments_links', :locals => {:attachments => @article.attachments, :options => options, :is_float => true} %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% count=0 %>
|
||||||
|
<% if @article.parent %>
|
||||||
|
<% count=@article.parent.children.count%>
|
||||||
|
<% else %>
|
||||||
|
<% count=@article.children.count%>
|
||||||
|
<% end %>
|
||||||
|
<div class="homepagePostReply">
|
||||||
|
<% unless count == 0 %>
|
||||||
|
<div class="homepagePostReplyBanner">
|
||||||
|
<div class="homepagePostReplyBannerCount">回复(<%=count %>)</div>
|
||||||
|
<div class="homepagePostReplyBannerTime"></div>
|
||||||
|
<!-- <div class="homepagePostReplyBannerMore">
|
||||||
|
<%# if @reply_count > 2%>
|
||||||
|
<a href="javascript:void(0);" class="replyGrey" id="reply_btn_<%#= @topic.id%>" onclick="expand_reply('#reply_div_<%#= @topic.id %>','#reply_btn_<%#= @topic.id%>')" data-count="<%#= @reply_count %>" data-init="0" >点击展开更多回复</a>
|
||||||
|
<%# end %>
|
||||||
|
</div>-->
|
||||||
|
</div>
|
||||||
|
<div class="" id="reply_div_<%= @article.id %>">
|
||||||
|
<%@article.children.reorder('created_on desc').each_with_index do |reply,i| %>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function(){
|
||||||
|
showNormalImage('reply_message_description_<%= reply.id %>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div class="homepagePostReplyContainer" onmouseover="$('#reply_edit_menu_<%= reply.id%>').show();" onmouseout="$('#reply_edit_menu_<%= reply.id%>').hide();">
|
||||||
|
<div class="homepagePostReplyPortrait">
|
||||||
|
<%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
|
||||||
|
</div>
|
||||||
|
<div class="homepagePostReplyDes">
|
||||||
|
<div class="homepagePostReplyPublisher">
|
||||||
|
<% if reply.try(:author).try(:realname) == ' ' %>
|
||||||
|
<%= link_to reply.try(:author), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
|
||||||
|
<% else %>
|
||||||
|
<%= link_to reply.try(:author).try(:realname), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="homepagePostReplyContent upload_img break_word" id="reply_message_description_<%= reply.id %>">
|
||||||
|
<%= reply.content.html_safe%>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: -7px; margin-bottom: 5px">
|
||||||
|
<%= format_time(reply.created_on) %>
|
||||||
|
<div class="fr" id="reply_edit_menu_<%= reply.id%>" style="display: none">
|
||||||
|
<%= link_to(
|
||||||
|
l(:button_reply),
|
||||||
|
{:controller => 'blog_comments',:action => 'quote',:user_id=>reply.author_id,:blog_id=>reply.blog_id, :id => reply.id,:course_id=>@course.id},
|
||||||
|
:remote => true,
|
||||||
|
:method => 'get',
|
||||||
|
:class => 'fr newsBlue',
|
||||||
|
:title => l(:button_reply)) if !@article.locked? && User.current.logged? %>
|
||||||
|
<%= link_to(
|
||||||
|
l(:button_delete),
|
||||||
|
{:controller => 'blog_comments',:action => 'destroy',:user_id=>reply.author_id,:blog_id=>reply.blog_id, :id => reply.id,:course_id=>@course.id},
|
||||||
|
:method => :delete,
|
||||||
|
:class => 'fr newsGrey mr10',
|
||||||
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
|
:title => l(:button_delete)
|
||||||
|
) if reply.author.id == User.current.id %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p id="reply_message_<%= reply.id%>"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% if !@article.locked? && User.current.logged?%>
|
||||||
|
<div class="talkWrapMsg" nhname="about_talk_reply">
|
||||||
|
<em class="talkWrapArrow"></em>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="talkConIpt ml5 mb10" id="reply<%= @article.id %>">
|
||||||
|
<%= form_for :blog_comment, :url => {:action => 'reply',:controller => 'blog_comments',:user_id=>@article.author.id,:blog_id=>@article.blog_id, :id => @article.id}, :html => {:multipart => true, :id => 'message_form'} do |f| %>
|
||||||
|
<input type="hidden" name="course_id" value="<%= @course.id%>">
|
||||||
|
<%= render :partial => 'blog_comments/reply_form', :locals => {:f => f,:user=>@user,:article=>@article} %>
|
||||||
|
<%= link_to l(:button_cancel), "javascript:void(0)", :onclick => 'canel_message_replay();', :class => " grey_btn fr c_white mt10 mr5" %>
|
||||||
|
<%= link_to l(:button_submit), "javascript:void(0)", :onclick => 'submit_message_replay();', :class => "blue_btn fr c_white mt10", :style => "margin-right: 5px;" %>
|
||||||
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -54,21 +54,47 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<!--<div >-->
|
||||||
|
<!--<a class="pr_info_name fl c_dark fb break_word" href="http://<%#= Setting.host_course%>/courses/<%#= @course.id%>" target="_blank">-->
|
||||||
|
<!--<%#= @course.name %>-->
|
||||||
|
<!--</a>-->
|
||||||
|
<!--<%# if @course.is_public == 0%>-->
|
||||||
|
<!--<span class="img_private ">-->
|
||||||
|
<!--<%#= l(:field_is_private)%>-->
|
||||||
|
<!--</span>-->
|
||||||
|
<!--<%# end %>-->
|
||||||
|
<!--<%#if @course.tea_id == User.current.id && @course.outline == 0 %>-->
|
||||||
|
<!--<span>-->
|
||||||
|
<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
|
||||||
|
<!--</span>-->
|
||||||
|
<!--<%# else%>-->
|
||||||
|
<!--<span>-->
|
||||||
|
<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
|
||||||
|
<!--</span>-->
|
||||||
|
<!--<%# end %>-->
|
||||||
|
<!--</div>-->
|
||||||
<div >
|
<div >
|
||||||
<a class="pr_info_name fl c_dark fb break_word" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank">
|
<a class="pr_info_name fl c_dark fb break_word" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank"></a>
|
||||||
<%= @course.name %>
|
<div>
|
||||||
</a>
|
<a class="pr_info_name c_dark fb break_word fl" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank">
|
||||||
<% if @course.is_public == 0%>
|
<%= @course.name %>
|
||||||
<span class="img_private ">
|
</a>
|
||||||
|
<% if @course.is_public == 0%>
|
||||||
|
<!--<span class="img_private "></span>-->
|
||||||
|
<span class="img_private mr5 fl">
|
||||||
<%= l(:field_is_private)%>
|
<%= l(:field_is_private)%>
|
||||||
</span>
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%if @course.tea_id == User.current.id %>
|
<span id="course_outline_bar">
|
||||||
<span>
|
<%if @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %>
|
||||||
<a href="javascript:void(0)" onclick="course_outline('<%= @course.id%>');">设置大纲</a>
|
<a href="javascript:void(0);" title="设置课程大纲" onclick="course_outline('<%= @course.id%>')" class="mr5 syllabusSetting fl"> </a>
|
||||||
</span>
|
<% elsif @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%>
|
||||||
<% end %>
|
<a href="<%=show_course_outline_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
||||||
</div>
|
<% elsif @course.tea_id != User.current.id %>
|
||||||
|
<%end %>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div class="pr_info_foot ">
|
<div class="pr_info_foot ">
|
||||||
<%= l(:label_account_identity_teacher)%>(<%= course_teacher_link teacher_num %>)
|
<%= l(:label_account_identity_teacher)%>(<%= course_teacher_link teacher_num %>)
|
||||||
|
|
|
@ -792,6 +792,7 @@ RedmineApp::Application.routes.draw do
|
||||||
get 'course_outline'
|
get 'course_outline'
|
||||||
post 'search_course_outline'
|
post 'search_course_outline'
|
||||||
post 'set_course_outline'
|
post 'set_course_outline'
|
||||||
|
get 'show_course_outline'
|
||||||
end
|
end
|
||||||
collection do
|
collection do
|
||||||
match 'join_private_courses', :via => [:get, :post]
|
match 'join_private_courses', :via => [:get, :post]
|
||||||
|
|
|
@ -1099,3 +1099,12 @@ a.postRouteLink:hover {text-decoration:underline;}
|
||||||
.blogRow {width:280px; height:15px; line-height:15px;}
|
.blogRow {width:280px; height:15px; line-height:15px;}
|
||||||
.blogSearchBox {border:1px solid #e6e6e6; height:25px; background-color:#ffffff; margin-top:8px; margin-bottom:8px;}/*width:280px;*/
|
.blogSearchBox {border:1px solid #e6e6e6; height:25px; background-color:#ffffff; margin-top:8px; margin-bottom:8px;}/*width:280px;*/
|
||||||
.blogSearchContent {border:none; outline:none; background-color:#ffffff; width:216px; height:25px; padding-left:10px; display:inline-block; float:left;}
|
.blogSearchContent {border:none; outline:none; background-color:#ffffff; width:216px; height:25px; padding-left:10px; display:inline-block; float:left;}
|
||||||
|
|
||||||
|
/*课程大纲图标样式20151028Tim*/
|
||||||
|
.syllabusIcon {background:url("../images/course/syllabus.png") 0px 0px no-repeat; width: 17px; height: 16px; display: inline-block;}
|
||||||
|
.syllabusSetting {background:url("../images/course/syllabus.png") 0px -16px no-repeat; width: 20px; height: 16px; display: inline-block;}
|
||||||
|
|
||||||
|
.syllabusSettingIcon {background:url(../images/course/syllabus_setting.png) 0px 0px no-repeat; width:20px; height:20px;}
|
||||||
|
.syllabusSettingIcon:hover {cursor: pointer}
|
||||||
|
|
||||||
|
.pic_files{display:block; background:url(../images/public_icon.png) 0px -578px no-repeat; width:20px; height:15px;}
|
||||||
|
|
Loading…
Reference in New Issue