From dbc8f420eddc0cb4f67d55c8ea7c7234193fa632 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Mon, 20 Jun 2016 10:17:08 +0800 Subject: [PATCH 01/43] =?UTF-8?q?=E6=8C=89=E7=85=A7=E8=A6=81=E6=B1=82?= =?UTF-8?q?=EF=BC=9A=E5=B0=86=E5=BB=B6=E6=9C=9F=E5=8F=91=E5=B8=83=E5=9C=A8?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E4=B8=8A=E4=BC=A0=E7=95=8C=E9=9D=A2=E5=8F=AB?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E5=8F=91=E5=B8=83=EF=BC=8C=E5=9C=A8=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E9=85=8D=E7=BD=AE=E6=8C=89=E9=92=AE=E4=B8=AD=E5=8F=AB?= =?UTF-8?q?=E5=BB=B6=E6=9C=9F=E5=8F=91=E5=B8=83=EF=BC=8C=E8=A7=81=E9=99=84?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=90=8C=E4=B8=80=E5=8A=9F=E8=83=BD=E7=9A=84?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=90=8D=E7=A7=B0=E5=BA=94=E8=AF=A5=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E3=80=82=E7=BB=9F=E4=B8=80=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E5=8F=91=E5=B8=83=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/files/_resource_detail.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/files/_resource_detail.html.erb b/app/views/files/_resource_detail.html.erb index 2a03723ca..5a94dc9a1 100644 --- a/app/views/files/_resource_detail.html.erb +++ b/app/views/files/_resource_detail.html.erb @@ -53,7 +53,7 @@ <% if (delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course" %> From 863cdee37c9f26562b62a887fa055be58f72cc90 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 28 Jun 2016 14:39:43 +0800 Subject: [PATCH 07/43] =?UTF-8?q?=E5=9C=A8=E7=B2=BE=E5=93=81=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E7=9A=84=E5=85=A8=E9=83=A8=E8=AF=BE=E7=A8=8B=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=B8=8B=E5=A2=9E=E5=8A=A0=E5=85=AC=E5=BC=80=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/_course_detail_tr.html.erb | 3 +++ app/views/admin/excellent_all_courses.html.erb | 17 ++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/views/admin/_course_detail_tr.html.erb b/app/views/admin/_course_detail_tr.html.erb index ca15a6696..4de9cb001 100644 --- a/app/views/admin/_course_detail_tr.html.erb +++ b/app/views/admin/_course_detail_tr.html.erb @@ -6,6 +6,9 @@ <%= link_to(course.name, course_path(course.id)) %> + + <%= checked_image course.is_public? %> + <%= link_to(course.try(:teacher).try(:realname).truncate(6, omission: '...'), user_path(course.teacher)) %> diff --git a/app/views/admin/excellent_all_courses.html.erb b/app/views/admin/excellent_all_courses.html.erb index 86e4556f9..8c7f246fc 100644 --- a/app/views/admin/excellent_all_courses.html.erb +++ b/app/views/admin/excellent_all_courses.html.erb @@ -27,28 +27,31 @@ 序号 - + 课程名 - + + 公开 + + 主讲老师 学生数 - + 作业数 - + 作品数 - + 资源数 - + 帖子数 - + <%=link_to '动态数', excellent_all_courses_path(:order=> @order == "desc" ? 'asc' : 'desc') %> From d8284e45eda042ab58fc669c0a5142da88322e84 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 28 Jun 2016 15:06:08 +0800 Subject: [PATCH 08/43] =?UTF-8?q?=E5=9C=A8=E8=AF=BE=E7=A8=8B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=8B=E5=A2=9E=E5=8A=A0=E5=8A=A8=E6=80=81=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E4=B8=80=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/courses.html.erb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/views/admin/courses.html.erb b/app/views/admin/courses.html.erb index 8e2f146a0..65e442a3e 100644 --- a/app/views/admin/courses.html.erb +++ b/app/views/admin/courses.html.erb @@ -25,10 +25,10 @@ 序号 - + 课程 - + 主讲老师 @@ -37,9 +37,12 @@ <%=l(:field_is_public)%> - + <%=l(:field_created_on)%> + + 动态时间 + @@ -65,6 +68,9 @@ <%= format_date(course.created_at) %> + + <%= course.updated_at.strftime('%Y-%m-%d %H:%M:%S') %> + <% end %> From 2eb7aa7c38432da53d76d3c0037e12a88317b02d Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 30 Jun 2016 11:32:14 +0800 Subject: [PATCH 09/43] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=B2=BE=E5=93=81?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E4=B8=8B-=E5=85=A8=E9=83=A8=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E4=B8=8B=20=E9=99=A4=E5=BA=8F=E5=88=97=E3=80=81?= =?UTF-8?q?=E4=B8=BB=E8=AE=B2=E8=80=81=E5=B8=88=E5=92=8C=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=90=8D=E5=A4=96=E7=9A=84=E6=89=80=E6=9C=89=E5=88=97=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=8E=92=E5=BA=8F=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 34 ++++++++++++++++++- app/views/admin/_course_detail_tr.html.erb | 2 +- .../admin/excellent_all_courses.html.erb | 28 +++++++-------- 3 files changed, 48 insertions(+), 16 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 4014a91bd..2e3612b94 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -72,10 +72,42 @@ class AdminController < ApplicationController courses = Course.find_by_sql("SELECT c.*,count(c.id) FROM courses c,course_activities ca WHERE c.id = ca.course_id AND c.name like '%#{name}%' GROUP BY c.id ORDER BY count(c.id) #{params[:sort]}, c.id desc") @order = params[:order] @sort = params[:sort] + elsif params[:sort] && (params[:order] == 'time') - courses = Course.find_by_sql("SELECT * FROM courses WHERE name like '%#{name}%' ORDER BY time #{params[:sort]},id desc") + courses = Course.find_by_sql("SELECT * FROM courses WHERE name like '%#{name}%' ORDER BY time #{params[:sort]}, id desc") + @order = params[:order] + @sort = params[:sort] + + elsif params[:sort] && (params[:order] == 'post') + courses = Course.find_by_sql("SELECT c.*, count(m.id) count FROM boards b, courses c, messages m WHERE m.board_id = b.id AND b.course_id = c.id AND c.name like '%#{name}%' GROUP BY c.id ORDER BY count #{params[:sort]}, c.id desc") + @order = params[:order] + @sort = params[:sort] + + elsif params[:sort] && (params[:order] == 'res') + courses = Course.find_by_sql("SELECT c.*, count(at.container_id) cat FROM attachments at, courses c WHERE at.container_type = 'Course' AND at.container_id = c.id AND c.name like '%#{name}%' GROUP BY c.id ORDER BY cat #{params[:sort]}, id desc") + @order = params[:order] + @sort = params[:sort] + + elsif params[:sort] && (params[:order] == 'works') + courses = Course.find_by_sql("SELECT c.*, count(hc.id) chc FROM courses c, homework_commons hc,student_works sw WHERE c.id = hc.course_id AND sw.homework_common_id = hc.id AND c.name like '%#{name}%' GROUP BY c.id ORDER BY chc #{params[:sort]}, id desc") @order = params[:order] @sort = params[:sort] + + elsif params[:sort] && (params[:order] == 'homework') + courses = Course.find_by_sql("SELECT c.*, count(sw.id) csw FROM student_works sw, courses c, homework_commons hc WHERE c.id = hc.course_id AND sw.id = c.id AND c.name like '%#{name}%' GROUP BY c.id ORDER BY csw #{params[:sort]}, id desc") + @order = params[:order] + @sort = params[:sort] + + elsif params[:sort] && (params[:order] == 'std') + courses = Course.find_by_sql("SELECT c.*, count(sfc.id) sfc FROM courses c, students_for_courses sfc WHERE sfc.course_id = c.id AND c.name like '%#{name}%' GROUP BY c.id ORDER BY sfc #{params[:sort]}, id desc") + @order = params[:order] + @sort = params[:sort] + + elsif params[:sort] && (params[:order] == 'open') + courses = Course.find_by_sql("SELECT * FROM courses WHERE name like '%#{name}%' ORDER BY is_public #{params[:sort]},id desc") + @order = params[:order] + @sort = params[:sort] + else courses = Course.like(name).order('created_at desc') end diff --git a/app/views/admin/_course_detail_tr.html.erb b/app/views/admin/_course_detail_tr.html.erb index 1629dda83..189cbc8f6 100644 --- a/app/views/admin/_course_detail_tr.html.erb +++ b/app/views/admin/_course_detail_tr.html.erb @@ -25,7 +25,7 @@ <%= visable_attachemnts_incourse(course).count%> - <%= course.boards.first.topics.count + Message.where("board_id =? and parent_id is not ?", course.boards.first.id, nil).count %> + <%= Message.where("board_id =?", course.boards.first.id).count %> <%= course.course_activities.count%> diff --git a/app/views/admin/excellent_all_courses.html.erb b/app/views/admin/excellent_all_courses.html.erb index e5a89573a..805c81d1f 100644 --- a/app/views/admin/excellent_all_courses.html.erb +++ b/app/views/admin/excellent_all_courses.html.erb @@ -30,32 +30,32 @@ 课程名 - - 公开 + + <%= link_to '公开', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'open') %> 主讲老师 - - 学生数 + + <%= link_to '学生数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'std') %> - - 作业数 + + <%= link_to '作业数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'homework') %> - - 作品数 + + <%= link_to '作品数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'works') %> - - 资源数 + + <%= link_to '资源数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'res') %> - - 帖子数 + + <%= link_to '帖子数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'post') %> - <%=link_to '动态数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'act') %> + <%= link_to '动态数', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'act') %> - <%=link_to '开课学期', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'time') %> + <%= link_to '开课学期', excellent_all_courses_path(:sort=> @sort == "desc" ? 'asc' : 'desc', :order => 'time') %> From 28c20c966ed4c70aebede52db2d8a416761da375 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 1 Jul 2016 19:28:55 +0800 Subject: [PATCH 10/43] =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/tags/_show_users.html.erb | 2 +- app/views/tags/index.html.erb | 2 +- public/stylesheets/courses.css | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/tags/_show_users.html.erb b/app/views/tags/_show_users.html.erb index d8b172ba9..ab6570a2a 100644 --- a/app/views/tags/_show_users.html.erb +++ b/app/views/tags/_show_users.html.erb @@ -2,7 +2,7 @@ <% if users_results.try(:size).to_i > 0 %>
<% users_results.each do |user| %> -

+

<%= l(:label_tags_user_name) %><%= link_to ("#{user.name}"), :controller => "users",:action => "show",:id => user.id%>
diff --git a/app/views/tags/index.html.erb b/app/views/tags/index.html.erb index 947366eeb..038768a41 100644 --- a/app/views/tags/index.html.erb +++ b/app/views/tags/index.html.erb @@ -16,7 +16,7 @@ <% content_for :content do %>

<%= l(:label_tags_search_result) %>

-
+
<%= l(:label_tags_numbers) %>: <%= l(:label_issue_plural) %>(<%= @issues_tags_num %>) | <%= l(:label_project_plural) %>(<%= @projects_tags_num %>) | diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index d6026537e..1df2a2ece 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -1428,4 +1428,5 @@ a.pages-big{ width:50px;} .W300 {width:300px !important;} .W600{ width:600px;} -.syllabus_input {width: 290px; border: 1px solid #64bdd9; height: 30px;} +.syllabus_input {width: 290px; border: 1px solid #64bdd9; height: 30px;} +.syllabus_input option {max-width:260px;} From 1bfb2918f077f8801d13134f1a3236b6ff7a545d Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Fri, 1 Jul 2016 20:06:12 +0800 Subject: [PATCH 11/43] =?UTF-8?q?KE=E9=97=B4=E8=B7=9D=E6=94=B9=E5=9B=9E?= =?UTF-8?q?=E5=8E=9F=E6=9D=A5=E7=9A=84=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E5=A4=A7=E7=BA=B2=E9=99=84=E4=BB=B6=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=9A=E5=AE=A2=E6=A0=87=E9=A2=98=E4=B8=8E=E7=BD=AE=E9=A1=B6?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 2 +- app/views/attachments/_form_course.html.erb | 12 ++++++------ public/stylesheets/courses.css | 3 +-- public/stylesheets/new_user.css | 1 - public/stylesheets/project.css | 1 - public/stylesheets/public.css | 3 +-- public/stylesheets/syllabus.css | 2 +- 7 files changed, 10 insertions(+), 14 deletions(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 960bc61e6..a6b5f09cf 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -612,7 +612,7 @@ class AttachmentsController < ApplicationController @attachment.container.board.course) @course = @attachment.container.board.course else - unless @attachment.container_type == 'Bid' || @attachment.container_type == 'Organization' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' + unless @attachment.container_type == 'Syllabus' || @attachment.container_type == 'Bid' || @attachment.container_type == 'Organization' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' @project = @attachment.project end end diff --git a/app/views/attachments/_form_course.html.erb b/app/views/attachments/_form_course.html.erb index 6d921903d..1d51e951a 100644 --- a/app/views/attachments/_form_course.html.erb +++ b/app/views/attachments/_form_course.html.erb @@ -2,31 +2,31 @@ <% if defined?(container) && container && container.saved_attachments %> <% if isReply %> <% container.saved_attachments.each_with_index do |attachment, i| %> - +

<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'upload_filename readonly', :readonly=>'readonly')%> <%#= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %> <%#= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%> - <%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %> + <%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "#{i+1}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload', :containerid => "2") %> <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %> - +

<% end %> <% else %> <% container.attachments.each_with_index do |attachment, i| %> - +

<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'upload_filename readonly', :readonly=>'readonly')%> <%#= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %> <%#= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%> - <%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %> + <%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "#{i+1}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload', :containerid => "2") %> <%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %> <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %> - +

<% end %> <% end %> <% end %> diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 96c9947b1..178e9bb5d 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -152,7 +152,6 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro p{line-height: 1;} .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReply {width:710px; margin:0px auto; background-color:#f1f1f1; margin-top:10px;} @@ -1429,4 +1428,4 @@ a.pages-big{ width:50px;} .W300 {width:300px !important;} .W600{ width:600px;} -.syllabus_input {width: 290px; border: 1px solid #64bdd9; height: 30px;} +.syllabus_input {width: 290px; border: 1px solid #64bdd9; height: 30px;} diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index a65edc490..b931dff6b 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -683,7 +683,6 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro p{line-height: 1;} .homepagePostReplyBanner {width:718px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888; position: relative;} .borderBottomNone {border-bottom:none !important;} .homepagePostReplyBanner {width:718px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;} diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 354c0f1ac..bde560613 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -969,7 +969,6 @@ a:hover.Reply_pic{border:1px solid #64bdd9;} color: #484848; overflow: hidden; } -.homepagePostIntro p{line-height: 1;} .homepagePostReply { width: 710px; margin: 10px auto 0px; diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 7cfb7f9e0..c86e0f42d 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -633,7 +633,6 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro p{line-height: 1;} .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888; position: relative;} @@ -1184,4 +1183,4 @@ a.shadowbox_news_all{ display:block; width:305px; height:40px; line-height:40px; .reply_iconup{ position:absolute; top:21px; left:13px; color:#d4d4d4; font-size:16px; background:#f1f1f1; line-height:13px;} /*20160622代码分析弹窗*/ -.analysis-option-box {width:100%; border:1px solid #ccc; padding:3px 5px;} +.analysis-option-box {width:100%; border:1px solid #ccc; padding:3px 5px;} diff --git a/public/stylesheets/syllabus.css b/public/stylesheets/syllabus.css index 6218f52e0..2abbffda7 100644 --- a/public/stylesheets/syllabus.css +++ b/public/stylesheets/syllabus.css @@ -138,7 +138,7 @@ a.sortupbtn{ background: url(../images/syllabus/icons_syllabus.png) 0 3px no-rep a.sortdownbtn{ background: url(../images/syllabus/icons_syllabus.png) 0 -12px no-repeat; width:12px; height:17px; display:block;cursor:pointer; } a.sort_no{ background: url(../images/syllabus/icons_syllabus.png) -16px -12px no-repeat; width:12px; height:17px; display:block;cursor:pointer; } .item_list{ display:block; width:5px; height:5px;-webkit-border-radius: 25px;border-radius:25px; background-color:#adadad; margin:10px 10px 0 0;} -a.list-title{ font-size:14px; font-weight: bold; color:#000;white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; width:708px;} +a.list-title{ font-size:14px; font-weight: bold; color:#000;white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;} a:hover.list-title{ color:#269ac9;} .c_red{ font-weight:normal; font-size:12px;} .list-file{ padding:10px 0; border-bottom:1px dashed #ddd;} From 70e26927cba70f4f81cf2091ad4fbd035f51ee5e Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Fri, 1 Jul 2016 20:38:33 +0800 Subject: [PATCH 12/43] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AD=97=E6=A0=B7=E6=94=B9=E4=B8=BA=E7=8F=AD?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/courses_service.rb | 12 ++++++------ app/views/courses/join.js.erb | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index f6bf59af0..f59beb7e5 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -324,15 +324,15 @@ class CoursesService define_error [ 0, '加入成功', 1, '密码错误', - 2, '课程已过期 请联系课程管理员重启课程。', - 3, '您已经加入了课程', - 4, '您加入的课程不存在', + 2, '班级已过期 请联系班级管理员重启班级。', + 3, '您已经加入了班级', + 4, '您加入的班级不存在', 5, '您还未登录', 6, '申请成功,请等待审核完毕', 7, '您已经发送过申请了,请耐心等待', - 8, '您已经是该课程的教师了', - 9, '您已经是该课程的教辅了', - 10, '您已经是该课程的管理员了', + 8, '您已经是该班级的教师了', + 9, '您已经是该班级的教辅了', + 10, '您已经是该班级的管理员了', '未知错误,请稍后再试' ] end diff --git a/app/views/courses/join.js.erb b/app/views/courses/join.js.erb index 04a77f87b..ac8b717d1 100644 --- a/app/views/courses/join.js.erb +++ b/app/views/courses/join.js.erb @@ -10,12 +10,12 @@ window.location.href= "<%= Setting.protocol%>://"+"<%= Setting.host_name%>"+"/co <% elsif @state == 1 %> alert("密码错误"); <% elsif @state == 2 %> -alert("课程已过期\n请联系课程管理员重启课程。(在配置课程处)"); +alert("班级已过期\n请联系班级管理员重启班级。(在配置班级处)"); <% elsif @state == 3 %> -alert("您已经加入了课程"); +alert("您已经加入了班级"); window.location.href= "<%= Setting.protocol%>://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @course.id%>" <% elsif @state == 4 %> -alert("您加入的课程不存在"); +alert("您加入的班级不存在"); <% elsif @state == 5 %> alert("您还未登录"); <% elsif @state == 6 %> @@ -25,15 +25,15 @@ hidden_join_course_form(); alert("您已经发送过申请了,请耐心等待"); hidden_join_course_form(); <% elsif @state == 8%> -alert("您已经是该课程的教师了"); +alert("您已经是该班级的教师了"); hidden_join_course_form(); window.location.href= "<%= Setting.protocol%>://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @course.id%>" <% elsif @state == 9%> -alert("您已经是该课程的教辅了"); +alert("您已经是该班级的教辅了"); hidden_join_course_form(); window.location.href= "<%= Setting.protocol%>://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @course.id%>" <% elsif @state == 10%> -alert("您已经是该课程的管理员了"); +alert("您已经是该班级的管理员了"); hidden_join_course_form(); window.location.href= "<%= Setting.protocol%>://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @course.id%>" <% else %> From 447e624f3640ad870e695661628c78836a49fa11 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Fri, 1 Jul 2016 21:38:37 +0800 Subject: [PATCH 13/43] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=A4=A7=E7=BA=B2bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/syllabuses_helper.rb | 12 ++++++------ app/views/courses/private_or_public.js.erb | 4 ++-- app/views/layouts/_syllabus_base_info.html.erb | 6 +++--- app/views/syllabuses/_syllabus_course_list.html.erb | 2 +- app/views/users/_user_course_list.html.erb | 2 +- app/views/users/_user_syllabus_list.html.erb | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/app/helpers/syllabuses_helper.rb b/app/helpers/syllabuses_helper.rb index 00331e0dc..7e815950b 100644 --- a/app/helpers/syllabuses_helper.rb +++ b/app/helpers/syllabuses_helper.rb @@ -48,17 +48,17 @@ module SyllabusesHelper option6 = [] option1 << "请选择" - option1 << 1 + option1 << 0 option2 << "公共必修课" - option2 << 2 + option2 << 1 option3 << "学科必修课" - option3 << 3 + option3 << 2 option4 << "专业选修课" - option4 << 4 + option4 << 3 option5 << "实践必修课" - option5 << 5 + option5 << 4 option6 << "实践选修课" - option6 << 6 + option6 << 5 type << option1 type << option2 diff --git a/app/views/courses/private_or_public.js.erb b/app/views/courses/private_or_public.js.erb index 4e512a6a0..82180c452 100644 --- a/app/views/courses/private_or_public.js.erb +++ b/app/views/courses/private_or_public.js.erb @@ -9,9 +9,9 @@ } <% else %> <% if @course.is_public? %> - $("#show_course_<%= @course.id %>").attr("title","公开课程:<%= @course.name %>(<%= @course.time.to_s+ @course.term %>)"); + $("#show_course_<%= @course.id %>").attr("title","公开班级:<%= @course.name %>(<%= @course.time.to_s+ @course.term %>)"); <% else %> - $("#show_course_<%= @course.id %>").attr("title","私有课程:<%= @course.name %>(<%= @course.time.to_s+ @course.term %>)"); + $("#show_course_<%= @course.id %>").attr("title","私有班级:<%= @course.name %>(<%= @course.time.to_s+ @course.term %>)"); <% end %> $("#set_course_public_<%= @course.id %>").replaceWith('<%= escape_javascript(link_to @course.is_public == 0 ? "设为公开" : "设为私有", {:controller => "courses", :action => "private_or_public", :id => @course,:user_page => true}, :id => "set_course_public_#{@course.id.to_s}",:remote=>true,:confirm=>"您确定要设置为"+(@course.is_public == 0 ? "公开" : "私有")+"吗") %>'); diff --git a/app/views/layouts/_syllabus_base_info.html.erb b/app/views/layouts/_syllabus_base_info.html.erb index cf4926d82..ae6da2ac3 100644 --- a/app/views/layouts/_syllabus_base_info.html.erb +++ b/app/views/layouts/_syllabus_base_info.html.erb @@ -4,7 +4,7 @@ <% end %>
  • <%=syllabus.user.show_name %>
  • - <% unless syllabus.syllabus_type.nil? || syllabus.syllabus_type == 0 %> + <% unless syllabus.syllabus_type.nil? || syllabus.syllabus_type == 0 || syllabus.syllabus_type == '' %>
  • <%=syllabus.syllabus_type_str %>
  • <% end %> <% unless syllabus.credit.nil? || syllabus.credit == '' %> @@ -26,7 +26,7 @@
  • <%=syllabus.pre_course %>
  • <% end %> - <% if syllabus.syllabus_type.nil? || syllabus.syllabus_type == '' %> + <% if syllabus.syllabus_type.nil? || syllabus.syllabus_type == 0 || syllabus.syllabus_type == '' %>
  • <% end %> <% if syllabus.credit.nil? || syllabus.credit == '' %> @@ -48,7 +48,7 @@
  • <% end %> -<% if User.current.logged? && (User.current == syllabus.user || User.current.admin?)&&(syllabus.syllabus_type.nil? || syllabus.syllabus_type == ''||syllabus.credit.nil? || syllabus.credit == ''||syllabus.hours.nil? || syllabus.hours == ''||syllabus.theory_hours.nil? || syllabus.theory_hours == ''||syllabus.practice_hours.nil? || syllabus.practice_hours == ''||syllabus.applicable_major.nil? || syllabus.applicable_major == ''||syllabus.pre_course.nil? || syllabus.pre_course == '')%> +<% if User.current.logged? && (User.current == syllabus.user || User.current.admin?)&&(syllabus.syllabus_type.nil? || syllabus.syllabus_type == 0 || syllabus.syllabus_type == ''||syllabus.credit.nil? || syllabus.credit == ''||syllabus.hours.nil? || syllabus.hours == ''||syllabus.theory_hours.nil? || syllabus.theory_hours == ''||syllabus.practice_hours.nil? || syllabus.practice_hours == ''||syllabus.applicable_major.nil? || syllabus.applicable_major == ''||syllabus.pre_course.nil? || syllabus.pre_course == '')%> <% end %> -
    -
    - <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %> -
    -
    -
    - <% 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 %> -
    -
    - <%= reply.content.html_safe%> -
    -
    - <%= format_time(reply.created_on) %> - -
    -

    -
    -
    + <% all_comments = []%> + <% comments = get_all_children(all_comments, @topic) %> +
    + <% comments.each_with_index do |reply,i| %> + +
    +
    + <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %> +
    +
    +
    + <%= link_to reply.creator_user.show_name, user_url_in_org(reply.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(reply.created_on) %>
    - <% end %> -
    + <% if !reply.parent.nil? && !reply.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => reply}%> + <% end %> +
    + <%= reply.content.html_safe%> +
    +
    +
    + + + <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %> + + + <%= link_to( + l(:button_reply), + {:action => 'quote', :id => reply}, + :remote => true, + :method => 'get', + :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %> + + + <%= link_to( + l(:button_delete), + {:action => 'destroy', :id => reply}, + :method => :post, + :class => 'fr mr20', + :data => {:confirm => l(:text_are_you_sure)}, + :title => l(:button_delete) + ) if reply.course_destroyable_by?(User.current) %> + - <% end %> +
    +
    +
    +

    +
    +
    +
    + <% end %> +
    <% if !@topic.locked? && authorize_for('messages', 'reply') %>
    diff --git a/app/views/messages/_reply_message.html.erb b/app/views/messages/_reply_message.html.erb index d4d9d77a0..923734001 100644 --- a/app/views/messages/_reply_message.html.erb +++ b/app/views/messages/_reply_message.html.erb @@ -4,11 +4,12 @@
    <% if User.current.logged? %>
    - <%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'new_form'} do |f| %> - - + <%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :method => "post", :id => 'new_form' do |f| %> + <%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %> + <%= hidden_field_tag 'reply_id', params[:reply_id], :value => reply.author.id %> + <%= hidden_field_tag 'activity_id',params[:activity_id],:value =>@topic.id %>
    - +

    diff --git a/app/views/messages/destroy.js.erb b/app/views/messages/destroy.js.erb new file mode 100644 index 000000000..109df3a0e --- /dev/null +++ b/app/views/messages/destroy.js.erb @@ -0,0 +1,8 @@ +<%if @project%> +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:is_course=>@is_course,:is_board=>@is_board}) %>"); +<%elsif @course%> +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:is_course=>@is_course,:is_board=>@is_board}) %>"); +<% elsif @org_subfield %> +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'organizations/org_subfield_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>"); +<%end%> +sd_create_editor_from_data(<%= @user_activity_id %>,"","100%", "UserActivity"); \ No newline at end of file diff --git a/app/views/messages/quote.js.erb b/app/views/messages/quote.js.erb index 89f953bb9..9bd723157 100644 --- a/app/views/messages/quote.js.erb +++ b/app/views/messages/quote.js.erb @@ -1,16 +1,8 @@ -/*$('#message_subject').val("<%#= raw escape_javascript(@subject) %>"); -$('#message_quote').html("<%#= raw escape_javascript(@temp.content.html_safe) %>"); -//$('#message_content').val("<#%= raw escape_javascript(@content) %>"); -$('#quote_quote').html("<%#= raw escape_javascript(@temp.content.html_safe) %>"); - -showAndScrollTo("reply", "message_content"); -$('#message_content').scrollTop = $('#message_content').scrollHeight - $('#message_content').clientHeight; -$("img").removeAttr("align");*/ if($("#reply_message_<%= @message.id%>").length > 0) { - $("#reply_message_<%= @message.id%>").replaceWith("<%= escape_javascript(render :partial => 'reply_message', :locals => {:reply => @message,:temp =>@temp,:subject =>@subject}) %>"); + $("#reply_message_<%= @message.id%>").replaceWith("<%= escape_javascript(render :partial => 'reply_message', :locals => {:reply => @message}) %>"); $(function(){ - $('#reply_subject').val("<%= raw escape_javascript(@subject) %>"); - $('#quote_quote').val("<%= raw escape_javascript(@temp.content.html_safe) %>"); + /*$('#reply_subject').val("<%#= raw escape_javascript(@subject) %>"); + $('#quote_quote').val("<%#= raw escape_javascript(@temp.content.html_safe) %>");*/ sd_create_editor_from_data(<%= @message.id%>,null,"100%", "<%=@message.class.to_s%>"); }); }else if($("#reply_to_message_<%= @message.id%>").length >0) { diff --git a/app/views/users/_comment_reply_detail.html.erb b/app/views/users/_comment_reply_detail.html.erb index 4ced798d0..266a0b32b 100644 --- a/app/views/users/_comment_reply_detail.html.erb +++ b/app/views/users/_comment_reply_detail.html.erb @@ -1,9 +1,9 @@
    -<%= link_to image_tag(url_to_avatar(comment.user), :width => "33", :height => "33"), user_path(comment.user_id), :alt => "用户头像" %> +<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => "33", :height => "33"), user_path(comment.creator_user.id), :alt => "用户头像" %>
    - <%= link_to comment.user.show_name, user_path(comment.user_id), :class => "content-username" %> + <%= link_to comment.creator_user.show_name, user_path(comment.creator_user.id), :class => "content-username" %> <%= time_from_now(comment.created_on) %> -
    <%= comment.notes.html_safe %>
    +
    <%= comment.content_detail.html_safe %>
    \ No newline at end of file diff --git a/app/views/users/_course_message.html.erb b/app/views/users/_course_message.html.erb index d4db3df1f..70a7e6c7d 100644 --- a/app/views/users/_course_message.html.erb +++ b/app/views/users/_course_message.html.erb @@ -78,20 +78,18 @@
    - <% count=0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %> + <%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %> + <%# count = fetch_user_leaveWord_reply(activity).count %>
    - <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %> + <%= render :partial => 'users/message_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %> - <% activity= activity.parent ? activity.parent : activity%> - <% comments = activity.children.reorder("created_on desc").limit(3) %> - <% if count > 0 %> + <% all_comments = []%> + <% comments = get_all_children(all_comments, activity)[0..2] %> + <% if count > 0 %>
    - <%= render :partial => 'users/all_replies', :locals => {:comments => comments}%> + <%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'Message', :activity_id =>activity.id, :is_course => is_course, :is_board =>is_board}%>
    <% end %> diff --git a/app/views/users/_message_contents.html.erb b/app/views/users/_message_contents.html.erb new file mode 100644 index 000000000..eab125006 --- /dev/null +++ b/app/views/users/_message_contents.html.erb @@ -0,0 +1,23 @@ +<% parents_rely = [] %> +<% parents_rely = get_reply_parents_no_root parents_rely, comment %> +<% length = parents_rely.length %> +
    + <% if length <= 3 %> + <%=render :partial => 'users/journal_comment_reply', :locals => {:comment => comment.parent} %> + <% else %> +
    +
    +
    + <%=render :partial => 'users/journal_comment_reply', :locals => {:comment => parents_rely[length - 1]} %> +
    + <%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[length - 2]} %> +
    +
    + + + <%= link_to '点击展开隐藏楼层', show_all_replies_users_path(:comment => comment, :type => comment.class),:remote=>true %> +
    + <%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[0]} %> +
    + <% end %> +
    \ No newline at end of file diff --git a/app/views/users/_message_replies.html.erb b/app/views/users/_message_replies.html.erb new file mode 100644 index 000000000..c6f9d91b0 --- /dev/null +++ b/app/views/users/_message_replies.html.erb @@ -0,0 +1,61 @@ +
      + <% comments.each do |comment| %> + +
    • +
      + <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %> +
      +
      +
      + <%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(comment.created_on) %> +
      + <% if !comment.parent.nil? && !comment.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => comment}%> + <% end %> + <% if !comment.content_detail.blank? %> +
      + <%= comment.content_detail.html_safe %> +
      +
      +
      + + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>comment, :user_activity_id=>comment.id,:type=>"reply"}%> + + + <%= link_to( + l(:button_reply), + {:controller => 'users' ,:action => 'reply_to', :reply_id => comment.id, :type => type, :user_activity_id => user_activity_id, :activity_id => activity_id, :is_course => is_course, :is_board => is_board}, + :remote => true, + :method => 'get', + :title => l(:button_reply)) %> + + + <% if comment.course_destroyable_by?(User.current) %> + <%= link_to( + l(:button_delete), + delete_board_message_path(comment,:board_id =>comment.board.id, :user_activity_id => user_activity_id, :activity_id => activity_id, :is_course => is_course, :is_board => is_board), + :method => :post, + :remote => true, + :class => 'fr mr20', + :data => {:confirm => l(:text_are_you_sure)}, + :title => l(:button_delete) + ) %> + <% end %> + +
      +
      +
      +

      + <% end %> +
      +
      +
    • + <% end %> +
    \ No newline at end of file diff --git a/app/views/users/_message_reply_banner.html.erb b/app/views/users/_message_reply_banner.html.erb new file mode 100644 index 000000000..0c8cda379 --- /dev/null +++ b/app/views/users/_message_reply_banner.html.erb @@ -0,0 +1,18 @@ +
    +
    + 回复 + ︿ + <%= count>0 ? "(#{count})" : "" %> + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>activity, :user_activity_id=>user_activity_id,:type=>"activity"}%> + +
    +
    <%#= format_date(activity.updated_on) %>
    + <%if count>3 %> + + <% end %> +
    \ No newline at end of file diff --git a/app/views/users/_project_message.html.erb b/app/views/users/_project_message.html.erb index 1abc36a31..d1bb99296 100644 --- a/app/views/users/_project_message.html.erb +++ b/app/views/users/_project_message.html.erb @@ -77,20 +77,18 @@
    - <% count = 0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %> + <%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %> + <%# count = fetch_user_leaveWord_reply(activity).count %>
    - <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %> + <%= render :partial => 'users/message_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %> - <% activity= activity.parent_id.nil? ? activity : activity.parent %> - <% comments = activity.children.reorder("created_on desc").limit(3) %> + <% all_comments = []%> + <% comments = get_all_children(all_comments, activity)[0..2] %> <% if count > 0 %>
    - <%= render :partial => 'users/all_replies', :locals => {:comments => comments}%> + <%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'Message', :activity_id =>activity.id, :is_course => is_course, :is_board =>is_board}%>
    <% end %> diff --git a/app/views/users/_reply_to.html.erb b/app/views/users/_reply_to.html.erb index 621b56fbd..8a2909ad4 100644 --- a/app/views/users/_reply_to.html.erb +++ b/app/views/users/_reply_to.html.erb @@ -16,7 +16,7 @@

    <% end%> <% elsif @type == 'JournalsForMessage' %> - <%= form_for('new_form',:url => {:controller => 'words', :action => 'create_reply', :id => reply.id}, :method => "post", :remote => true) do |f|%> + <%= form_for('new_form',:url => {:controller => 'words', :action => 'create_reply', :id => reply.id}, :method => "post", :remote => true) do |f|%> <%= hidden_field_tag 'reference_id', params[:reference_id], :value => reply.id %> <%= hidden_field_tag 'reference_user_id', params[:reference_user_id], :value => reply.user.id %> <%= hidden_field_tag 'reference_message_id', params[:reference_message_id], :value => reply.id %> @@ -28,6 +28,22 @@
    <% end%> + <% elsif @type == 'Message' %> + <%= form_for('new_form',:url => {:controller => 'messages', :action => 'reply', :id => reply.id, :board_id => reply.board.id}, :method => "post", :remote => true) do |f|%> + <%= hidden_field_tag 'is_course', params[:is_course], :value => @is_course %> + <%= hidden_field_tag 'is_board', params[:is_board], :value => @is_board %> + <%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %> + <%= hidden_field_tag 'reply_id', params[:reply_id], :value => reply.author.id %> + <%= hidden_field_tag 'activity_id',params[:activity_id],:value =>@activity_id %> + <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %> + +
    + + +
    +

    + <% end%> <% end %>
    diff --git a/app/views/users/all_journals.js.erb b/app/views/users/all_journals.js.erb index 6d227e93b..d03e13742 100644 --- a/app/views/users/all_journals.js.erb +++ b/app/views/users/all_journals.js.erb @@ -2,6 +2,8 @@ $('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/homework_replies', :locals => {:comments => @journals, :is_in_course =>@is_in_course,:course_activity=>@course_activity, :is_teacher => @is_teacher, :user_activity_id => @user_activity_id}) %>'); <% elsif params[:type] == 'JournalsForMessage' %> $('#reply_div_<%= @user_activity_id %>').html('<%=escape_javascript(render :partial => 'users/journal_replies', :locals => {:comments => @journals,:user_activity_id => @user_activity_id, :type => @type, :allow_delete => @allow_delete, :activity_id =>params[:id].to_i}) %>'); +<% elsif params[:type] == 'Message' %> +$('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/message_replies', :locals => {:comments => @journals,:user_activity_id => @user_activity_id, :type => @type, :activity_id =>params[:id].to_i,:is_course => @is_course, :is_board => @is_board}) %>'); <% else %> $('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/all_replies', :locals => {:comments => @journals}) %>'); <% end %> diff --git a/app/views/users/show_all_replies.js.erb b/app/views/users/show_all_replies.js.erb index 5f5ea6c3f..ae8803653 100644 --- a/app/views/users/show_all_replies.js.erb +++ b/app/views/users/show_all_replies.js.erb @@ -1,6 +1,8 @@ <% unless @comment.parent.nil? %> <% if params[:type] == 'JournalsForMessage' && (@comment.jour_type == 'Principal' || @comment.jour_type == 'Course') %> $('#comment_reply_<%=@comment.id %>').html("<%= escape_javascript(render :partial => 'users/journal_comment_reply', :locals => {:comment => @comment.parent})%>"); + <% elsif @comment.class.to_s == 'Message' %> + $('#comment_reply_<%=@comment.id %>').html("<%= escape_javascript(render :partial => 'users/journal_comment_reply', :locals => {:comment => @comment.parent})%>"); <% else %> $('#comment_reply_<%=@comment.id %>').html("<%= escape_javascript(render :partial => 'users/comment_reply', :locals => {:comment => @comment.parent})%>"); <% end %> diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 016526512..91467cca4 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1374,6 +1374,41 @@ function expand_journal_reply(container, btnid, id, type, div_id, allow_delete) } } +function expand_message_reply(container, btnid, id, type, div_id, is_course, is_board) { + var target = $(container); + var btn = $(btnid); + if (btn.data('init') == '0') { + btn.data('init', 1); + $.get( + '/users/all_journals', + { + type: type, + id: id, + div_id: div_id, + is_course: is_course, + is_board: is_board + }, + function(data) { + + } + ); + btn.html('收起回复'); + //target.show(); + } else if(btn.data('init') == '1') { + btn.data('init', 3); + btn.html('展开更多'); + target.hide(); + target.eq(0).show(); + target.eq(1).show(); + target.eq(2).show(); + } + else { + btn.data('init', 1); + btn.html('收起回复'); + target.show(); + } +} + function expand_reply_homework(container, btnid, id, type, div_id, is_in_course, course_activity, user_activity_id) { var target = $(container); var btn = $(btnid); diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 96c9947b1..9f7aeeafc 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -190,7 +190,7 @@ a.postOptionLink2:hover {color:#ffffff; background-color:#269ac9;} .imageFuzzy {filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity:0.5;opacity: 0.5;} .homepagePostReplyDes {float:left; width:632px; margin-left:15px;} .homepagePostReplyPublisher {font-size:12px; color:#888888; margin-bottom:5px;} -.homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;} +.homepagePostReplyContent {font-size:12px; color:#484848; margin:3px 5px 12px 5px;} .homepagePostReplyContent ol li{list-style-type: decimal;margin-left: 20px;} .homepagePostReplyContent ul li{list-style-type: disc;margin-left: 20px;} .homepagePostReplyContent td,.homepagePostReplyContent tr {border: 1px solid; border-color: inherit;} @@ -1429,4 +1429,4 @@ a.pages-big{ width:50px;} .W300 {width:300px !important;} .W600{ width:600px;} -.syllabus_input {width: 290px; border: 1px solid #64bdd9; height: 30px;} +.syllabus_input {width: 290px; border: 1px solid #64bdd9; height: 30px;} diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 7cfb7f9e0..154cda201 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -666,7 +666,7 @@ a.postReplyCancel:hover {color:#ffffff;} .homepagePostReplyPortrait {float:left; width:45px;} .homepagePostReplyDes {float:left; width:620px; margin-left:15px;} .homepagePostReplyPublisher {font-size:12px; color:#484848; margin-bottom:5px;} -.homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;} +.homepagePostReplyContent {font-size:12px; color:#484848; margin:3px 5px 12px 5px;} .homepagePostReplyContent ol li{list-style-type: decimal;margin-left: 40px;} .homepagePostReplyContent ul li{list-style-type: disc;margin-left: 40px;} .homepagePostReplyContent td,.homepagePostReplyContent tr {border: 1px solid; border-color: inherit;} @@ -1184,4 +1184,46 @@ a.shadowbox_news_all{ display:block; width:305px; height:40px; line-height:40px; .reply_iconup{ position:absolute; top:21px; left:13px; color:#d4d4d4; font-size:16px; background:#f1f1f1; line-height:13px;} /*20160622代码分析弹窗*/ -.analysis-option-box {width:100%; border:1px solid #ccc; padding:3px 5px;} +.analysis-option-box {width:100%; border:1px solid #ccc; padding:3px 5px;} + +/* 二级回复 */ +.clearfix:after { content:"."; display:block; height:0; visibility:hidden; clear:both; } +.clearfix { zoom:1; } +.clearit { clear:both; height:0; font-size:0; overflow:hidden; } +.comment_item{ width:720px; background-color:#f1f1f1; color:#888;} +.comment_top{ height:15px; border: 1px solid #e4e4e4; padding:10px; position:relative;} +.reply_iconup{ position:absolute; top:21px; left:13px; color:#d4d4d4; font-size:16px; background:#f1f1f1; line-height:13px;} +.fl{ float:left;} +.fr{ float:right;} +.comment_item_cont{ padding:15px; border-bottom:1px solid #e3e3e3;} +.J_Comment_Face img{ width:40px; height:40px; } +.t_content{ width:92%; margin-left:15px;} +a.content-username { color:#269ac9; font-size:14px; margin-right:15px;} +a.content-username:hover{ color:#297fb8;} +.orig_user img{width:32px; height:32px;} +.reply-right{ float:right; position:relative;} +.reply_iconup02{ position:absolute; top:16px; left:4px; color:#d4d4d4; font-size:16px; background:#f1f1f1; line-height:13px;} +.comment_orig_content{margin:10px 0; color:#999;} +.comment_orig_content .comment_orig_content{margin-top:0;} +.orig_cont{ border:solid 1px #F3DDB3; background:#FFFEF4; padding:4px;color:#999;margin-top:-1px;} +.orig_cont_sub{ border-top:0} +.orig_index{ float:right; color:#666; font-family:Arial; padding-right:5px;line-height:30px;} +.orig_user{ margin:10px 15px 10px 5px;} +.orig_user span{ color:#999; padding-right:5px;} +.orig_content{padding:5px 0px 5px 0px;line-height:24px; color:#333; } +.orig_right{ width:80%; margin-top:5px;} +a.comment_ding_link{ height:24px;line-height:24px;display:inline-block;padding-left:2px;vertical-align:middle; color:#333; } +a:hover.comment_ding_link{ color:#269ac9;} +.comment_ding_link span{display: inline-block;padding: 0 0px 0 8px;} +.comment_ding_link em{font-style: normal;font-family: arial;} +.comment_reply_link{ display:inline-block; width:50px; height:24px;line-height: 24px; vertical-align:middle;text-align: center;} +.comment_reply_link:link,.comment_reply_link:visited{color:#333;text-decoration: none;} +.comment_content{ color:#333;} +.t_txt{ margin-top:10px;} +.orig_reply_box{border-top:1px solid #e3e3e3; width:95%; padding:15px 0px 15px 25px;} +.orig_reply_box2{border-top:1px solid #e3e3e3; width:95%; padding:10px 25px 10px 0;} +.orig_textarea{width:90%; margin-bottom:10px;} +.orig_sub{ float:right; background-color:#269ac9; color:#fff; height:25px; line-height:25px; text-align:center; width:80px; border:none;} +.orig_sub:hover{ background:#297fb8;} +.orig_cont_hide{ text-align:center; width:624px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:8px 0;} +.orig_icon{ color:#888; margin-right:10px; font-size:14px; font-weight:bold;} From 0dd7ef4460b794fcd66f74f554a5e892e4015c5a Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 4 Jul 2016 14:45:50 +0800 Subject: [PATCH 15/43] =?UTF-8?q?=E5=B8=96=E5=AD=90=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E5=9B=9E=E5=A4=8D=E6=95=B0=E4=B8=8E=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E4=B8=8D=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/boards_controller.rb | 4 +++- app/views/users/_course_boardlist.html.erb | 8 ++------ app/views/users/_project_boardlist.html.erb | 8 ++------ 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index 9a72bb4df..ceb63d7b0 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -125,7 +125,9 @@ class BoardsController < ApplicationController if @order.to_i == 2 @type = 2 @topics.each do |topic| - topic[:infocount] = get_praise_num(topic) + (topic.parent ? topic.parent.children.count : topic.children.count) + all_comments = [] + count=get_all_children(all_comments, topic).count + topic[:infocount] = get_praise_num(topic) + count if topic[:infocount] < 0 topic[:infocount] = 0 end diff --git a/app/views/users/_course_boardlist.html.erb b/app/views/users/_course_boardlist.html.erb index 5cb2c27a7..bdff80d33 100644 --- a/app/views/users/_course_boardlist.html.erb +++ b/app/views/users/_course_boardlist.html.erb @@ -46,12 +46,8 @@ 发帖人: <%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %>
    更新:<%= format_time(activity.children.any? ? activity.children.last[:created_on] : activity[:created_on] ) %> - <% count=0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %>

    <%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

    diff --git a/app/views/users/_project_boardlist.html.erb b/app/views/users/_project_boardlist.html.erb index fe7bc03f2..3ba0244d9 100644 --- a/app/views/users/_project_boardlist.html.erb +++ b/app/views/users/_project_boardlist.html.erb @@ -46,12 +46,8 @@ 发帖人:<%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> 更新:<%= format_time(activity.children.any? ? activity.children.last[:created_on] : activity[:created_on] ) %> - <% count=0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %>

    <%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

    From da19bbd3a0d043d4f8e0f30e01edcdb914efe108 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Tue, 5 Jul 2016 09:02:34 +0800 Subject: [PATCH 16/43] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E4=B8=8B?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B5=84=E6=96=99=E7=95=8C=E9=9D=A2=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/school_controller.rb | 26 ++-- app/models/apply_add_schools.rb | 1 + app/views/my/_apply_add_school.html.erb | 187 ------------------------ app/views/my/account.html.erb | 185 ----------------------- public/javascripts/application.js | 186 +++++++++++++++++++++++ 5 files changed, 202 insertions(+), 383 deletions(-) diff --git a/app/controllers/school_controller.rb b/app/controllers/school_controller.rb index 44f4378fe..dab752afb 100644 --- a/app/controllers/school_controller.rb +++ b/app/controllers/school_controller.rb @@ -155,47 +155,51 @@ class SchoolController < ApplicationController def apply_add_school data = {result:0,name:params[:name],school_id:0} - #0 成功 1参数错误 2名称已存在 + #0 成功 1参数错误 2名称已存在 3.失败 data[:result] = 0 #检验参数 if params[:name] == "" || params[:province] == "" || params[:city] == "" || params[:address] == "" data[:result] = 1 else - school_id = School.find_by_sql("select id from schools where name='#{params[:name]}'").first - if school_id + school = School.where("name = '#{params[:name]}'").first + if school data[:result] = 2 else school = School.new school.name = params[:name].strip school.pinyin = Pinyin.t(params[:name].strip, splitter: '') - school.save #status 0未处理 1通过 2拒绝 applyschool = ApplyAddSchools.new - applyschool.school_id = school.id + + #用belongs_to 可以一起存数据库 + applyschool.school = school applyschool.name = school.name applyschool.province = params[:province] applyschool.city = params[:city] applyschool.address = params[:address] applyschool.remarks = params[:remarks] - applyschool.save - data[:school_id] = school.id + if applyschool.save + data[:school_id] = school.id + else + data[:result] = 3 + end end end render :json =>data end def search_repeat_schoolname - status = 0 + status = 0 #没有重复的 name = params[:name] if name - school_id = School.find_by_sql("select id from schools where name='#{name}'").first + school = School.where("name = '#{name}'").first - if school_id - status = 1 + if school + status = 1 #有重复的 end end diff --git a/app/models/apply_add_schools.rb b/app/models/apply_add_schools.rb index 2082c0012..efa56e808 100644 --- a/app/models/apply_add_schools.rb +++ b/app/models/apply_add_schools.rb @@ -1,3 +1,4 @@ class ApplyAddSchools < ActiveRecord::Base attr_accessible :address, :city, :name, :province, :remarks, :school_id, :status + belongs_to :school end diff --git a/app/views/my/_apply_add_school.html.erb b/app/views/my/_apply_add_school.html.erb index 1449fa1f1..c7b08e305 100644 --- a/app/views/my/_apply_add_school.html.erb +++ b/app/views/my/_apply_add_school.html.erb @@ -120,193 +120,6 @@ }); } - function showcity(province, cityField) { - $("#provincenotice").hide(); - switch (province) { - case "北京" : - var cityOptions = new Array( - "东城", "西城", "朝阳", "丰台", "石景山", "海淀", "门头沟", - "房山", "通州", "顺义", "昌平", "大兴", "平谷", "怀柔", "密云", "延庆"); - break; - case "上海" : - var cityOptions = new Array( - "崇明", "黄浦", "卢湾", "徐汇", "长宁", "静安", "普陀", "闸北", "虹口", "杨浦", "闵行", - "宝山", "嘉定", "浦东", "金山", "松江", "青浦", "南汇", "奉贤"); - break; - case "广东" : - var cityOptions = new Array( - "广州", "深圳", "珠海", "东莞", "中山", "佛山", "惠州", "河源", "潮州", "江门", "揭阳", "茂名", - "梅州", "清远", "汕头", "汕尾", "韶关", "顺德", "阳江", "云浮", "湛江", "肇庆"); - break; - case "江苏" : - var cityOptions = new Array( - "南京", "常熟", "常州", "海门", "淮安", "江都", "江阴", "昆山", "连云港", "南通", - "启东", "沭阳", "宿迁", "苏州", "太仓", "泰州", "同里", "无锡", "徐州", "盐城", - "扬州", "宜兴", "仪征", "张家港", "镇江", "周庄"); - break; - case "重庆" : - var cityOptions = new Array( - "万州", "涪陵", "渝中", "大渡口", "江北", "沙坪坝", "九龙坡", "南岸", "北碚", "万盛", - "双挢", "渝北", "巴南", "黔江", "长寿", "綦江", "潼南", "铜梁", "大足", "荣昌", "壁山", - "梁平", "城口", "丰都", "垫江", "武隆", "忠县", "开县", "云阳", "奉节", "巫山", "巫溪", - "石柱", "秀山", "酉阳", "彭水", "江津", "合川", "永川", "南川"); - break; - case "安徽" : - var cityOptions = new Array( - "合肥", "安庆", "蚌埠", "亳州", "巢湖", "滁州", "阜阳", "贵池", "淮北", "淮化", "淮南", - "黄山", "九华山", "六安", "马鞍山", "宿州", "铜陵", "屯溪", "芜湖", "宣城"); - break; - case "福建" : - var cityOptions = new Array( - "福州", "厦门", "泉州", "漳州", "龙岩", "南平", "宁德", "莆田", "三明"); - break; - case "甘肃" : - var cityOptions = new Array( - "兰州", "白银", "定西", "敦煌", "甘南", "金昌", "酒泉", "临夏", "平凉", "天水", - "武都", "武威", "西峰", "张掖"); - break; - case "广西" : - var cityOptions = new Array( - "南宁", "百色", "北海", "桂林", "防城港", "贵港", "河池", "贺州", "柳州", "钦州", "梧州", "玉林"); - break; - case "贵州" : - var cityOptions = new Array( - "贵阳", "安顺", "毕节", "都匀", "凯里", "六盘水", "铜仁", "兴义", "玉屏", "遵义"); - break; - case "海南" : - var cityOptions = new Array( - "海口", "儋县", "陵水", "琼海", "三亚", "通什", "万宁"); - break; - case "河北" : - var cityOptions = new Array( - "石家庄", "保定", "北戴河", "沧州", "承德", "丰润", "邯郸", "衡水", "廊坊", "南戴河", "秦皇岛", - "唐山", "新城", "邢台", "张家口"); - break; - case "黑龙江" : - var cityOptions = new Array( - "哈尔滨", "北安", "大庆", "大兴安岭", "鹤岗", "黑河", "佳木斯", "鸡西", "牡丹江", "齐齐哈尔", - "七台河", "双鸭山", "绥化", "伊春"); - break; - case "河南" : - var cityOptions = new Array( - "郑州", "安阳", "鹤壁", "潢川", "焦作", "济源", "开封", "漯河", "洛阳", "南阳", "平顶山", - "濮阳", "三门峡", "商丘", "新乡", "信阳", "许昌", "周口", "驻马店"); - break; - case "香港" : - var cityOptions = new Array( - "香港", "九龙", "新界"); - break; - case "湖北" : - var cityOptions = new Array( - "武汉", "恩施", "鄂州", "黄冈", "黄石", "荆门", "荆州", "潜江", "十堰", "随州", "武穴", - "仙桃", "咸宁", "襄阳", "襄樊", "孝感", "宜昌"); - break; - case "湖南" : - var cityOptions = new Array( - "长沙", "常德", "郴州", "衡阳", "怀化", "吉首", "娄底", "邵阳", "湘潭", "益阳", "岳阳", - "永州", "张家界", "株洲"); - break; - case "江西" : - var cityOptions = new Array( - "南昌", "抚州", "赣州", "吉安", "景德镇", "井冈山", "九江", "庐山", "萍乡", - "上饶", "新余", "宜春", "鹰潭"); - break; - case "吉林" : - var cityOptions = new Array( - "长春", "吉林", "白城", "白山", "珲春", "辽源", "梅河", "四平", "松原", "通化", "延吉"); - break; - case "辽宁" : - var cityOptions = new Array( - "沈阳", "鞍山", "本溪", "朝阳", "大连", "丹东", "抚顺", "阜新", "葫芦岛", "锦州", - "辽阳", "盘锦", "铁岭", "营口"); - break; - case "澳门" : - var cityOptions = new Array("澳门"); - break; - case "内蒙古" : - var cityOptions = new Array( - "呼和浩特", "阿拉善盟", "包头", "赤峰", "东胜", "海拉尔", "集宁", "临河", "通辽", "乌海", - "乌兰浩特", "锡林浩特"); - break; - case "宁夏" : - var cityOptions = new Array( - "银川", "固源", "石嘴山", "吴忠"); - break; - case "青海" : - var cityOptions = new Array( - "西宁", "德令哈", "格尔木", "共和", "海东", "海晏", "玛沁", "同仁", "玉树"); - break; - case "山东" : - var cityOptions = new Array( - "济南", "滨州", "兖州", "德州", "东营", "菏泽", "济宁", "莱芜", "聊城", "临沂", - "蓬莱", "青岛", "曲阜", "日照", "泰安", "潍坊", "威海", "烟台", "枣庄", "淄博"); - break; - case "山西" : - var cityOptions = new Array( - "太原", "长治", "大同", "候马", "晋城", "离石", "临汾", "宁武", "朔州", "忻州", - "阳泉", "榆次", "运城"); - break; - case "陕西" : - var cityOptions = new Array( - "西安", "安康", "宝鸡", "汉中", "渭南", "商州", "绥德", "铜川", "咸阳", "延安", "榆林"); - break; - case "四川" : - var cityOptions = new Array( - "成都", "巴中", "达川", "德阳", "都江堰", "峨眉山", "涪陵", "广安", "广元", "九寨沟", - "康定", "乐山", "泸州", "马尔康", "绵阳", "眉山", "南充", "内江", "攀枝花", "遂宁", - "汶川", "西昌", "雅安", "宜宾", "自贡", "资阳"); - break; - case "台湾" : - var cityOptions = new Array( - "台北", "基隆", "台南", "台中", "高雄", "屏东", "南投", "云林", "新竹", "彰化", "苗栗", - "嘉义", "花莲", "桃园", "宜兰", "台东", "金门", "马祖", "澎湖"); - break; - case "天津" : - var cityOptions = new Array( - "天津", "和平", "东丽", "河东", "西青", "河西", "津南", "南开", "北辰", "河北", "武清", "红挢", - "塘沽", "汉沽", "大港", "宁河", "静海", "宝坻", "蓟县"); - break; - case "新疆" : - var cityOptions = new Array( - "乌鲁木齐", "阿克苏", "阿勒泰", "阿图什", "博乐", "昌吉", "东山", "哈密", "和田", "喀什", - "克拉玛依", "库车", "库尔勒", "奎屯", "石河子", "塔城", "吐鲁番", "伊宁"); - break; - case "西藏" : - var cityOptions = new Array( - "拉萨", "阿里", "昌都", "林芝", "那曲", "日喀则", "山南"); - break; - case "云南" : - var cityOptions = new Array( - "昆明", "大理", "保山", "楚雄", "大理", "东川", "个旧", "景洪", "开远", "临沧", "丽江", - "六库", "潞西", "曲靖", "思茅", "文山", "西双版纳", "玉溪", "中甸", "昭通"); - break; - case "浙江" : - var cityOptions = new Array( - "杭州", "安吉", "慈溪", "定海", "奉化", "海盐", "黄岩", "湖州", "嘉兴", "金华", "临安", - "临海", "丽水", "宁波", "瓯海", "平湖", "千岛湖", "衢州", "江山", "瑞安", "绍兴", "嵊州", - "台州", "温岭", "温州", "余姚", "舟山"); - break; - case "海外" : - var cityOptions = new Array( - "美国", "日本", "英国", "法国", "德国", "其他"); - break; - default: - var cityOptions = new Array(""); - break; - } - - cityField.options.length = 0; - for (var i = 0; i < cityOptions.length; i++) { - cityField.options[i] = new Option(cityOptions[i], cityOptions[i]); - /* - if (cityField.options[i].value==city) - { - //alert("here put City ok!"); - document.oblogform["city"].selectedIndex = i; - }*/ - } - } - function ifNameRepeat(){ //名称不能为空也不能重复 diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb index 589541c39..d356756c1 100644 --- a/app/views/my/account.html.erb +++ b/app/views/my/account.html.erb @@ -249,191 +249,6 @@ <% end %> <% html_title(l(:label_course_all)) -%> diff --git a/app/views/admin/create_syllabus.js.erb b/app/views/admin/create_syllabus.js.erb new file mode 100644 index 000000000..ac37abd78 --- /dev/null +++ b/app/views/admin/create_syllabus.js.erb @@ -0,0 +1,10 @@ +hideModal(); +<%courses = Course.where("tea_id = #{@user.id}") %> +<% unless courses.empty? %> + <% courses.each do |course|%> + $("#course_<%=course.id %>").html("<%=escape_javascript(render :partial => 'courselist_detail_tr', :locals => {:course => course}) %>"); + <% end %> +<% end %> +<% if @flag == 1 %> + $("#course_<%=@course.id %>").html(""); +<% end %> \ No newline at end of file diff --git a/app/views/admin/excellent_courses.html.erb b/app/views/admin/excellent_courses.html.erb index c107713a0..0418ebf30 100644 --- a/app/views/admin/excellent_courses.html.erb +++ b/app/views/admin/excellent_courses.html.erb @@ -16,7 +16,7 @@ 序号 - 课程名 + 班级名 主讲老师 diff --git a/app/views/admin/non_syllabus_courses.html.erb b/app/views/admin/non_syllabus_courses.html.erb new file mode 100644 index 000000000..6c3cbec10 --- /dev/null +++ b/app/views/admin/non_syllabus_courses.html.erb @@ -0,0 +1,164 @@ +
    + <%= link_to l(:label_course_new), {:controller => 'courses', :action => 'new'}, :class => 'icon icon-add' %> +
    + +

    + 未配置班级列表 +

    +<%= render 'tab_syllabuses_courses' %> + +

    + 未配置班级列表 +

    + +<%= form_tag({}, :method => :get) do %> +
    + + <%= text_field_tag 'name', params[:name], :size => 30, :placeholder => '班级、老师名称' %> + <%= submit_tag l(:button_apply), :class => "small", :name => nil %> + <%= link_to l(:button_clear), {:controller => 'admin', :action => 'non_syllabus_courses'}, :class => 'icon icon-reload' %> +
    +<% end %> +  + +
    + + + + + + + + + + + + + + + + <% @courses.each do |course| %> + " id="course_<%=course.id %>"> + + + + + + + + + + + <% end %> + +
    + 序号 + + 班级 + + 主讲老师 + + 学时 + + <%=l(:field_is_public)%> + + <%=l(:field_created_on)%> + + 动态时间 + + 课程 + + +
    + <%= course.id %> + + + <%= course.name%> + + + <%= link_to(course.try(:teacher).try(:realname).truncate(6, omission: '...'), user_path(course.teacher)) %> + + <%= course.class_period %> + + <%= checked_image course.is_public? %> + + <%= format_date(course.created_at) %> + + <%= course.updated_at.strftime('%Y-%m-%d %H:%M:%S') %> + + <%= select_tag :syllabus_id,options_for_select(course_syllabus_option(course.teacher),course.syllabus_id), {:id=>"new_syllabus_id_#{course.id}", :class=>"course_syllabus_input", :onchange=>"select_syllabus(#{course.id});"}%> + + 新建课程 +
    +
    + + + + +<% html_title(l(:label_course_all)) -%> diff --git a/app/views/admin/syllabuses.html.erb b/app/views/admin/syllabuses.html.erb new file mode 100644 index 000000000..1066ac3ef --- /dev/null +++ b/app/views/admin/syllabuses.html.erb @@ -0,0 +1,142 @@ +

    + 课程列表 +

    +<%= render 'tab_syllabuses_courses' %> + +

    + 课程列表 +

    + +<%= form_tag({}, :method => :get) do %> +
    + + <%= text_field_tag 'name', params[:name], :size => 30, :placeholder => '课程名称' %> + <%= submit_tag l(:button_apply), :class => "small", :name => nil %> + <%= link_to l(:button_clear), {:controller => 'admin', :action => 'syllabuses'}, :class => 'icon icon-reload' %> +
    +<% end %> +  + +
    + + + + + + + + + + + + <% @syllabuses.each do |syllabus| %> + + + + + + + + <% courses = syllabus.courses %> + <% courses.each do |course| %> + + + + + + + + <% end %> + <% end %> + +
    + 序号 + + 课程名称 + + 班级名称 + + 创建老师 + + <%=l(:field_created_on)%> +
    + <%= syllabus.id %> + + + <%= link_to(syllabus.title, syllabus_path(syllabus.id)) %> + + + + <%= link_to(syllabus.try(:user).try(:realname).truncate(6, omission: '...'), user_path(syllabus.user)) %> + + <%= format_date(syllabus.created_at) %> +
    + <%= course.id %> + + + + <%= course.name%> + + + <%= link_to(course.try(:teacher).try(:realname).truncate(6, omission: '...'), user_path(course.teacher)) %> + + <%= format_date(course.created_at) %> +
    +
    + + + + \ No newline at end of file diff --git a/app/views/admin/update_course_name.js.erb b/app/views/admin/update_course_name.js.erb new file mode 100644 index 000000000..2da524b5b --- /dev/null +++ b/app/views/admin/update_course_name.js.erb @@ -0,0 +1 @@ +$("#rename_course_name_<%=@course.id %>").html("<%=@course.name %>"); \ No newline at end of file diff --git a/app/views/layouts/base_admin.html.erb b/app/views/layouts/base_admin.html.erb index cff80a15d..81cc2df9d 100644 --- a/app/views/layouts/base_admin.html.erb +++ b/app/views/layouts/base_admin.html.erb @@ -19,6 +19,10 @@ <%= call_hook :view_layouts_base_html_head %> <%= yield :header_tags -%> + +
    diff --git a/config/locales/courses/zh.yml b/config/locales/courses/zh.yml index 1aa1ea666..29d6b236c 100644 --- a/config/locales/courses/zh.yml +++ b/config/locales/courses/zh.yml @@ -12,7 +12,7 @@ zh: # label_course_join_student: 加入班级 label_course_exit_student: 退出班级 - label_course_new: 新建课程 + label_course_new: 新建班级 label_course_name: 课程名称 label_homework: 作业 diff --git a/config/locales/zh.yml b/config/locales/zh.yml index fc3e39980..0220cd11c 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -482,9 +482,10 @@ zh: label_show_contest: 显示竞赛 #by young label_requirement: 需求 - label_new_course: 课程列表 - label_course_all: 课程列表 - label_excellent_courses_list: 精品课程列表 + label_new_course: 班级列表 + label_course_all: 班级列表 + label_syllabus_all: 课程列表 + label_excellent_courses_list: 精品班级列表 label_course_resource_list: 班级资源列表 label_project_resource_list: 項目资源列表 label_teacher_all: 所有教师 @@ -1367,7 +1368,7 @@ zh: label_bid_reason_homework: 请输入作业提交说明! label_create_new_projects: 创建项目 label_call_for_bids: 发布需求 - label_create_course: 创建课程 + label_create_course: 创建班级 label_milestone: 里程碑 label_features: 特性 @@ -1488,7 +1489,7 @@ zh: label_user_project: 项目 - label_user_course: 课程 + label_user_course: 班级 label_user_homework: 作业 label_bid_if_agreement: 如果喜欢我,请点击我 @@ -1542,7 +1543,7 @@ zh: label_teacher_work_unit: 教师单位 label_course_time: 课程年度 label_i_new_activity: 有了新活动在 - label_choose_course: 选择课程 + label_choose_course: 选择班级 button_submit_homework: 提交作业 button_submit_bid: 参与竞标 label_requirement_from: 需求来源 @@ -1596,9 +1597,9 @@ zh: #end - label_joined_course: 参加的课程 - label_created_course: 创建的课程 - label_course: 课程 + label_joined_course: 参加的班级 + label_created_course: 创建的班级 + label_course: 班级 label_public_info: (打钩为公开,不打钩则不公开,若不公开,仅项目成员可见该项目。) diff --git a/config/routes.rb b/config/routes.rb index 4465c9e1b..5717325e1 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1027,7 +1027,10 @@ RedmineApp::Application.routes.draw do match 'admin', :to => 'admin#index', :via => :get match 'admin/projects', :via => :get - get 'admin/courses' + get 'admin/courses', as: :all_courses + get 'admin/syllabuses', as: :all_syllabuses + get 'admin/non_syllabus_courses', as: :non_syllabus_courses + post 'admin/update_course_name' get 'admin/excellent_courses', as: :excellent_courses get 'admin/excellent_all_courses', as: :excellent_all_courses match 'admin/set_excellent_course/:id', :to => 'admin#set_excellent_course' @@ -1060,6 +1063,8 @@ RedmineApp::Application.routes.draw do get 'admin/homework' get 'admin/apply_for_homework' get 'admin/code_work_tests' + post 'admin/select_course_syllabus' + post 'admin/create_syllabus' resources :auth_sources do member do diff --git a/lib/redmine.rb b/lib/redmine.rb index c0aa658ae..cfd8b6824 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -367,7 +367,7 @@ end Redmine::MenuManager.map :admin_menu do |menu| menu.push :organization, {:controller => 'admin', :action => 'organization'}, :caption => :label_organization_list menu.push :projects, {:controller => 'admin', :action => 'projects'}, :caption => :label_project_plural - menu.push :courses, {:controller => 'admin', :action => 'courses'}, :caption => :label_course_all + menu.push :syllabuses, {:controller => 'admin', :action => 'syllabuses'}, :caption => :label_course_all menu.push :users, {:controller => 'admin', :action => 'users'}, :caption => :label_user_plural menu.push :messages, {:controller => 'admin', :action => 'messages'}, :caption => :label_system_message menu.push :schools, {:controller => 'admin', :action => 'schools'}, :caption => :label_school_plural diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 525a1fb1a..da833fe47 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1589,3 +1589,71 @@ function expand_course_list(id, target, btnid, count) { } } +function regex_syllabus_name() { + var name = $.trim($("#new_syllabus_name").val()); + if(name.length < 2) + { + $("#new_syllabus_name_notice").show(); + return false; + } + else + { + $("#new_syllabus_name_notice").hide(); + return true; + } +} + +function alert_new_syllabus(course_id, flag){ + htmlvalue = "

    新建课程

      " + + "
    • " + + "" + + "
      " + + "" + + "
    • " + + "
      " + + "
    • " + + "" + + "" + + "
    • " + + "
      " + + "
    • " + + "提交" + + "取消" + + "
      " + + "
    • " + + "
    "; + pop_up_box(htmlvalue,600,30,50); +} + +function admin_new_syllabus(course_id, flag){ + if(regex_syllabus_name()) { + $.ajax({ + type: "post", + url: "/admin/create_syllabus", + data: {course_id: course_id, + title: $("#new_syllabus_name").val(), + eng_name: $("#new_syllabus_eng_name").val(), + flag: flag}, + success: function (data) { + } + }); + hideModal(); + } +} + +//执行修改courseName方法 +function updateCourseName(){ + if(isdb){ + isdb = false; + if($("#renameCourseName").val() == tagName){ //如果值一样,则恢复原来的状态 + ele.parent().css("border",""); + ele.parent().html(tagNameHtml); + } + else{ + $.post( + '<%= admin_update_course_name_path %>', + {"course_id": tagId, "name": $("#renameCourseName").val().trim()} + ); + } + } +} \ No newline at end of file diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 8215f3aa1..0e60f01c9 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -224,20 +224,6 @@ function submit_new_syllabus() } } -function regex_syllabus_name() { - var name = $.trim($("#new_syllabus_name").val()); - if(name.length < 2) - { - $("#new_syllabus_name_notice").show(); - return false; - } - else - { - $("#new_syllabus_name_notice").hide(); - return true; - } -} - //课程讨论区 function regexTopicSubject() { var name = $("#message_subject").val(); diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 3764ceb04..112f8224b 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1409,6 +1409,7 @@ table td {padding:2px;} table p {margin:0;} .odd {background-color:#f6f7f8;} .even {background-color: #fff;} +.odd_grey {background-color: #b4b4b4} a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; } a.sort.asc { background-image: url(../images/sort_asc.png); } @@ -2847,4 +2848,10 @@ img.school_avatar { } .admin_message_warn{font-size: 12px;color: red;} -a.btn_message_free{ background:#15BCCF; display:block; text-align:center; color:#fff; padding:3px 0; width:60px; margin-bottom:10px;margin-left: 58px;} \ No newline at end of file +a.btn_message_free{ background:#15BCCF; display:block; text-align:center; color:#fff; padding:3px 0; width:60px; margin-bottom:10px;margin-left: 58px;} + +.course_syllabus_input{width:120px;} +.name_input{ border:1px solid #64bdd9; height:16px; width:310px; background:#fff; margin-bottom:10px; padding:5px;} +a.Blue-btn{ display:block; margin-right:15px;width:65px; height:22px; background-color:#ffffff; line-height:24px; vertical-align:middle; text-align:center; border:1px solid #3598db; color:#3598db; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;} +a:hover.Blue-btn{ background:#3598db; color:#fff;} +.c_white {color:#fff;} \ No newline at end of file From a732efa6c6809596ee518120f4e738df3961b3a1 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Thu, 7 Jul 2016 10:42:51 +0800 Subject: [PATCH 33/43] =?UTF-8?q?1.=E7=BB=84=E7=BB=87=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E4=B8=AD=E5=8E=BB=E6=8E=89=E8=AE=BE=E4=B8=BA=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=9A=84=E6=96=87=E7=AB=A0=E5=8A=A8=E6=80=81=202.=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=B8=BB=E9=A1=B5=E5=8A=A8=E6=80=81=E4=B8=AD=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E8=AE=BE=E4=B8=BA=E9=A6=96=E9=A1=B5=E7=9A=84=E5=8D=9A?= =?UTF-8?q?=E5=AE=A2=E5=8A=A8=E6=80=81=E5=B9=B6=E5=B0=86=20=E6=9C=80?= =?UTF-8?q?=E4=B8=8A=E9=9D=A2=E7=9A=84=E5=8D=9A=E5=AE=A2=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E5=86=85=E5=AE=B9=E5=8F=8A=E5=8F=AF=E5=9B=9E?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/blog_comments_controller.rb | 3 ++ app/views/blog_comments/reply.js.erb | 5 +- app/views/blogs/_homepage.html.erb | 49 +++++++++++++++++++ .../organizations/_org_activities.html.erb | 2 +- app/views/users/_user_activities.html.erb | 4 +- 5 files changed, 60 insertions(+), 3 deletions(-) diff --git a/app/controllers/blog_comments_controller.rb b/app/controllers/blog_comments_controller.rb index 0224a587d..4a8de5814 100644 --- a/app/controllers/blog_comments_controller.rb +++ b/app/controllers/blog_comments_controller.rb @@ -116,6 +116,9 @@ class BlogCommentsController < ApplicationController #回复 def reply + if params[:homepage] + @in_user_homepage = true + end if params[:in_user_center] @in_user_center = true end diff --git a/app/views/blog_comments/reply.js.erb b/app/views/blog_comments/reply.js.erb index 915ab892d..baf4418e9 100644 --- a/app/views/blog_comments/reply.js.erb +++ b/app/views/blog_comments/reply.js.erb @@ -1,4 +1,7 @@ -<% if @in_user_center%> +<% if @in_user_homepage %> + <% homepage = BlogComment.find(@user.blog.homepage_id) %> + $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id}) %>"); +<% elsif @in_user_center%> $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/user_blog', :locals => {:activity => @article,:user_activity_id =>@user_activity_id}) %>"); // init_activity_KindEditor_data(<%#= @user_activity_id%>,"","87%", 'UserActivity'); <% else%> diff --git a/app/views/blogs/_homepage.html.erb b/app/views/blogs/_homepage.html.erb index 5dbee59d6..140f547cb 100644 --- a/app/views/blogs/_homepage.html.erb +++ b/app/views/blogs/_homepage.html.erb @@ -48,4 +48,53 @@
    + <% count=activity.children.count %> +
    + <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %> + + <% comments = activity.children.reorder("created_on desc").limit(3) %> + <% if count > 0 %> +
    + <%= render :partial => 'users/all_replies', :locals => {:comments => comments}%> +
    + <% end %> + + <% if activity.locked == false && User.current.logged?%> +
    +
    <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %>
    +
    + <% if User.current.logged? %> +
    + <%= form_for('new_form',:url => {:controller => 'blog_comments', :action => 'reply', :user_id=>activity.author_id,:blog_id=>activity.blog_id,:id=>activity.id,:homepage=>1},:method => "post", :remote => true) do |f|%> + + + + + + +
    + + +
    +

    + <% end%> +
    + <% else %> + <%= render :partial => "users/show_unlogged" %> + <% end %> +
    +
    +
    +
    + <% end %> +
    + \ No newline at end of file diff --git a/app/views/organizations/_org_activities.html.erb b/app/views/organizations/_org_activities.html.erb index cc1404eb5..bddba3eee 100644 --- a/app/views/organizations/_org_activities.html.erb +++ b/app/views/organizations/_org_activities.html.erb @@ -46,7 +46,7 @@ <% end %> - <% if act.org_act_type == 'OrgDocumentComment' %> + <% if act.org_act_type == 'OrgDocumentComment' && act.org_act.organization.home_id != act.org_act.id %> <%= render :partial => 'show_org_document', :locals => {:document => act.org_act, :act => act, :flag => 2, :org_subfield_id => params[:org_subfield_id]} %> <% end %> <% end %> diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb index 5d06a7001..5c6f07bb1 100644 --- a/app/views/users/_user_activities.html.erb +++ b/app/views/users/_user_activities.html.erb @@ -93,7 +93,9 @@ <%# cache (act) do %> <% case user_activity.act_type.to_s %> <% when 'BlogComment' %> - <%= render :partial => 'user_blog', :locals => {:activity => act,:user_activity_id =>user_activity.id} %> + <% if !(act.blog.homepage_id and act.id == act.blog.homepage_id) %> + <%= render :partial => 'user_blog', :locals => {:activity => act,:user_activity_id =>user_activity.id} %> + <% end %> <% end %> <%# end %> <% end %> From c621602050d9494455377d83b30a07e6421c23d3 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 7 Jul 2016 15:02:02 +0800 Subject: [PATCH 34/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BD=93=E9=BC=A0?= =?UTF-8?q?=E6=A0=87=E7=A7=BB=E8=87=B3=E5=8C=BA=E5=9F=9F=E5=86=85=E6=89=8D?= =?UTF-8?q?=E4=BC=9A=E6=98=BE=E7=A4=BAicon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_syllabus_base_info.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/_syllabus_base_info.html.erb b/app/views/layouts/_syllabus_base_info.html.erb index ae6da2ac3..4b205d356 100644 --- a/app/views/layouts/_syllabus_base_info.html.erb +++ b/app/views/layouts/_syllabus_base_info.html.erb @@ -1,6 +1,6 @@ - +
    + <% unless User.current.logged? %> +
    +

    您尚未登录,登录 + 后可浏览更多信息 +

    +
    + <% end %>
    <%= form_tag( search_files_in_subfield_org_subfield_files_path(@org_subfield), method: 'get',:class => "re_search",:remote=>true) do %> diff --git a/app/views/syllabuses/show.html.erb b/app/views/syllabuses/show.html.erb index e3e6436b4..a47f3f81e 100644 --- a/app/views/syllabuses/show.html.erb +++ b/app/views/syllabuses/show.html.erb @@ -9,16 +9,12 @@

    课程信息

    -<% if @syllabus.des_status == 1 && @syllabus.courses.empty? %> +<% if @syllabus.des_status == 1 && @syllabus.courses.where("is_delete = 0").empty? %>
    <% if User.current == @syllabus.user %>

    您建立的课程还未创建班级,请 <%= link_to "新建班级", new_course_path(:host=> Setting.host_course, :syllabus_id => @syllabus.id), :class => "syllabusbox_a_blue", :target => '_blank'%>

    - <% elsif User.current.user_extensions && User.current.user_extensions.identity == 0 && User.current.allowed_to?(:add_course, nil, :global => true)%> -

    本课程下还未创建班级,请 - <%= link_to "新建班级", new_course_path(:host=> Setting.host_course, :syllabus_id => @syllabus.id), :class => "syllabusbox_a_blue", :target => '_blank'%> -

    <% else %>

    本课程下还未创建班级,敬请期待。

    diff --git a/public/stylesheets/org.css b/public/stylesheets/org.css index 459d050e1..71c2736bb 100644 --- a/public/stylesheets/org.css +++ b/public/stylesheets/org.css @@ -181,3 +181,17 @@ a.follow-button:hover {background-color:#c1c1c1;} /*组织未登录提示*/ .visitor-box {width:620px; height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;} + +/* 未登录的提示信息 */ +.syllabusbox_tishi{ + font-size:14px; + width:733px; + color:#cb7c01; + padding:10px 0 0 15px; + background:#fff7d1; + border:1px solid #fcd9b4; + height:34px; +} +a.syllabusbox_a_blue{ + color:#3b94d6 !important; +} diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 0afdf4332..a1b379f85 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -1226,3 +1226,17 @@ a:hover.comment_ding_link{ color:#269ac9;} .orig_sub:hover{ background:#297fb8;} .orig_cont_hide{ text-align:center; width:624px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:8px 0;} .orig_icon{ color:#888; margin-right:10px; font-size:14px; font-weight:bold;} + +/* 未登录的提示信息 */ +.syllabusbox_tishi{ + font-size:14px; + width:733px; + color:#cb7c01; + padding:10px 0 0 15px; + background:#fff7d1; + border:1px solid #fcd9b4; + height:34px; +} +a.syllabusbox_a_blue{ + color:#3b94d6 !important; +} From 13bae8f8a5f2d05820b96d0abd96d3f88cb12fab Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 8 Jul 2016 13:17:14 +0800 Subject: [PATCH 40/43] =?UTF-8?q?=E7=BA=BF=E4=B8=8B=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 12 +- app/controllers/student_work_controller.rb | 46 +++--- app/controllers/users_controller.rb | 12 ++ app/helpers/application_helper.rb | 25 +-- app/helpers/student_work_helper.rb | 13 ++ app/models/student_work.rb | 4 +- .../student_work/_evaluation_title.html.erb | 17 +-- .../_evaluation_un_common_title.html.erb | 48 ++++++ .../_evaluation_un_common_work.html.erb | 79 ++++++++++ .../_evaluation_un_group_title.html.erb | 44 ++++++ .../_evaluation_un_group_work.html.erb | 89 +++++++++++ .../_evaluation_un_pro_title.html.erb | 55 +++++++ .../_evaluation_un_pro_work.html.erb | 83 ++++++++++ .../_evaluation_un_title.html.erb | 143 ++++++++++-------- .../student_work/_evaluation_un_work.html.erb | 85 +++++------ .../student_work/_evaluation_work.html.erb | 53 +++---- app/views/users/_course_homework.html.erb | 8 +- .../users/_user_homework_detail.html.erb | 8 +- ...160708005533_add_status_to_student_work.rb | 24 +++ db/schema.rb | 20 ++- lib/tasks/homework_evaluation.rake | 6 +- public/stylesheets/courses.css | 26 +++- public/stylesheets/public.css | 5 +- 23 files changed, 699 insertions(+), 206 deletions(-) create mode 100644 app/views/student_work/_evaluation_un_common_title.html.erb create mode 100644 app/views/student_work/_evaluation_un_common_work.html.erb create mode 100644 app/views/student_work/_evaluation_un_group_title.html.erb create mode 100644 app/views/student_work/_evaluation_un_group_work.html.erb create mode 100644 app/views/student_work/_evaluation_un_pro_title.html.erb create mode 100644 app/views/student_work/_evaluation_un_pro_work.html.erb create mode 100644 db/migrate/20160708005533_add_status_to_student_work.rb diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 376f8d5c2..5e67f6f26 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -178,7 +178,7 @@ class HomeworkCommonController < ApplicationController @statue = 4 and return unless User.current.admin? || User.current.allowed_to?(:as_teacher,@course) @statue = 5 and return if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") if @homework_detail_manual.comment_status == 1 - student_works = @homework.student_works + student_works = @homework.student_works.has_committed if student_works && student_works.size >= 2 if @homework.homework_type == 3 student_work_projects = @homework.student_work_projects.where("student_work_id is not null") @@ -232,8 +232,8 @@ class HomeworkCommonController < ApplicationController @homework_detail_manual.update_column('comment_status', 3) @homework_detail_manual.update_column('evaluation_end', Date.today) #计算缺评扣分 - work_ids = "(" + @homework.student_works.map(&:id).join(",") + ")" - @homework.student_works.each do |student_work| + work_ids = "(" + @homework.student_works.has_committed.map(&:id).join(",") + ")" + @homework.student_works.has_committed.each do |student_work| absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids}").count student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0 student_work.save @@ -263,11 +263,11 @@ class HomeworkCommonController < ApplicationController @totle_size = 0 if @homework_detail_manual.comment_status == 1 @totle_size = @course.student.count - @cur_size = @homework.student_works.size + @cur_size = @homework.student_works.has_committed.size elsif @homework_detail_manual.comment_status == 2 - @homework.student_works.map { |work| @totle_size += work.student_works_evaluation_distributions.count} + @homework.student_works.has_committed.map { |work| @totle_size += work.student_works_evaluation_distributions.count} @cur_size = 0 - @homework.student_works.map { |work| @cur_size += work.student_works_scores.where(:reviewer_role => 3).count} + @homework.student_works.has_committed.map { |work| @cur_size += work.student_works_scores.select("distinct user_id").where(:reviewer_role => 3).count} end @percent = format("%.2f",(@cur_size.to_f / ( @totle_size == 0 ? 1 : @totle_size)) * 100) @user_activity_id = params[:user_activity_id].to_i diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 661770206..1696259bf 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -390,7 +390,7 @@ class StudentWorkController < ApplicationController student_in_group = '(' + group_students.map{|user| user.id}.join(',') + ')' end #开放作品 || 老师 || 超级管理员 || 禁用匿评&&作业截止&&已提交作品 显示所有列表 - if (@homework.is_open == 1 && @course.is_public == 1) || (@homework.is_open == 1 && @course.is_public == 0 && User.current.member_of_course?(@course)) || @is_teacher || User.current.admin? || (User.current.member_of_course?(@course) && @homework.anonymous_comment == 1 && Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") && !@homework.student_works.where(:user_id => User.current.id).empty?) + if (@homework.is_open == 1 && @course.is_public == 1) || (@homework.is_open == 1 && @course.is_public == 0 && User.current.member_of_course?(@course)) || @is_teacher || User.current.admin? || (User.current.member_of_course?(@course) && @homework.anonymous_comment == 1 && Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") && !@homework.student_works.has_committed.where(:user_id => User.current.id).empty?) if @order == 'lastname' @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name elsif @order == 'student_id' @@ -409,7 +409,7 @@ class StudentWorkController < ApplicationController @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) end else - @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) + @stundet_works = @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end elsif @homework.homework_detail_manual.comment_status == 2 #学生 && 开启匿评 看到匿评列表 if @homework.homework_type == 3 @@ -420,7 +420,7 @@ class StudentWorkController < ApplicationController my_work = @homework.student_works.where(:id => pro.student_work_id) end else - my_work = @homework.student_works.where(:user_id => User.current.id) + my_work = @homework.student_works.has_committed.where(:user_id => User.current.id) end @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id} elsif @homework.homework_detail_manual.comment_status == 3 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的 @@ -432,17 +432,17 @@ class StudentWorkController < ApplicationController my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) end else - my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) + my_work = @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end if my_work.empty? @stundet_works = [] else if @order == 'lastname' - @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name + @stundet_works = search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name elsif @order == 'student_id' - @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order} #{@b_sort}"),@name + @stundet_works = search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order} #{@b_sort}"),@name else - @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name + @stundet_works = search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name end @show_all = true end @@ -454,9 +454,9 @@ class StudentWorkController < ApplicationController return end - @student_work_count = (search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name).count + @student_work_count = (search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name).count else - if (@homework.is_open == 1 &&@course.is_public == 1) || (@homework.is_open == 1 && @course.is_public == 0 && User.current.member_of_course?(@course)) || @is_teacher || User.current.admin? || (User.current.member_of_course?(@course) && @homework.anonymous_comment == 1 && Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") && !@homework.student_works.where(:user_id => User.current.id).empty?) + if (@homework.is_open == 1 &&@course.is_public == 1) || (@homework.is_open == 1 && @course.is_public == 0 && User.current.member_of_course?(@course)) || @is_teacher || User.current.admin? || (User.current.member_of_course?(@course) && @homework.anonymous_comment == 1 && Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") && !@homework.student_works.has_committed.where(:user_id => User.current.id).empty?) if @order == 'lastname' @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name elsif @order == 'student_id' @@ -475,7 +475,7 @@ class StudentWorkController < ApplicationController @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) end else - @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) + @stundet_works = @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end elsif @homework.homework_detail_manual.comment_status == 2 #学生 && 开启匿评 看到匿评列表 if @homework.homework_type == 3 @@ -486,7 +486,7 @@ class StudentWorkController < ApplicationController my_work = @homework.student_works.where(:id => pro.student_work_id) end else - my_work = @homework.student_works.where(:user_id => User.current.id) + my_work = @homework.student_works.has_committed.where(:user_id => User.current.id) end @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id} elsif @homework.homework_detail_manual.comment_status == 3 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的 @@ -498,17 +498,17 @@ class StudentWorkController < ApplicationController my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) end else - my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) + my_work = @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end if my_work.empty? @stundet_works = [] else if @order == 'lastname' - @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name + @stundet_works = search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").joins(:user).order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name elsif @order == 'student_id' - @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order} #{@b_sort}"),@name + @stundet_works = search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order} #{@b_sort}"),@name else - @stundet_works = search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").order("#{@order} #{@b_sort}"),@name + @stundet_works = search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").order("#{@order} #{@b_sort}"),@name end @show_all = true end @@ -519,7 +519,7 @@ class StudentWorkController < ApplicationController render_403 return end - @student_work_count = (search_homework_member @homework.student_works.select("student_works.*,student_works.work_score as score").order("#{@order} #{@b_sort}"),@name).count + @student_work_count = (search_homework_member @homework.student_works.has_committed.select("student_works.*,student_works.work_score as score").order("#{@order} #{@b_sort}"),@name).count end @score = @b_sort == "desc" ? "asc" : "desc" @@ -547,10 +547,10 @@ class StudentWorkController < ApplicationController return end @user = User.current - @student_work = @homework.student_works.where("user_id = ?",User.current.id).first - if @student_work.nil? + #@student_work = @homework.student_works.where("user_id = ?",User.current.id).first + #if @student_work.nil? @student_work = StudentWork.new - end + #end respond_to do |format| format.html{ render :layout => "new_base_user"} end @@ -560,7 +560,7 @@ class StudentWorkController < ApplicationController # 提交作品前先判断是否已经提交 @has_commit = false; if hsd_committed_work?(User.current.id, @homework.id) - @work = StudentWork.where("user_id =? and homework_common_id =?", User.current.id, @homework.id).first + @work = StudentWork.where("user_id =? and homework_common_id =? and work_status != 0", User.current.id, @homework.id).first @has_commit = true; #flash[:notice] = l(:notice_successful_create) #redirect_to edit_student_work_url(params[:student_work]) @@ -572,6 +572,7 @@ class StudentWorkController < ApplicationController if params[:student_work] @submit_result = true student_work = StudentWork.find(params[:student_work_id]) if params[:student_work_id] + student_work = StudentWork.where("user_id =? and homework_common_id =? and work_status = 0", User.current.id, @homework.id).first student_work ||= StudentWork.new student_work.name = params[:student_work][:name] == "#{@homework.name}的作品提交(可修改)" ? "#{@homework.name}的作品提交" : params[:student_work][:name] student_work.description = params[:student_work][:description] @@ -586,8 +587,10 @@ class StudentWorkController < ApplicationController #提交作品时,计算是否迟交 if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d") student_work.late_penalty = @homework.late_penalty + student_work.work_status = 2 else student_work.late_penalty = 0 + student_work.work_status = 1 end if student_work.save if @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 @@ -810,6 +813,7 @@ class StudentWorkController < ApplicationController if @is_teacher @is_new = true @is_last_a = false + @work.update_column('work_status', 1) else @is_new = false end @@ -1148,7 +1152,7 @@ class StudentWorkController < ApplicationController end def hsd_committed_work?(user, homework) - sw = StudentWork.where("user_id =? and homework_common_id =?", user, homework).first + sw = StudentWork.where("user_id =? and homework_common_id =? and work_status != 0", user, homework).first sw.nil? ? result = false : result = true result end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2925950e6..44344f1b5 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -950,8 +950,10 @@ class UsersController < ApplicationController #提交作品时,计算是否迟交 if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d") student_work.late_penalty = homework.late_penalty + student_work.work_status = 2 else student_work.late_penalty = 0 + student_work.work_status = 1 end student_work.save @@ -1042,6 +1044,16 @@ class UsersController < ApplicationController homework_detail_manual.save if homework_detail_manual homework_detail_programing.save if homework_detail_programing homework_detail_group.save if homework_detail_group + + if homework.homework_type != 3 + unless homework.course.nil? + name = homework.name + homework.course.student.each do |student| + StudentWork.create(:name => "#{name}的作品提交", :homework_common_id => homework.id, :user_id => student.student_id) + end + end + end + if params[:quotes] && !params[:quotes].blank? quotes_homework = HomeworkCommon.find params[:quotes].to_i quotes_homework.update_column(:quotes, quotes_homework.quotes+1) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 33bfb39d3..162344f6e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2682,39 +2682,40 @@ module ApplicationHelper #根据传入作业确定显示为编辑作品还是新建作品,或者显示作品数量 def user_for_homework_common homework,is_teacher if User.current.member_of_course?(homework.course) + count = homework.student_works.has_committed.count if is_teacher #老师显示作品数量 - link_to "作品(#{homework.student_works.count})", student_work_index_url_in_org(homework.id), :class => "c_blue" + link_to "作品(#{count})", student_work_index_url_in_org(homework.id), :class => "c_blue" else #学生显示提交作品、修改作品等按钮 work = cur_user_works_for_homework homework project = cur_user_projects_for_homework homework if work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1 - link_to "提交作品(#{homework.student_works.count})","javascript:void(0)", :class => 'c_grey',:style=>"cursor:not-allowed",:title => '请先关联项目再提交作品' + link_to "提交作品(#{count})","javascript:void(0)", :class => 'c_grey',:style=>"cursor:not-allowed",:title => '请先关联项目再提交作品' else - link_to "提交作品(#{homework.student_works.count})", new_student_work_url_without_domain(homework.id),:class => 'c_blue' + link_to "提交作品(#{count})", new_student_work_url_without_domain(homework.id),:class => 'c_blue' end elsif work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1 - link_to "补交作品(#{homework.student_works.count})","javascript:void(0)", :class => 'c_grey',:style=>"cursor:not-allowed",:title => '请先关联项目再补交作品' + link_to "补交作品(#{count})","javascript:void(0)", :class => 'c_grey',:style=>"cursor:not-allowed",:title => '请先关联项目再补交作品' else - link_to "补交作品(#{homework.student_works.count})", new_student_work_url_without_domain(homework.id),:class => 'c_red' + link_to "补交作品(#{count})", new_student_work_url_without_domain(homework.id),:class => 'c_red' end else if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 2 #匿评作业,且作业状态不是在开启匿评之前 link_to "作品匿评", student_work_index_url_in_org(homework.id), :class => 'c_blue', :title => "开启匿评后不可修改作品" elsif homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 - link_to "查看作品(#{homework.student_works.count})",student_work_index_url_in_org(homework.id), :class => 'c_blue', :title => "匿评已结束" + link_to "查看作品(#{count})",student_work_index_url_in_org(homework.id), :class => 'c_blue', :title => "匿评已结束" elsif homework.homework_type == 2 && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")#编程作业不能修改作品 - link_to "修改作品(#{homework.student_works.count})", new_student_work_url_without_domain(homework.id),:class => 'c_blue' + link_to "修改作品(#{count})", new_student_work_url_without_domain(homework.id),:class => 'c_blue' elsif Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") && work.user_id == User.current.id - link_to "修改作品(#{homework.student_works.count})", edit_student_work_url_without_domain(work.id),:class => 'c_blue' + link_to "修改作品(#{count})", edit_student_work_url_without_domain(work.id),:class => 'c_blue' else - link_to "查看作品(#{homework.student_works.count})", student_work_index_url_in_org(homework.id), :class => 'c_blue', :title => "作业截止后不可修改作品" + link_to "查看作品(#{count})", student_work_index_url_in_org(homework.id), :class => 'c_blue', :title => "作业截止后不可修改作品" end end end else - link_to "作品(#{homework.student_works.count})",student_work_index_url_in_org(homework.id),:class => "c_blue" + link_to "作品(#{count})",student_work_index_url_in_org(homework.id),:class => "c_blue" end end @@ -2752,7 +2753,7 @@ module ApplicationHelper #获取当前用户在指定作业下提交的作业的集合 def cur_user_works_for_homework homework - work = homework.student_works.where("user_id = ?",User.current).first + work = homework.student_works.where("user_id = ? && work_status != 0",User.current).first if homework.homework_type == 3 pro = homework.student_work_projects.where("user_id = #{User.current.id}").first if pro.nil? || pro.student_work_id == "" || pro.student_work_id.nil? @@ -3339,4 +3340,4 @@ def course_syllabus_option user = User.current end end type -end +end diff --git a/app/helpers/student_work_helper.rb b/app/helpers/student_work_helper.rb index 74788751b..42a3a6538 100644 --- a/app/helpers/student_work_helper.rb +++ b/app/helpers/student_work_helper.rb @@ -52,6 +52,19 @@ module StudentWorkHelper result end + def get_status status + str = "" + case status + when 0 + str = "未提交" + when 1 + str = "已提交" + when 2 + str = "迟交" + end + str + end + #获取赞的总数 def praise_homework_count obj_id PraiseTread.where("praise_tread_object_id = #{obj_id} AND praise_tread_object_type = 'StudentWork'").count diff --git a/app/models/student_work.rb b/app/models/student_work.rb index ddd91df38..3fcc9fb8a 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -13,6 +13,8 @@ class StudentWork < ActiveRecord::Base has_many :course_messages, :class_name =>'CourseMessage', :as => :course_message, :dependent => :destroy has_many :attachments, :dependent => :destroy + scope :has_committed, lambda{where("work_status != 0")} + before_destroy :delete_praise before_save :set_program_score, :set_src @@ -172,7 +174,7 @@ class StudentWork < ActiveRecord::Base # status == 0 : delay def act_as_message - if self.created_at > self.homework_common.end_time + 1 + if self.work_status != 0 && self.created_at > self.homework_common.end_time + 1 self.course_messages << CourseMessage.new(:user_id => self.user_id, :course_id => self.homework_common.course_id, :viewed => false, :status => false) end end diff --git a/app/views/student_work/_evaluation_title.html.erb b/app/views/student_work/_evaluation_title.html.erb index 9875a4cc6..55e1b57c1 100644 --- a/app/views/student_work/_evaluation_title.html.erb +++ b/app/views/student_work/_evaluation_title.html.erb @@ -1,32 +1,31 @@ - + <% if @homework.homework_type != 3 %> - - - <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %> - + <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 0 %> - + <% end %> <% if @homework.homework_type == 2%> - <% end%> - diff --git a/app/views/student_work/_evaluation_un_common_title.html.erb b/app/views/student_work/_evaluation_un_common_title.html.erb new file mode 100644 index 000000000..6f8d4800a --- /dev/null +++ b/app/views/student_work/_evaluation_un_common_title.html.erb @@ -0,0 +1,48 @@ + + + + + + + + + <% if @homework.anonymous_comment == 0 %> + + <% end %> + + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_common_work.html.erb b/app/views/student_work/_evaluation_un_common_work.html.erb new file mode 100644 index 000000000..73accd2cb --- /dev/null +++ b/app/views/student_work/_evaluation_un_common_work.html.erb @@ -0,0 +1,79 @@ + + + + + + + + + + <% if @homework.anonymous_comment == 0 %> + + <% end %> + + <% if student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score %> + <% score = student_work.respond_to?("score") ? student_work.score : student_work.teacher_score %> + <% else %> + <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty %> + <% end %> + + + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_group_title.html.erb b/app/views/student_work/_evaluation_un_group_title.html.erb new file mode 100644 index 000000000..cb69c0fc2 --- /dev/null +++ b/app/views/student_work/_evaluation_un_group_title.html.erb @@ -0,0 +1,44 @@ + + + + <% if @homework.homework_detail_group.base_on_project == 1 %> + + + <% elsif @homework.homework_detail_group.base_on_project == 0 %> + + <% end %> + + + + <% if @homework.anonymous_comment == 0 %> + + <% end %> + + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_group_work.html.erb b/app/views/student_work/_evaluation_un_group_work.html.erb new file mode 100644 index 000000000..b4337eeb2 --- /dev/null +++ b/app/views/student_work/_evaluation_un_group_work.html.erb @@ -0,0 +1,89 @@ + + + + + <% if @homework.homework_detail_group.base_on_project == 1 %> + + <% if student_work.project.is_public || User.current.member_of?(student_work.project) || User.current.admin? %> + + <% else %> + + <% end %> + <% elsif @homework.homework_detail_group.base_on_project == 0 %> + + <% end %> + + + + <% if @homework.anonymous_comment == 0%> + + <% end %> + + <% if student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score %> + <% score = student_work.respond_to?("score") ? student_work.score : student_work.teacher_score %> + <% else %> + <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%> + <% end %> + + + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_pro_title.html.erb b/app/views/student_work/_evaluation_un_pro_title.html.erb new file mode 100644 index 000000000..86c102a4d --- /dev/null +++ b/app/views/student_work/_evaluation_un_pro_title.html.erb @@ -0,0 +1,55 @@ + + + + + + + + + + + <% if @homework.anonymous_comment == 0 %> + + <% end %> + + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_pro_work.html.erb b/app/views/student_work/_evaluation_un_pro_work.html.erb new file mode 100644 index 000000000..0aed8f708 --- /dev/null +++ b/app/views/student_work/_evaluation_un_pro_work.html.erb @@ -0,0 +1,83 @@ + + + + + + + + + + + + <% if @homework.anonymous_comment == 0 %> + + <% end %> + + <% if student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score %> + <% score = student_work.respond_to?("score") ? student_work.score : student_work.teacher_score %> + <% else %> + <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty %> + <% end %> + + + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_title.html.erb b/app/views/student_work/_evaluation_un_title.html.erb index 1b3683506..4fdd6384f 100644 --- a/app/views/student_work/_evaluation_un_title.html.erb +++ b/app/views/student_work/_evaluation_un_title.html.erb @@ -1,77 +1,86 @@
    序号序号  作品名称 + 姓名 + 学号 作品名称组长 关联项目 作品名称组长 - 时间 + 状态 + 系统 + 我的评分
    序号  + <%= link_to "姓名", @show_all ? student_work_index_path(:homework => @homework.id, :order => "lastname", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "lastname" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "lastname", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "学号", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_id", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_id" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_id", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "时间", @show_all ? student_work_index_path(:homework => @homework.id, :order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "created_at" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "created_at", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "教师", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teacher_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "教辅", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teaching_asistant_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "匿评", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "成绩", @show_all ? student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> +
    <%= index + 1 %> + <%= link_to(image_tag(url_to_avatar(student_work.user), :width => "40", :height => "40", :style => "display:block;"), user_activities_path(student_work.user)) %> + + <%= student_work.user.show_name %> + " onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;"> + <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id %> + + <% if student_work.created_at && @homework.end_time %> + <%= Time.parse(format_time(student_work.created_at)).strftime("%m-%d %H:%M") %>  + <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(format_time(student_work.created_at)).strftime("%Y-%m-%d") %> + [迟交] + <% end %> + <% end %> + + <%= student_work.teacher_score.nil? ? "--" : format("%.1f", student_work.teacher_score) %> + + <%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f", student_work.teaching_asistant_score) %> + + <% if student_work.student_score.nil? %> + 未参与 + <% else %> + <%= format("%.1f", student_work.student_score) %> + <% end %> + <% unless student_work.student_score.nil? %> + + (<%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %>) + + +
    + 现共有 +  <%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %>  + 名学生进行了匿评,平均分为 +  <%= format("%.1f", student_work.student_score) %> 分。 +
    + <% end %> +
    + <%= score.nil? ? "--" : format("%.1f", score<0 ? 0 : score) %> + <% unless score.nil? %> +
    + 作品最终评分为 +  <%= student_work.final_score %> 分。 + 迟交扣分 +   + <%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.late_penalty %> +  分, + 缺评扣分 +   + <%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.absence_penalty %> +  分, + 最终成绩为 +  <%= format("%.1f", score<0 ? 0 : score) %> 分。 +
    + <% end %> +
    +
    + +
    +
    序号 组长 + 关联项目 + 组长 + <%= link_to "时间", @show_all ? student_work_index_path(:homework => @homework.id, :order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "created_at" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "created_at", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "教师", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teacher_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "教辅", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teaching_asistant_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "匿评", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "成绩", @show_all ? student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> +
    <%=index + 1 %> + <%= link_to(image_tag(url_to_avatar(student_work.user),:width =>"40",:height => "40",:style => "display:block;"),user_activities_path(student_work.user)) %> + +
    + <%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "linkGrey f14 StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> +
    +
    + <%= link_to( student_work.project.name, project_path(student_work.project.id))%> + + <%= student_work.project.name %> + +
    + <%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "linkGrey f14 StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> +
    +
    + <% if student_work.created_at && @homework.end_time%> + <%= Time.parse(format_time(student_work.created_at)).strftime("%m-%d %H:%M")%>  + <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(format_time(student_work.created_at)).strftime("%Y-%m-%d") %> + [迟交] + <% end %> + <% end %> + + <%= student_work.teacher_score.nil? ? "--" : format("%.1f",student_work.teacher_score)%> + + <%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f",student_work.teaching_asistant_score)%> + + <% if student_work.student_score.nil? %> + 未参与 + <% else %> + <%=format("%.1f",student_work.student_score) %> + <% end %> + <% unless student_work.student_score.nil?%> + + (<%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count%>) + +
    + 现共有 +  <%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count%>  + 名学生进行了匿评,平均分为 +  <%= format("%.1f",student_work.student_score)%> 分。 +
    + <% end%> +
    + <%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%> + <% unless score.nil?%> +
    + 作品最终评分为 +  <%= student_work.final_score%> 分。 + 迟交扣分 +   + <%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.late_penalty %> +  分, + 缺评扣分 +   + <%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.absence_penalty%> +  分, + 最终成绩为 +  <%= format("%.1f",score<0 ? 0 : score)%> 分。 +
    + <% end%> +
    序号  + <%= link_to "姓名", @show_all ? student_work_index_path(:homework => @homework.id, :order => "lastname", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "lastname" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "lastname", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "学号", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_id", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_id" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_id", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "时间", @show_all ? student_work_index_path(:homework => @homework.id, :order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "created_at" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "created_at", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "教师", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teacher_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "教辅", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teaching_asistant_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "系统", @show_all ? student_work_index_path(:homework => @homework.id, :order => "system_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "system_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "system_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "匿评", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "成绩", @show_all ? student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> +
    <%= index + 1 %> + <%= link_to(image_tag(url_to_avatar(student_work.user), :width => "40", :height => "40", :style => "display:block;"), user_activities_path(student_work.user)) %> + + <%= student_work.user.show_name %> + " onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;"> + <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id %> + + <% if student_work.created_at && @homework.end_time %> + <%= Time.parse(format_time(student_work.created_at)).strftime("%m-%d %H:%M") %>  + <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(format_time(student_work.created_at)).strftime("%Y-%m-%d") %> + [迟交] + <% end %> + <% end %> + + <%= student_work.teacher_score.nil? ? "--" : format("%.1f", student_work.teacher_score) %> + + <%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f", student_work.teaching_asistant_score) %> + + <%= student_work.system_score.nil? ? "--" : format("%.1f", student_work.system_score) %> + + <% if student_work.student_score.nil? %> + 未参与 + <% else %> + <%= format("%.1f", student_work.student_score) %> + <% end %> + <% unless student_work.student_score.nil? %> + + (<%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %>) + + +
    + 现共有 +  <%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %>  + 名学生进行了匿评,平均分为 +  <%= format("%.1f", student_work.student_score) %> 分。 +
    + <% end %> +
    + <%= score.nil? ? "--" : format("%.1f", score<0 ? 0 : score) %> + <% unless score.nil? %> +
    + 作品最终评分为 +  <%= student_work.final_score %> 分。 + 迟交扣分 +   + <%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.late_penalty %> +  分, + 缺评扣分 +   + <%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.absence_penalty %> +  分, + 最终成绩为 +  <%= format("%.1f", score<0 ? 0 : score) %> 分。 +
    + <% end %> +
    +
    + +
    +
    - - - - <% if @homework.homework_type != 3 %> - - - - <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %> - - + + + <% if @homework.homework_type != 3 %> + + + <% else %> + <% if @homework.homework_detail_group.base_on_project == 1 %> + + + <% elsif @homework.homework_detail_group.base_on_project == 0 %> + + <% end %> + <% end %> + - <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 0 %> - - <% end %> - - - - <% if @homework.homework_type == 2%> - - <% end%> - <% if @homework.anonymous_comment == 0%> - - <% end %> - - - <% @stundet_works.each_with_index do |student_work, i|%> - <%= render :partial => "evaluation_un_work", :locals => {:student_work => student_work, :index => i}%> + <% if @homework.homework_type == 2 %> + + <% end %> + <% if @homework.anonymous_comment == 0 %> + + <% end %> + + + <%# end %> + <% @stundet_works.each_with_index do |student_work, i| %> + <%= render :partial => "evaluation_un_work", :locals => {:student_work => student_work, :index => i} %> - <% end%> + <% end %>
    序号 作品名称 - <%= link_to "姓名",@show_all ? student_work_index_path(:homework => @homework.id,:order => "lastname", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb" ,:remote => true%> - <% if @show_all && @order == "lastname"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "lastname", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none" ,:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> - - <%= link_to "学号",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_id", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb" ,:remote => true%> - <% if @show_all && @order == "student_id"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_id", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none" ,:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> - 作品名称 - 关联项目 + <%# if @homework.homework_type == 1 %> + <%#= render :partial => 'evaluation_un_common_title' %> + <%# elsif @homework.homework_type == 2 %> + <%#= render :partial => 'evaluation_un_pro_title' %> + <%# elsif @homework.homework_type == 3 %> + <%#= render :partial => 'evaluation_un_group_title' %> + <%# else %> +
    序号  + <%= link_to "姓名", @show_all ? student_work_index_path(:homework => @homework.id, :order => "lastname", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "lastname" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "lastname", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "学号", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_id", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_id" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_id", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + 组长 + 关联项目 + 组长 + <%= link_to "状态", @show_all ? student_work_index_path(:homework => @homework.id, :order => "work_status", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "work_status" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "work_status", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> 作品名称 - <%= link_to "时间",@show_all ? student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb" ,:remote => true%> - <% if @show_all && @order == "created_at"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none",:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> - - <%= link_to "教师",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb" ,:remote => true%> - <% if @show_all && @order == "teacher_score"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none" ,:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> - - <%= link_to "教辅",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb",:remote => true%> - <% if @show_all && @order == "teaching_asistant_score"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none",:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> - - <%= link_to "系统",@show_all ? student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb",:remote => true%> - <% if @show_all && @order == "system_score"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none",:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> + + <%= link_to "教师", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teacher_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teacher_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> - <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb",:remote => true%> - <% if @show_all && @order == "student_score"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none",:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> + + <%= link_to "教辅", @show_all ? student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "teaching_asistant_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> - <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb",:remote => true%> - <% if @show_all && @order == "score"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none",:style => "line-height:30px; vertical-align:middle;",:remote => true%> - <% end%> -
    + <%= link_to "系统", @show_all ? student_work_index_path(:homework => @homework.id, :order => "system_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "system_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "system_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "匿评", @show_all ? student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "student_score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "student_score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> + + <%= link_to "成绩", @show_all ? student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)", :class => "c_dark f14 fb", :remote => true %> + <% if @show_all && @order == "score" %> + <%= link_to "", student_work_index_path(:homework => @homework.id, :order => "score", :sort => @score, :name => @name, :group => @group), :class => "#{@score == 'desc' ? 'sort_up' : 'sort_down'} float-none", :style => "line-height:30px; vertical-align:middle;", :remote => true %> + <% end %> +
    -
    +
    \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb index 93c800879..ed0ba5542 100644 --- a/app/views/student_work/_evaluation_un_work.html.erb +++ b/app/views/student_work/_evaluation_un_work.html.erb @@ -1,71 +1,69 @@ +<%# if @homework.homework_type == 1 %> + <%#= render :partial => 'evaluation_un_common_work', :locals => {:student_work => student_work, :index => index} %> +<%# elsif @homework.homework_type == 2 %> + <%#= render :partial => 'evaluation_un_pro_work', :locals => {:student_work => student_work, :index => index} %> +<%# elsif @homework.homework_type == 3 %> + <%#= render :partial => 'evaluation_un_group_work', :locals => {:student_work => student_work, :index => index} %> +<%# else %> - <%=index + 1 %> + <%=index + 1 %> <%= link_to(image_tag(url_to_avatar(student_work.user),:width =>"40",:height => "40",:style => "display:block;"),user_activities_path(student_work.user)) %> <% if @homework.homework_type != 3 %> - - <% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%> -
    - <%= link_to student_work_name,"javascript:void(0)" ,:title => student_work_name, :class => "linkGrey f14 StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> -
    - - + <%= student_work.user.show_name%> - " onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;"> + " onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;"> <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%> - <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %> - - <% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%> -
    - <%= link_to student_work_name,"javascript:void(0)" ,:title => student_work_name, :class => "linkGrey f14 StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> -
    - - <% if student_work.project.is_public || User.current.member_of?(student_work.project) || User.current.admin? %> - - <%= link_to( student_work.project.name, project_path(student_work.project.id))%> - - <% else %> - - <%= student_work.project.name %> - - <% end %> - <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 0 %> - - <% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%> -
    - <%= link_to student_work_name,"javascript:void(0)" ,:title => student_work_name, :class => "linkGrey f14 StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> -
    - + <% else %> + <% if @homework.homework_detail_group.base_on_project == 1 %> + +
    + <%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "StudentName break_word"%> +
    + + <% if student_work.project.is_public || User.current.member_of?(student_work.project) || User.current.admin? %> + + <%= link_to( student_work.project.name, project_path(student_work.project.id))%> + + <% else %> + + <%= student_work.project.name %> + + <% end %> + <% elsif @homework.homework_detail_group.base_on_project == 0 %> + +
    + <%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> +
    + + <% end %> <% end %> - - <% if student_work.created_at && @homework.end_time%> - <%= Time.parse(format_time(student_work.created_at)).strftime("%m-%d %H:%M")%>  - <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(format_time(student_work.created_at)).strftime("%Y-%m-%d") %> - [迟交] - <% end %> + + <% if student_work.work_status%> + <%=get_status student_work.work_status %> <% end %> - + <%= student_work.teacher_score.nil? ? "--" : format("%.1f",student_work.teacher_score)%> - + <%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f",student_work.teaching_asistant_score)%> <% if @homework.homework_type == 2%> - + <%= student_work.system_score.nil? ? "--" : format("%.1f",student_work.system_score)%> <% end%> <% if @homework.anonymous_comment == 0%> - + <% if student_work.student_score.nil? %> 未参与 <% else %> @@ -90,7 +88,7 @@ <% else %> <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%> <% end %> - + <%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%> <% unless score.nil?%>
    @@ -111,6 +109,7 @@
    +<%# end %>