From c4816a04143a9b3c8849b5fae76afe98bc97479c Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 30 Oct 2015 09:56:55 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E5=90=8D=E5=AD=97=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E7=94=A8=E6=88=B7=E5=88=9B=E5=BB=BA=E5=8D=9A=E5=AE=A2?= =?UTF-8?q?=E6=97=B6=E5=8D=9A=E5=AE=A2=E5=90=8D=E7=A7=B0=E4=B8=BA=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index b75b67a1a..e68fc7d8e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -260,7 +260,7 @@ class User < Principal @blog = Blog.where("author_id = #{self.id}").all[0] if @blog.nil? #如果某个user的blog不存在,那么就创建一条,并且跳转 - @blog = Blog.create(:name=>(User.find(self.id).realname), + @blog = Blog.create(:name=>(User.find(self.id).realname.blank? ? User.find(self.id).login : User.find(self.id).realname ), :description=>'', :author_id=>self.id) @blog.save From 70003a8d9cfeb73776495cba610d6cb44fe7b624 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 10:19:57 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=A4=A7=E7=BA=B2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20=E5=BC=B9=E5=87=BA=E6=A1=86=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/courses.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 744f1e07a..2ea3b82c8 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -1095,7 +1095,7 @@ a.postRouteLink:hover {text-decoration:underline;} .searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) 5px -394px no-repeat; display:inline-block; float:left; cursor: pointer;} .searchIconPopup:hover {background:url(../images/homepage_icon.png) 5px -420px no-repeat;} .blogTitle {max-width:240px; font-size:12px; color:#484848; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} -.blogBlock {overflow-x:hidden; max-height:200px;min-height: 200px; overflow-y:auto; margin-bottom:5px;} +.blogBlock {overflow-x:hidden; max-height:200px;min-height: 200px; overflow-y:auto; margin-bottom:5px;width: 200px} .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;*/ .blogSearchContent {border:none; outline:none; background-color:#ffffff; width:216px; height:25px; padding-left:10px; display:inline-block; float:left;} From bc7ce290a2b68b8fb270fe1e0cf72ade88c7d45a Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 10:43:35 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E6=B2=A1=E6=9C=89=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E4=BB=BB=E4=BD=95=E5=A4=A7=E7=BA=B2=E4=B8=8D=E8=83=BD=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_course_outlines_list.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/courses/_course_outlines_list.html.erb b/app/views/courses/_course_outlines_list.html.erb index b8a8bfd2a..e3b441f24 100644 --- a/app/views/courses/_course_outlines_list.html.erb +++ b/app/views/courses/_course_outlines_list.html.erb @@ -24,7 +24,7 @@ <% end %>
- +
From 4766cff41d7985165bb1b58e9adc6d61393b6db0 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 10:46:51 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=E4=B8=8D=E7=AC=A6=E5=90=88=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E7=9A=84=E8=BE=93=E5=85=A5=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/base_courses.html.erb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index d7e7bba90..305eaaa29 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -86,11 +86,15 @@ <% end %> - <%if @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %> + <%if User.current && @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %> - <% elsif @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%> + <% elsif User.current && @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%> - <% elsif @course.tea_id != User.current.id %> + <% elsif User.current && @course.tea_id != User.current.id && !@course.is_public? && User.current.member_of_course?(@course)%> + + <% elsif User.current && @course.tea_id != User.current.id && @course.is_public?%> + + <%else%> <%end %> @@ -233,6 +237,7 @@ } }else{ + $("#course_outline_list").html(''); $("#course_outline_hint").show(); } } From 9e1c675c66ff42d66d5a45fa7b0d3dfef7aa6d1b Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 10:49:58 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=A4=A7=E7=BA=B2?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E9=80=82=E5=BA=94=E9=AB=98?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/courses.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 2ea3b82c8..f1df34894 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -1095,7 +1095,7 @@ a.postRouteLink:hover {text-decoration:underline;} .searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) 5px -394px no-repeat; display:inline-block; float:left; cursor: pointer;} .searchIconPopup:hover {background:url(../images/homepage_icon.png) 5px -420px no-repeat;} .blogTitle {max-width:240px; font-size:12px; color:#484848; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} -.blogBlock {overflow-x:hidden; max-height:200px;min-height: 200px; overflow-y:auto; margin-bottom:5px;width: 200px} +.blogBlock {overflow-x:hidden; max-height:200px;min-height: 20px; overflow-y:auto; margin-bottom:5px;width: 200px} .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;*/ .blogSearchContent {border:none; outline:none; background-color:#ffffff; width:216px; height:25px; padding-left:10px; display:inline-block; float:left;} From a27c359df4775fa26b563c1f270028ae48587177 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 10:52:34 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E5=A4=A7=E7=BA=B2=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E6=A0=87=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/show_course_outline.html.erb | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/app/views/courses/show_course_outline.html.erb b/app/views/courses/show_course_outline.html.erb index ff503d983..84ddc1074 100644 --- a/app/views/courses/show_course_outline.html.erb +++ b/app/views/courses/show_course_outline.html.erb @@ -34,15 +34,35 @@ <%= link_to image_tag(url_to_avatar(@article.author),:width=>50,:height => 50,:alt=>'图像' ),user_path(@article.author) %>
- <% if @article.author.id == User.current.id%> + <% if User.current && @article.author.id == User.current.id%> + - [设置大纲] - + + <%end%>
主题: <%= @article.title%> From 00157b430273bed9359401cc10cb96fa42a4df39 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 10:52:56 +0800 Subject: [PATCH 07/18] =?UTF-8?q?=E5=A4=A7=E7=BA=B2=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E6=A0=87=E6=94=B9=E5=8A=A8=20=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/blog_comments_controller.rb | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/controllers/blog_comments_controller.rb b/app/controllers/blog_comments_controller.rb index 42f1e2f20..e398501e4 100644 --- a/app/controllers/blog_comments_controller.rb +++ b/app/controllers/blog_comments_controller.rb @@ -56,12 +56,22 @@ class BlogCommentsController < ApplicationController end def destroy @article = BlogComment.find(params[:id]) - if @article.parent_id.nil? #如果是文章被删,那么跳转到用户博客界面 - @article.children.delete - @article.delete - redirect_to user_blogs_path(:user_id=>User.current) + if @article.parent_id.nil? #如果是文章被删,那么跳转到用户博客界面,如果带了course_id过来,那么就要跳转到课程首页 + if params[:course_id] + @article.children.delete + @article.delete + @course = Course.find(params[:course_id]) + @course.outline = 0 + @course.save + redirect_to course_path(:id=>params[:course_id]) + else + @article.children.delete + @article.delete + redirect_to user_blogs_path(:user_id=>User.current) + end + else#如果是回复被删, - if params[:course_id] #如果呆了course_id过来了,那么这是要跳到课程大纲去的 + if params[:course_id] #如果带了course_id过来了,那么这是要跳到课程大纲去的 @article.delete redirect_to show_course_outline_course_path(:id=>params[:course_id]) else From 6b1c140258d78f53dcc1162ff5e950f87dd55784 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 11:12:50 +0800 Subject: [PATCH 08/18] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/courses.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index f1df34894..b587d5e36 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -1095,7 +1095,7 @@ a.postRouteLink:hover {text-decoration:underline;} .searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) 5px -394px no-repeat; display:inline-block; float:left; cursor: pointer;} .searchIconPopup:hover {background:url(../images/homepage_icon.png) 5px -420px no-repeat;} .blogTitle {max-width:240px; font-size:12px; color:#484848; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} -.blogBlock {overflow-x:hidden; max-height:200px;min-height: 20px; overflow-y:auto; margin-bottom:5px;width: 200px} +.blogBlock {overflow-x:hidden; max-height:200px;min-height: 20px; overflow-y:auto; margin-bottom:5px;width: 246px} .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;*/ .blogSearchContent {border:none; outline:none; background-color:#ffffff; width:216px; height:25px; padding-left:10px; display:inline-block; float:left;} From 8dc730cd3e333edee11ddaead99afa62d40ab3fb Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 11:31:42 +0800 Subject: [PATCH 09/18] =?UTF-8?q?=E5=A4=A7=E7=BA=B2=E5=9B=9E=E5=A4=8D?= =?UTF-8?q?=E6=A1=86=E6=94=B9=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_simple_ke_reply_form.html.erb | 2 +- .../courses/show_course_outline.html.erb | 56 +++++++++++++++---- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/app/views/blog_comments/_simple_ke_reply_form.html.erb b/app/views/blog_comments/_simple_ke_reply_form.html.erb index d65dd3faa..61669058b 100644 --- a/app/views/blog_comments/_simple_ke_reply_form.html.erb +++ b/app/views/blog_comments/_simple_ke_reply_form.html.erb @@ -23,7 +23,7 @@
- +

<% end%> diff --git a/app/views/courses/show_course_outline.html.erb b/app/views/courses/show_course_outline.html.erb index 84ddc1074..3af869e2d 100644 --- a/app/views/courses/show_course_outline.html.erb +++ b/app/views/courses/show_course_outline.html.erb @@ -1,5 +1,16 @@ <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_activity_KindEditor",'blog' %> - + @@ -162,18 +173,39 @@ <% end %>
<% if !@article.locked? && User.current.logged?%> -
- -
-
- <%= 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| %> - - <%= 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 %> + + + + + + + + + + + + + +
+
<%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(@article.author_id), :alt => "用户头像" %>
+
+
+ <%= form_for 'blog_comment',:url => {:action => 'reply',:controller => 'blog_comments',:user_id=>@article.author.id,:blog_id=>@article.blog_id, :id => @article.id},:method => "post",:html => {:multipart => true, :id => 'message_form'} do |f|%> + + + + + +
+ +
+

+ <% end%> +
+
<% end %>
From 4d7ca63a12aed1f640aee8dd6d65aa92bbc6fd04 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Oct 2015 11:51:09 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=8E=A7=E5=88=B6=20=E5=9C=A8=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E9=A6=96=E9=A1=B5=E8=AE=BE=E7=BD=AE=E5=A4=A7=E7=BA=B2?= =?UTF-8?q?=E4=B8=8D=E8=B7=B3=E8=BD=AC=20=E5=9C=A8=E5=A4=A7=E7=BA=B2?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=A1=B5=E9=9D=A2=E8=AE=BE=E7=BD=AE=E5=A4=A7?= =?UTF-8?q?=E7=BA=B2=EF=BC=8C=E8=B7=B3=E8=BD=AC=E5=A4=A7=E7=BA=B2=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 2 ++ app/views/courses/_course_outlines_list.html.erb | 1 + app/views/courses/course_outline.js.erb | 4 ++-- app/views/courses/set_course_outline.js.erb | 3 +++ app/views/courses/show_course_outline.html.erb | 2 +- public/javascripts/course.js | 4 ++-- 6 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 3c211b361..c9d632fec 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -715,6 +715,7 @@ class CoursesController < ApplicationController def course_outline @teacher = User.find(@course.tea_id) @blog_articles = @teacher.blog.articles + @is_in_show_outline_page = params[:is_in_show_outline_page] respond_to do |format| format.js end @@ -732,6 +733,7 @@ class CoursesController < ApplicationController def set_course_outline @course.outline = params[:outline_id] @course.save + @is_in_show_outline_page = params[:is_in_show_outline_page] respond_to do |format| format.js end diff --git a/app/views/courses/_course_outlines_list.html.erb b/app/views/courses/_course_outlines_list.html.erb index e3b441f24..6710c22ba 100644 --- a/app/views/courses/_course_outlines_list.html.erb +++ b/app/views/courses/_course_outlines_list.html.erb @@ -10,6 +10,7 @@
<%= form_tag(url_for(:controller=>'courses',:action=>'set_course_outline',:id=>course.id),:method=>'post',:remote=>'true') do %> +
<% unless articles.blank? %> <% articles.each do |article|%> diff --git a/app/views/courses/course_outline.js.erb b/app/views/courses/course_outline.js.erb index f747661b8..490361a24 100644 --- a/app/views/courses/course_outline.js.erb +++ b/app/views/courses/course_outline.js.erb @@ -1,4 +1,4 @@ -$('#ajax-modal').html('<%= escape_javascript(render :partial => 'course_outlines_list',:locals => {:articles=>@blog_articles,:course=>@course}) %>'); +$('#ajax-modal').html('<%= escape_javascript(render :partial => 'course_outlines_list',:locals => {:articles=>@blog_articles,:course=>@course,:show_page=>@is_in_show_outline_page}) %>'); showModal('ajax-modal', '300px'); //$('#ajax-modal').css('height','250px'); $('#ajax-modal').css('padding-top','0px'); @@ -6,4 +6,4 @@ $('#ajax-modal').siblings().remove(); $('#ajax-modal').before(' '); $('#ajax-modal').parent().css("top","30%").css("left","50%"); $('#ajax-modal').parent().addClass("courseOutlinePopup"); -$('#ajax-modal').css("padding-left","16px")//.css("padding-bottom","16px"); \ No newline at end of file +$('#ajax-modal').css("padding-left","16px")//.css("padding-bottom","16px"); diff --git a/app/views/courses/set_course_outline.js.erb b/app/views/courses/set_course_outline.js.erb index febcb0b1f..af075d2b8 100644 --- a/app/views/courses/set_course_outline.js.erb +++ b/app/views/courses/set_course_outline.js.erb @@ -3,3 +3,6 @@ hideModal(); <% else %> $("#course_outline_bar").html(' ') <%end %> +<%if @is_in_show_outline_page && @is_in_show_outline_page == 'Y'%> + window.location.href='<%=show_course_outline_course_path(@course) %>'; +<% end %> diff --git a/app/views/courses/show_course_outline.html.erb b/app/views/courses/show_course_outline.html.erb index 3af869e2d..18a980209 100644 --- a/app/views/courses/show_course_outline.html.erb +++ b/app/views/courses/show_course_outline.html.erb @@ -51,7 +51,7 @@
    • - 重设大纲 + 重设大纲
    • <%= link_to( diff --git a/public/javascripts/course.js b/public/javascripts/course.js index ddd323166..68ffeb46b 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -1224,10 +1224,10 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { change(); }; -//课程大纲选择请求 +//课程大纲选择请求,第二个参数是可选的,判断当前页面是大纲显示页面还是 课程首页 function course_outline(id){ $.get( - ' /courses/'+id+'/course_outline' + ' /courses/'+id+'/course_outline'+"?is_in_show_outline_page="+(arguments[1] ? arguments[1] : 'N') ) } //$(function(){ From 6dcc97d5d1fb2fb7c648b7fb508b852948877707 Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 30 Oct 2015 13:58:54 +0800 Subject: [PATCH 11/18] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E7=9A=84=E5=8F=91=E5=B8=83=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 8 ++++++ app/controllers/users_controller.rb | 20 ++++++++++++--- app/models/homework_common.rb | 25 ++++++++++++++----- app/views/homework_common/edit.html.erb | 1 + app/views/homework_common/index.html.erb | 1 + .../users/_user_homework_detail.html.erb | 8 ++++-- app/views/users/_user_homework_form.html.erb | 4 +++ app/views/users/user_homeworks.html.erb | 1 + ...006_update_homework_common_publish_time.rb | 16 ++++++++++++ db/schema.rb | 6 ++--- lib/tasks/homework_publishtime.rake | 23 +++++++++++++++++ public/javascripts/course.js | 24 ++++++++++++++++++ public/javascripts/new_user.js | 25 +++++++++++++++++++ 13 files changed, 147 insertions(+), 15 deletions(-) create mode 100644 db/migrate/20151029030006_update_homework_common_publish_time.rb create mode 100644 lib/tasks/homework_publishtime.rake diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 55807886b..3db7ada2b 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -47,10 +47,18 @@ class HomeworkCommonController < ApplicationController if params[:homework_common] @homework.name = params[:homework_common][:name] @homework.description = params[:homework_common][:description] + if params[:homework_common][:publish_time] == "" + @homework.publish_time = Date.today + else + @homework.publish_time = params[:homework_common][:publish_time] + end @homework.end_time = params[:homework_common][:end_time] || Time.now @homework.course_id = params[:course_id] homework_detail_manual = @homework.homework_detail_manual || HomeworkDetailManual.new + if @homework.publish_time <= Date.today && homework_detail_manual.comment_status == 0 + homework_detail_manual.comment_status = 1 + end homework_detail_manual.evaluation_start = params[:evaluation_start].blank? ? @homework.end_time + 7 : params[:evaluation_start] homework_detail_manual.evaluation_end = params[:evaluation_end].blank? ? homework_detail_manual.evaluation_start + 7 : params[:evaluation_end] diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 7c41dd038..133fcd94c 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -368,8 +368,12 @@ class UsersController < ApplicationController if User.current == @user @page = params[:page] ? params[:page].to_i + 1 : 0 user_course_ids = @user.courses.empty? ? "(-1)" :"(" + @user.courses.visible.map{|course| course.id}.join(",") + ")" - @homework_commons = HomeworkCommon.where("course_id in #{user_course_ids}").order("created_at desc").limit(10).offset(@page * 10) @is_teacher = User.current.user_extensions && User.current.user_extensions.identity == 0 && User.current.allowed_to?(:add_course, nil, :global => true) + if @is_teacher + @homework_commons = HomeworkCommon.where("course_id in #{user_course_ids}").order("created_at desc").limit(10).offset(@page * 10) + else + @homework_commons = HomeworkCommon.where("course_id in #{user_course_ids} and publish_time <= '#{Date.today}'").order("created_at desc").limit(10).offset(@page * 10) + end @is_in_course = params[:is_in_course].to_i || 0 respond_to do |format| format.js @@ -493,8 +497,12 @@ class UsersController < ApplicationController homework = HomeworkCommon.new homework.name = params[:homework_common][:name] homework.description = params[:homework_common][:description] - homework.end_time = params[:homework_common][:end_time] || Time.now - homework.publish_time = Time.now + homework.end_time = params[:homework_common][:end_time] || Date.today + if params[:homework_common][:publish_time] == "" + homework.publish_time = Date.today + else + homework.publish_time = params[:homework_common][:publish_time] + end homework.homework_type = params[:homework_type].to_i || 1 homework.late_penalty = 10 homework.teacher_priority = 1 @@ -506,7 +514,11 @@ class UsersController < ApplicationController homework_detail_manual = HomeworkDetailManual.new homework_detail_manual.ta_proportion = homework.homework_type == 1 ? 0.6 : 0.3 - homework_detail_manual.comment_status = 1 + if homework.publish_time > Date.today + homework_detail_manual.comment_status = 0 + else + homework_detail_manual.comment_status = 1 + end homework_detail_manual.evaluation_start = params[:evaluation_start].blank? ? homework.end_time + 7 : params[:evaluation_start] homework_detail_manual.evaluation_end = params[:evaluation_end].blank? ? homework_detail_manual.evaluation_start + 7 : params[:evaluation_end] homework_detail_manual.evaluation_num = params[:evaluation_num] || 3 diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index 03a7644a2..8d421a98f 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -23,7 +23,8 @@ class HomeworkCommon < ActiveRecord::Base :description => :description, :author => :author, :url => Proc.new {|o| {:controller => 'student_work', :action => 'index', :homework => o.id}} - after_create :act_as_activity, :send_mail, :act_as_course_activity, :act_as_course_message + after_create :act_as_activity, :send_mail, :act_as_course_message + after_save :act_as_course_activity after_destroy :delete_kindeditor_assets def act_as_activity @@ -33,17 +34,27 @@ class HomeworkCommon < ActiveRecord::Base #课程动态公共表记录 def act_as_course_activity if self.course - self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.course_id) + if self.homework_detail_manual.comment_status == 0 + self.course_acts.destroy_all + else + if self.course_acts.size == 0 + self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.course_id) + end + end end end #课程作业消息记录 def act_as_course_message if self.course - self.course.members.each do |m| - # if m.user_id != self.user_id + if self.homework_detail_manual.comment_status == 0 + self.course_messages.destroy_all + else + self.course.members.each do |m| + # if m.user_id != self.user_id self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.course_id, :viewed => false) - # end + # end + end end end end @@ -54,7 +65,9 @@ class HomeworkCommon < ActiveRecord::Base end def send_mail - Mailer.run.homework_added(self) + if self.homework_detail_manual.comment_status != 0 + Mailer.run.homework_added(self) + end end def is_program_homework? diff --git a/app/views/homework_common/edit.html.erb b/app/views/homework_common/edit.html.erb index 5fc11728b..79692207f 100644 --- a/app/views/homework_common/edit.html.erb +++ b/app/views/homework_common/edit.html.erb @@ -1,6 +1,7 @@ -
      +
      <%= link_to image_tag(url_to_avatar(@article.author),:width=>50,:height => 50,:alt=>'图像' ),user_path(@article.author) %>
      <% if User.current && @article.author.id == User.current.id%> -