From 96f65f338cbcb8bf30a54d50c2bde96b9bd262a7 Mon Sep 17 00:00:00 2001 From: linchun Date: Mon, 14 Mar 2016 17:40:49 +0800 Subject: [PATCH 001/180] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/latest_login_teachers.html.erb | 10 ++++++++-- app/views/admin/latest_login_users.html.erb | 10 ++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/views/admin/latest_login_teachers.html.erb b/app/views/admin/latest_login_teachers.html.erb index 05f20ba8d..3c4eb3c5b 100644 --- a/app/views/admin/latest_login_teachers.html.erb +++ b/app/views/admin/latest_login_teachers.html.erb @@ -45,6 +45,9 @@ 用户身份 + + 用户单位 + @@ -59,7 +62,7 @@ <%=format_time(teacher.last_login_on) %> - <%=teacher.user_id %> + <%= teacher.user_id %> <%= teacher.login%><% else %><%=teacher.try(:realname) %><% end %>'> <% if teacher.try(:realname) == ' '%> @@ -69,11 +72,14 @@ <% end %> - <%=link_to(teacher.login, user_path(teacher.user_id)) %> + <%= link_to(teacher.login, user_path(teacher.user_id)) %> 老师 + + <%= teacher.school_id.nil? ? "" : (School.find teacher.school_id).try(:name) %> + <% end %> diff --git a/app/views/admin/latest_login_users.html.erb b/app/views/admin/latest_login_users.html.erb index 17680a8c8..10f7bcea1 100644 --- a/app/views/admin/latest_login_users.html.erb +++ b/app/views/admin/latest_login_users.html.erb @@ -46,6 +46,9 @@ 用户身份 + + 用户单位 + @@ -88,6 +91,13 @@ <% end %> <% end%> + + <% if User.current.user_extensions.identity == "0" %> + <%= user.user_extensions.school_id.nil? ? "" : (School.where("id =?", user.user_extensions.school_id)).first.try(:name) %> + <% else %> + <%= user.user_extensions.occupation %> + <% end %> + <% end %> From a1cae3f5923099987b01184bde244b0cf3942e77 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 14 Mar 2016 17:50:07 +0800 Subject: [PATCH 002/180] =?UTF-8?q?admin=E6=95=99=E5=B8=88=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/latest_login_users.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/latest_login_users.html.erb b/app/views/admin/latest_login_users.html.erb index 10f7bcea1..fb4117d26 100644 --- a/app/views/admin/latest_login_users.html.erb +++ b/app/views/admin/latest_login_users.html.erb @@ -92,7 +92,7 @@ <% end%> - <% if User.current.user_extensions.identity == "0" %> + <% if user.user_extensions.identity.to_i == 0 %> <%= user.user_extensions.school_id.nil? ? "" : (School.where("id =?", user.user_extensions.school_id)).first.try(:name) %> <% else %> <%= user.user_extensions.occupation %> From df4ad9f597f44e71ec903966ded7003b6509a384 Mon Sep 17 00:00:00 2001 From: linchun Date: Tue, 15 Mar 2016 09:31:35 +0800 Subject: [PATCH 003/180] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E7=95=8C=E9=9D=A2=E6=9C=80=E8=BF=91=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=8D=95=E4=BD=8D=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/latest_login_users.html.erb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/admin/latest_login_users.html.erb b/app/views/admin/latest_login_users.html.erb index fb4117d26..82747eb7d 100644 --- a/app/views/admin/latest_login_users.html.erb +++ b/app/views/admin/latest_login_users.html.erb @@ -93,7 +93,9 @@ <% if user.user_extensions.identity.to_i == 0 %> - <%= user.user_extensions.school_id.nil? ? "" : (School.where("id =?", user.user_extensions.school_id)).first.try(:name) %> + + <% occupation = user.user_extensions.school_id.nil? ? "" : (School.where("id =?", user.user_extensions.school_id)).first.try(:name) %> + <%= occupation.blank? ? user.user_extensions.occupation : occupation %> <% else %> <%= user.user_extensions.occupation %> <% end %> From 4da8a3828f5c3a949b2b4745806d2e645a8eed99 Mon Sep 17 00:00:00 2001 From: linchun Date: Tue, 15 Mar 2016 09:47:27 +0800 Subject: [PATCH 004/180] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=8D=95=E4=BD=8D=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=82=B9=E5=87=BB=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=A4=E9=A1=B5=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/latest_login_users.html.erb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/views/admin/latest_login_users.html.erb b/app/views/admin/latest_login_users.html.erb index 82747eb7d..a9e8e2feb 100644 --- a/app/views/admin/latest_login_users.html.erb +++ b/app/views/admin/latest_login_users.html.erb @@ -92,13 +92,15 @@ <% end%> - <% if user.user_extensions.identity.to_i == 0 %> + <% unless user.user_extensions.nil? %> + <% if user.user_extensions.identity.to_i == 0 %> - <% occupation = user.user_extensions.school_id.nil? ? "" : (School.where("id =?", user.user_extensions.school_id)).first.try(:name) %> - <%= occupation.blank? ? user.user_extensions.occupation : occupation %> - <% else %> - <%= user.user_extensions.occupation %> - <% end %> + <% occupation = user.user_extensions.school_id.nil? ? "" : (School.where("id =?", user.user_extensions.school_id)).first.try(:name) %> + <%= occupation.blank? ? user.user_extensions.occupation : occupation %> + <% else %> + <%= user.user_extensions.occupation %> + <% end %> + <% end %> <% end %> From d3ed89d87ec64dc089aea536a2e0810858018fa0 Mon Sep 17 00:00:00 2001 From: linchun Date: Tue, 15 Mar 2016 15:23:43 +0800 Subject: [PATCH 005/180] sort --- app/controllers/admin_controller.rb | 8 +++++++- app/views/admin/course_resource_list.html.erb | 2 +- config/locales/en.yml | 9 +++++++++ config/locales/zh.yml | 12 +++++++++++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 90981b52a..305d5cae9 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -61,7 +61,13 @@ class AdminController < ApplicationController #管理员界面课程资源列表 def course_resource_list - @resource = Attachment.where(:container_type => 'Course') + #sort_init 'created_on','desc' + #sort_update %w(filename filesize filetype created_on downloads author course) + if params[:file_size] + @resource = Attachment.where(:container_type => 'Course').order("downloads desc") + else + @resource = Attachment.where(:container_type => 'Course').order("created_on desc") + end @resource = paginateHelper @resource,30 @page = (params['page'] || 1).to_i - 1 diff --git a/app/views/admin/course_resource_list.html.erb b/app/views/admin/course_resource_list.html.erb index 4316555f7..be39e568b 100644 --- a/app/views/admin/course_resource_list.html.erb +++ b/app/views/admin/course_resource_list.html.erb @@ -10,7 +10,7 @@ 资源名称 - 资源大小 + <%= link_to "资源大小",admin_course_resource_list_path(:sort => "file_size") %> 资源类型 diff --git a/config/locales/en.yml b/config/locales/en.yml index 3da533eb7..a82c6b502 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1535,3 +1535,12 @@ en: error_upload_avatar_to_large: "too big (%{max_size})" not_valid_image_file: not a valid image file + #resource + label_resource_name: Resource_name + label_resource_type: Rescource_type + label_resource_size: Rescource_size + label_resource_upload_date: Resource_upload_date + label_resource_download_times: Resource_download_times + label_resource_upload_author: Resource_upload_author + label_resource_belongs_course: Resource_belongs_course + label_resource_belongs_project: Resource_belongs_project diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 37d26dbd8..1e4bdd90e 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -2111,4 +2111,14 @@ zh: # 课程推荐 label_homework_commont: 作业 - label_homework_recommendation: 课程推荐 \ No newline at end of file + label_homework_recommendation: 课程推荐 + + #资源 + label_resource_name: 资源名称 + label_resource_type: 资源类型 + label_resource_size: 资源大小 + label_resource_upload_date: 上传时间 + label_resource_download_times: 下载次数 + label_resource_upload_author: 上传者 + label_resource_belongs_course: 所属课程 + label_resource_belongs_project: 所属项目 \ No newline at end of file From 3fcf19243063da52788cd098bd8046faca8916fd Mon Sep 17 00:00:00 2001 From: linchun Date: Tue, 15 Mar 2016 15:59:49 +0800 Subject: [PATCH 006/180] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E8=B5=84=E6=BA=90=E5=88=97=E8=A1=A8=E7=9A=84=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=EF=BC=88=E4=B8=8A=E4=BC=A0=E6=97=B6=E9=97=B4=EF=BC=8C?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=A4=A7=E5=B0=8F=EF=BC=8C=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 9 ++++++++- app/views/admin/course_resource_list.html.erb | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 305d5cae9..2b44ce34b 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -63,11 +63,18 @@ class AdminController < ApplicationController def course_resource_list #sort_init 'created_on','desc' #sort_update %w(filename filesize filetype created_on downloads author course) - if params[:file_size] + if params[:sort] == 'file_size' + @resource = Attachment.where(:container_type => 'Course').order("filesize desc") + elsif params[:sort] == 'file_upload' + @resource = Attachment.where(:container_type => 'Course').order("created_on desc") + elsif params[:sort] == 'file_download_times' @resource = Attachment.where(:container_type => 'Course').order("downloads desc") else @resource = Attachment.where(:container_type => 'Course').order("created_on desc") end + + + @resource = paginateHelper @resource,30 @page = (params['page'] || 1).to_i - 1 diff --git a/app/views/admin/course_resource_list.html.erb b/app/views/admin/course_resource_list.html.erb index be39e568b..fdca986c9 100644 --- a/app/views/admin/course_resource_list.html.erb +++ b/app/views/admin/course_resource_list.html.erb @@ -16,10 +16,10 @@ 资源类型 - 上传时间 + <%= link_to "上传时间",admin_course_resource_list_path(:sort => "file_upload") %> - 下载次数 + <%= link_to "下载次数",admin_course_resource_list_path(:sort => "file_download_times") %> 上传者 From 7d5a5f1de28bcfb8f96969c3686050b93819f0a6 Mon Sep 17 00:00:00 2001 From: linchun Date: Tue, 15 Mar 2016 16:14:53 +0800 Subject: [PATCH 007/180] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=88=97=E8=A1=A8=E4=B8=AD=E7=9A=84=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=EF=BC=88=E8=B5=84=E6=BA=90=E5=A4=A7=E5=B0=8F=EF=BC=8C?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=97=B6=E9=97=B4=EF=BC=8C=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 17 ++++++++++++----- app/views/admin/project_resource_list.html.erb | 6 +++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 2b44ce34b..d93959996 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -61,8 +61,7 @@ class AdminController < ApplicationController #管理员界面课程资源列表 def course_resource_list - #sort_init 'created_on','desc' - #sort_update %w(filename filesize filetype created_on downloads author course) + if params[:sort] == 'file_size' @resource = Attachment.where(:container_type => 'Course').order("filesize desc") elsif params[:sort] == 'file_upload' @@ -73,8 +72,6 @@ class AdminController < ApplicationController @resource = Attachment.where(:container_type => 'Course').order("created_on desc") end - - @resource = paginateHelper @resource,30 @page = (params['page'] || 1).to_i - 1 @@ -85,7 +82,17 @@ class AdminController < ApplicationController #管理员界面項目资源列表 def project_resource_list - @pro_resource = Attachment.where(:container_type => 'Project') + + if params[:sort] == 'file_size' + @pro_resource = Attachment.where(:container_type => 'Project').order("filesize desc") + elsif params[:sort] == 'file_upload' + @pro_resource = Attachment.where(:container_type => 'Project').order("created_on desc") + elsif params[:sort] == 'file_download_times' + @pro_resource = Attachment.where(:container_type => 'Project').order("downloads desc") + else + @pro_resource = Attachment.where(:container_type => 'Project').order("created_on desc") + end + @pro_resource = paginateHelper @pro_resource,30 @page = (params['page'] || 1).to_i - 1 diff --git a/app/views/admin/project_resource_list.html.erb b/app/views/admin/project_resource_list.html.erb index c245f73b8..e82831546 100644 --- a/app/views/admin/project_resource_list.html.erb +++ b/app/views/admin/project_resource_list.html.erb @@ -10,16 +10,16 @@ 资源名称 - 资源大小 + <%= link_to "资源大小",admin_project_resource_list_path(:sort => "file_size") %> 资源类型 - 上传时间 + <%= link_to "上传时间",admin_project_resource_list_path(:sort => "file_upload") %> - 下载次数 + <%= link_to "下载次数",admin_project_resource_list_path(:sort => "file_download_times") %> 上传者 From 69ec475752906a04a84f8886152f5e139093d67d Mon Sep 17 00:00:00 2001 From: linchun Date: Tue, 15 Mar 2016 16:59:32 +0800 Subject: [PATCH 008/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=80=92=E5=BA=8F=E6=8E=92=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index d93959996..8e0adffe2 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -390,7 +390,7 @@ class AdminController < ApplicationController #组织 def organization - @organizations = Organization.all + @organizations = Organization.find_by_sql("SELECT * FROM organizations ORDER BY created_at DESC") respond_to do |format| format.html end From 34c9f545101b42f771bb9580cd2d85a34db4381b Mon Sep 17 00:00:00 2001 From: linchun Date: Wed, 16 Mar 2016 15:24:41 +0800 Subject: [PATCH 009/180] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E7=95=8C=E9=9D=A2=E5=AD=A6=E6=A0=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 22 ++++++------- app/helpers/school_helper.rb | 13 ++++++++ app/views/admin/schools.html.erb | 49 ++++++++++++++++++++--------- 3 files changed, 58 insertions(+), 26 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 8e0adffe2..66c35ed6b 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -24,7 +24,7 @@ class AdminController < ApplicationController before_filter :require_admin helper :sort helper :Users - helper :Settings + helper :Settings,SchoolHelper include SortHelper def index @@ -390,7 +390,8 @@ class AdminController < ApplicationController #组织 def organization - @organizations = Organization.find_by_sql("SELECT * FROM organizations ORDER BY created_at DESC") + #@organizations = Organization.find_by_sql("SELECT * FROM organizations ORDER BY created_at DESC") + @organizations = Organization.all.order("created_at desc") respond_to do |format| format.html end @@ -398,17 +399,14 @@ class AdminController < ApplicationController #学校列表 def schools - @school_name = params[:school_name] - if @school_name && @school_name != '' - @schools = School.where("name like '%#{@school_name}%'") - elsif @school_name.nil? - @schools = [] - else @school_name && @school_name == ' ' - @schools = School.where('1=1') - end + + @schools = School.find_by_sql("SELECT * FROM schools ORDER BY created_at DESC") @school_count = @schools.count - @school_pages = Paginator.new @school_count, 100, params['page'] || 1 - @schools = paginateHelper @schools,100 + + @school_pages = Paginator.new @school_count, 50, params['page'] || 1 + @schools = paginateHelper @schools,50 + + @page = (params['page'] || 1).to_i - 1 respond_to do |format| format.html end diff --git a/app/helpers/school_helper.rb b/app/helpers/school_helper.rb index 0528cb7ac..075d2b039 100644 --- a/app/helpers/school_helper.rb +++ b/app/helpers/school_helper.rb @@ -1,2 +1,15 @@ module SchoolHelper + def schoolMember_num school + count = student_num(school) + teacher_num(school) + count.to_s + end + + def student_num school + UserExtensions.find_by_sql("SELECT * FROM user_extensions WHERE occupation = '#{school.name}' AND identity = '1'").count + end + + def teacher_num school + UserExtensions.find_by_sql("SELECT * FROM user_extensions AS ue, schools AS s WHERE ue.school_id = s.id AND s.name = '#{school.name}' AND ue.identity = '0'").count + end + end diff --git a/app/views/admin/schools.html.erb b/app/views/admin/schools.html.erb index d19e9b3b9..f52d1f060 100644 --- a/app/views/admin/schools.html.erb +++ b/app/views/admin/schools.html.erb @@ -1,43 +1,64 @@

<%=l(:label_school_plural)%>

-<%= form_tag({:controller => 'admin', :action => 'schools' }, :method => :get,:id=>"search_course_form") do %> - <%= submit_tag "搜索",:style => "float: right;margin-right: 15px;"%> - -<% end %> + + + +
- - - - + + + - <% @schools.each do |school|%> + <% @count=@page * 30 %> + <% @schools.each do |school| %> "> - + + - + + @@ -50,4 +71,4 @@ <%= pagination_links_full @school_pages, @school_count ,:per_page_links => true, :remote => false, :flag => true %> -<% html_title(l(:label_project_plural)) -%> +<% html_title(l(:label_school_plural)) -%> From 52af5e43033df2c5a101ea13f2cfd74c7088e7f2 Mon Sep 17 00:00:00 2001 From: linchun Date: Thu, 17 Mar 2016 15:05:14 +0800 Subject: [PATCH 010/180] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E7=95=8C=E9=9D=A2=E5=A4=9A=E4=B8=AA=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E9=A2=98=E7=9B=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 4 ++-- app/views/admin/course_resource_list.html.erb | 4 +++- app/views/admin/excellent_courses.html.erb | 4 +++- app/views/admin/latest_login_teachers.html.erb | 2 ++ app/views/admin/organization.html.erb | 2 +- app/views/admin/project_resource_list.html.erb | 4 +++- config/locales/en.yml | 3 +++ config/locales/zh.yml | 1 + 8 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 66c35ed6b..416088e9a 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -390,8 +390,8 @@ class AdminController < ApplicationController #组织 def organization - #@organizations = Organization.find_by_sql("SELECT * FROM organizations ORDER BY created_at DESC") - @organizations = Organization.all.order("created_at desc") + @organizations = Organization.find_by_sql("SELECT * FROM organizations ORDER BY created_at DESC") + #@organizations = Organization.all.order("created_at desc") respond_to do |format| format.html end diff --git a/app/views/admin/course_resource_list.html.erb b/app/views/admin/course_resource_list.html.erb index fdca986c9..2e83a96aa 100644 --- a/app/views/admin/course_resource_list.html.erb +++ b/app/views/admin/course_resource_list.html.erb @@ -61,4 +61,6 @@ \ No newline at end of file + + +<% html_title(l(:label_course_resource_list)) -%> \ 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 e21ba32aa..59426455a 100644 --- a/app/views/admin/excellent_courses.html.erb +++ b/app/views/admin/excellent_courses.html.erb @@ -72,4 +72,6 @@ <% end %>
+ 序号 + LOGO + 学校名称 + 用户数 + + 创建时间 + + 编辑高校信息 +
- <%= school.id %> + + + <% @count +=1 %> + + <%=@count %> <%= image_tag(school.logo_link,width:40,height:40) %> + - <%= link_to school.name,"http://#{Setting.host_course}/?school_id=#{school.id}" %> + <%= link_to school.name,"http://#{Setting.host_name}/?school_id=#{school.id}" %> + + <%= schoolMember_num(school) %> + + <%= format_time(school.created_at) %> + <%= link_to("修改", upload_logo_school_path(school.id,:school_name => @school_name), :class => 'icon icon-copy') %> <%#= link_to(l(:button_delete), organization_path(school.id), :method => :delete,:confirm => l(:text_are_you_sure), :class => 'icon icon-del') %>
-
\ No newline at end of file + + +<% html_title(l(:label_excellent_courses_list)) -%> \ No newline at end of file diff --git a/app/views/admin/latest_login_teachers.html.erb b/app/views/admin/latest_login_teachers.html.erb index 3c4eb3c5b..c1889bce1 100644 --- a/app/views/admin/latest_login_teachers.html.erb +++ b/app/views/admin/latest_login_teachers.html.erb @@ -88,3 +88,5 @@ + +<% html_title(l(:label_latest_login_teacher_list)) -%> \ No newline at end of file diff --git a/app/views/admin/organization.html.erb b/app/views/admin/organization.html.erb index 582b8b44a..fe5fdb391 100644 --- a/app/views/admin/organization.html.erb +++ b/app/views/admin/organization.html.erb @@ -40,4 +40,4 @@ -<% html_title(l(:label_project_plural)) -%> + diff --git a/app/views/admin/project_resource_list.html.erb b/app/views/admin/project_resource_list.html.erb index e82831546..8e8bd8c92 100644 --- a/app/views/admin/project_resource_list.html.erb +++ b/app/views/admin/project_resource_list.html.erb @@ -61,4 +61,6 @@ \ No newline at end of file + + +<% html_title(l(:label_project_resource_list)) -%> \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index a82c6b502..033f12ad2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1523,6 +1523,9 @@ en: label_excellent_courses_list: excellent_courses label_course_resource_list: course_resource_list label_project_resource_list: project_resource_list + label_organization_list: organzation_list + label_latest_login_teacher_list: latest_login_teacher_list + label_latest_login_user_list: latest_login_teacher_list #api label_recently_updated_notification: Recently updated notification diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 1e4bdd90e..d36117556 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -563,6 +563,7 @@ zh: label_overall_activity: 活动概览 label_new: 新建 label_latest_login_user_list: 最近登录用户列表 + label_latest_login_teacher_list: 最近登录教师列表 label_logged_as: 登录为 label_environment: 环境 From f8a88767c07aa6ea7c5126d810aaf9625cdd1017 Mon Sep 17 00:00:00 2001 From: linchun Date: Fri, 18 Mar 2016 12:44:16 +0800 Subject: [PATCH 011/180] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 4 ++-- app/views/admin/users.html.erb | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 416088e9a..e9a63b25e 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -108,9 +108,9 @@ class AdminController < ApplicationController case params[:format] when 'xml', 'json' - @offset, @limit = api_offset_and_limit({:limit => 15}) + @offset, @limit = api_offset_and_limit({:limit => 50}) else - @limit = 15#per_page_option + @limit = 50 #per_page_option end @status = params[:status] || 1 diff --git a/app/views/admin/users.html.erb b/app/views/admin/users.html.erb index 12aa95a16..2a757fdee 100644 --- a/app/views/admin/users.html.erb +++ b/app/views/admin/users.html.erb @@ -40,7 +40,10 @@ <%= sort_header_tag('admin', :caption => l(:field_admin), :default_order => 'desc') %> <%= sort_header_tag('created_on', :caption => l(:field_created_on), :default_order => 'desc') %> <%= sort_header_tag('last_login_on', :caption => l(:field_last_login_on), :default_order => 'desc') %> - + <%#= sort_header_tag('user_occupation', :caption => l(:field_occupation), :default_order => 'desc') %> + 用户单位 + + @@ -53,8 +56,11 @@ <%= checked_image user.admin? %> <%= format_time(user.created_on) %> <%= format_time(user.last_login_on) unless user.last_login_on.nil? %> - <%= change_status_link(user) %> - <%= delete_link user_path(user, :back_url => admin_users_path(params)) unless User.current == user %> + <% occupation = user.user_extensions.identity == 0 ? School.where("id=?",user.user_extensions.school_id).first.try(:name) : user.user_extensions.occupation %> + <%= truncate( occupation, :length => 12 ) %> + <%= change_status_link(user) %> + <%= delete_link user_path(user, :back_url => admin_users_path(params)) unless User.current == user %> + <% end -%> From 66a7827eb25e8c93eb5c035e73234dfc3d60d24c Mon Sep 17 00:00:00 2001 From: linchun Date: Fri, 18 Mar 2016 12:55:55 +0800 Subject: [PATCH 012/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E9=A1=B5=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=AD=A6=E6=A0=A1=E5=88=97=E8=A1=A8=E8=B0=83=E6=95=B4=E5=88=86?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 9 +++++++-- app/views/admin/organization.html.erb | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index e9a63b25e..0def99733 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -392,6 +392,11 @@ class AdminController < ApplicationController def organization @organizations = Organization.find_by_sql("SELECT * FROM organizations ORDER BY created_at DESC") #@organizations = Organization.all.order("created_at desc") + @organization_count = @organizations.count + @organization_pages = Paginator.new @organization_count, 30, params['page'] || 1 + @organizations = paginateHelper @organizations,30 + + @page = (params['page'] || 1).to_i - 1 respond_to do |format| format.html end @@ -403,8 +408,8 @@ class AdminController < ApplicationController @schools = School.find_by_sql("SELECT * FROM schools ORDER BY created_at DESC") @school_count = @schools.count - @school_pages = Paginator.new @school_count, 50, params['page'] || 1 - @schools = paginateHelper @schools,50 + @school_pages = Paginator.new @school_count, 30, params['page'] || 1 + @schools = paginateHelper @schools,30 @page = (params['page'] || 1).to_i - 1 respond_to do |format| diff --git a/app/views/admin/organization.html.erb b/app/views/admin/organization.html.erb index fe5fdb391..02b897f80 100644 --- a/app/views/admin/organization.html.erb +++ b/app/views/admin/organization.html.erb @@ -40,4 +40,8 @@ +
    + <%= pagination_links_full @organization_pages, @organization_count ,:per_page_links => true, :remote => false, :flag => true %> +
+ From 2793a9a874f74e67446764663cf2a8db3fc7738d Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Mar 2016 15:39:39 +0800 Subject: [PATCH 013/180] 0 --- app/controllers/users_controller.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 63155e25a..38f1ad152 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -2473,13 +2473,13 @@ class UsersController < ApplicationController # 资源库 分为全部 课程资源 项目资源 附件 def user_resource - @order, @b_sort = params[:order] || "created_on", params[:sort] || "asc" - @score = @b_sort == "desc" ? "asc" : "desc" # 别人的资源库是没有权限去看的 if User.current.id.to_i != params[:id].to_i render_403 return end + @order, @b_sort = params[:order] || "created_on", params[:sort] || "asc" + @score = @b_sort == "desc" ? "asc" : "desc" user_course_ids = User.current.courses.map { |c| c.id} user_project_ids = User.current.projects.map {|p| p.id} # user_org_ids = User.current.organizations.map {|o| o.id} @@ -2563,6 +2563,10 @@ class UsersController < ApplicationController end def import_resources_search + if User.current.id.to_i != params[:id].to_i + render_403 + return + end @resource_id = params[:mul_id] @resource_type = params[:mul_type] @order, @b_sort = params[:order] || "created_on", params[:sort] || "asc" @@ -2571,11 +2575,6 @@ class UsersController < ApplicationController @switch_search = params[:name].nil? ? " " : params[:name] search = "%#{@switch_search.strip.downcase}%" # 别人的资源库是没有权限去看的 - if User.current.id.to_i != params[:id].to_i - render_403 - return - end - @resource_id = params[:mul_id] if(params[:type].blank? || params[:type] == "1") # 我的资源 # 修正:我的资源库的话,那么应该是我上传的所有资源加上,我加入的课程、项目、组织的所有资源 user_course_ids = User.current.courses.map { |c| c.id} From 84703a3e0174a646fb5d98c064e10d24e0ab5628 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Fri, 18 Mar 2016 16:35:36 +0800 Subject: [PATCH 014/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=B7=BB=E5=8A=A0=E6=88=90=E5=91=98=EF=BC=8C?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E4=BD=BF=E7=94=A8https://www=E5=BD=A2?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 4 ++++ app/helpers/org_member_helper.rb | 2 +- app/views/organizations/setting.html.erb | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3a5cdb1a1..0c2b14277 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -3044,3 +3044,7 @@ def is_default_field? field (field.name == 'activity' || field.name == 'course' || field.name == 'project') && field.field_type == 'default' end +def host_with_protocol + return Setting.protocol + "://" + Setting.host_name +end + diff --git a/app/helpers/org_member_helper.rb b/app/helpers/org_member_helper.rb index fd70a0516..e16051eaf 100644 --- a/app/helpers/org_member_helper.rb +++ b/app/helpers/org_member_helper.rb @@ -9,7 +9,7 @@ module OrgMemberHelper principals = paginateHelper scope,10 s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals') links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options| - link_to text, org_member_autocomplete_org_member_index_path(parameters.merge(:q => params[:q],:flag => true,:org=> org, :format => 'js')), :remote => true + link_to text, host_with_protocol + "/org_member/org_member_autocomplete?" + parameters.merge(:q => params[:q],:flag => true,:org=> org, :format => 'js').to_query, :remote => true } s + content_tag('ul', links,:class => 'wlist',:style=>'float:left !important', :id => "org_member_pagination_links" ) end diff --git a/app/views/organizations/setting.html.erb b/app/views/organizations/setting.html.erb index 3ef5d547c..af06c4c22 100644 --- a/app/views/organizations/setting.html.erb +++ b/app/views/organizations/setting.html.erb @@ -96,7 +96,7 @@

添加成员

<%= form_tag url_for(:controller => 'org_member',:action => 'create',:org=>@organization),:id=>'org_member_add_form',:remote=>true do |f|%> - <%= javascript_tag "observeSearchfield('not_org_member_search', null, '#{ escape_javascript org_member_autocomplete_org_member_index_path(:org=>@organization, :format => 'js') }')" %> + <%= javascript_tag "observeSearchfield('not_org_member_search', null, '#{ escape_javascript host_with_protocol + "/org_member/org_member_autocomplete?" + {:org=> @organization.id}.to_query }')" %>
<%= find_user_not_in_current_org_by_name(@project) %>
From 4fa128841174d4eba336f33e7bfd58bedeb96468 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Mon, 21 Mar 2016 12:29:25 +0800 Subject: [PATCH 015/180] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=A0=8F=E7=9B=AE=E5=90=8E=EF=BC=8C=E6=A0=8F=E7=9B=AE=E5=AD=90?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E8=BE=93=E5=85=A5=E6=A1=86=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/org_subfields/create.js.erb | 7 +++---- app/views/organizations/setting.html.erb | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/views/org_subfields/create.js.erb b/app/views/org_subfields/create.js.erb index 84b69717a..3e08d9f9e 100644 --- a/app/views/org_subfields/create.js.erb +++ b/app/views/org_subfields/create.js.erb @@ -4,7 +4,6 @@ :locals => {:subfields => @organization.org_subfields.order("priority") }) %>"); $("#sub_field_left_lists").html(""); $("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>"); - $("#subfield_name").val(""); -<% else %> - $("#subfield_name").val(""); -<% end %> \ No newline at end of file +<% end %> +$("#subfield_name").val(""); +$("#sub_dir").val(""); \ No newline at end of file diff --git a/app/views/organizations/setting.html.erb b/app/views/organizations/setting.html.erb index af06c4c22..854c7d12e 100644 --- a/app/views/organizations/setting.html.erb +++ b/app/views/organizations/setting.html.erb @@ -129,7 +129,7 @@

域名目录(用户自定义url,可选)

<% if domain %> - <%= domain.subname %>.trustie.net/ + <%= domain.subname %>.trustie.net/ <% else %> 您还没有子域名,请先在左侧信息栏申请子域名 <% end %> From e77a891bc618b152ec52c97fe1218038ff08e561 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 21 Mar 2016 16:36:25 +0800 Subject: [PATCH 016/180] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 29 +++++++++---------- ...0160321071740_add_index_to_message_alls.rb | 5 ++++ ...0321073042_add_index_to_course_messages.rb | 5 ++++ ...160321073107_add_index_to_memo_messages.rb | 5 ++++ ...227_add_index_to_user_feedback_messages.rb | 5 ++++ ...60321075815_add_index_to_forge_messages.rb | 5 ++++ ...1080116_add_forgetype_to_forge_messages.rb | 5 ++++ ..._add_usertype_to_user_feedback_messages.rb | 5 ++++ ...321080412_add_memotype_to_memo_messages.rb | 5 ++++ ...0825_add_feed_to_user_feedback_messages.rb | 5 ++++ db/schema.rb | 17 ++++++++++- 11 files changed, 74 insertions(+), 17 deletions(-) create mode 100644 db/migrate/20160321071740_add_index_to_message_alls.rb create mode 100644 db/migrate/20160321073042_add_index_to_course_messages.rb create mode 100644 db/migrate/20160321073107_add_index_to_memo_messages.rb create mode 100644 db/migrate/20160321073227_add_index_to_user_feedback_messages.rb create mode 100644 db/migrate/20160321075815_add_index_to_forge_messages.rb create mode 100644 db/migrate/20160321080116_add_forgetype_to_forge_messages.rb create mode 100644 db/migrate/20160321080336_add_usertype_to_user_feedback_messages.rb create mode 100644 db/migrate/20160321080412_add_memotype_to_memo_messages.rb create mode 100644 db/migrate/20160321080825_add_feed_to_user_feedback_messages.rb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 38f1ad152..d85778e73 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -119,49 +119,46 @@ class UsersController < ApplicationController # @new_message_count = forge_querys.count + forum_querys.count + course_querys.count + user_querys.count case params[:type] when nil + # 系统消息为管理员发送,我的消息中包含有系统消息 @message_alls = [] - messages = MessageAll.where("(user_id =? and message_type !=?) or message_type =?" ,@user, "SystemMessage", "SystemMessage").order("created_at desc") + messages = MessageAll.where("(user_id =? and message_type !=?) or message_type =?" ,@user.id, "SystemMessage", "SystemMessage").includes(:message).order("created_at desc") messages.each do |message_all| @message_alls << message_all.message end when 'unviewed' @message_alls = [] - messages = MessageAll.where("user_id =?", @user).order("created_at desc") + messages = MessageAll.where("user_id =?", @user.id).includes(:message).order("created_at desc") messages.each do |message_all| # 在点击或者刷新消息列表后未读的消息存放在数组 if message_all.message_type != "SystemMessage"&& !message_all.message.nil? && message_all.message.viewed == 0 @message_alls << message_all.message end end - #课程相关消息 when 'homework' - @message_alls = CourseMessage.where("course_message_type in ('HomeworkCommon','StudentWorksScore','JournalsForMessage','StudentWork','Exercise') and user_id =?", @user).order("created_at desc") + @message_alls = CourseMessage.where("course_message_type in ('HomeworkCommon','StudentWorksScore','JournalsForMessage','StudentWork','Exercise') and user_id =?", @user.id).order("created_at desc") when 'course_message' - @message_alls = CourseMessage.where("course_message_type =? and user_id =?", "Message", @user).order("created_at desc") + @message_alls = CourseMessage.where("course_message_type =? and user_id =?", "Message", @user.id).order("created_at desc") when 'course_news' # 课程通知包含发布的通知和回复的通知 - @message_alls = CourseMessage.where("course_message_type in (?, ? ,?)", "News", "Comment", "Course").where("user_id =?", @user).order("created_at desc") + @message_alls = CourseMessage.where("course_message_type in ('News', 'Comment') and user_id =?", @user.id).order("created_at desc") when 'poll' - @message_alls = CourseMessage.where("course_message_type =? and user_id =?", "Poll", @user).order("created_at desc") - + @message_alls = CourseMessage.where("course_message_type =? and user_id =?", "Poll", @user.id).order("created_at desc") #项目相关消息 when 'issue' - @message_alls = ForgeMessage.where("forge_message_type =? or forge_message_type =?" , "Issue", "Journal").where("user_id=?", @user).order("created_at desc") + @message_alls = ForgeMessage.where("forge_message_type in ('Issue', 'Journal') and user_id =?" , @user.id).order("created_at desc") when 'forge_message' - @message_alls = ForgeMessage.where("forge_message_type =? and user_id =?", "Message", @user).order("created_at desc") + @message_alls = ForgeMessage.where("forge_message_type =? and user_id =?", "Message", @user.id).order("created_at desc") when 'forge_news' - @message_alls = ForgeMessage.where("forge_message_type in (?,?) and user_id =?", "News", "Comment", @user).order("created_at desc") + @message_alls = ForgeMessage.where("forge_message_type in (?,?) and user_id =?", "News", "Comment", @user.id).order("created_at desc") when 'apply' - @message_alls = ForgeMessage.where("forge_message_type in ('ProjectInvite', 'AppliedProject', 'JoinProject', 'RemoveFromProject') and user_id =?", @user).order("created_at desc") - + @message_alls = ForgeMessage.where("forge_message_type in ('ProjectInvite', 'AppliedProject', 'JoinProject', 'RemoveFromProject') and user_id =?", @user.id).order("created_at desc") #贴吧消息 when 'forum' - @message_alls = MemoMessage.where("memo_type =? and user_id =?", "Memo", @user).order("created_at desc") - + @message_alls = MemoMessage.where("memo_type =? and user_id =?", "Memo", @user.id).order("created_at desc") #用户留言 when 'user_feedback' - @message_alls = UserFeedbackMessage.where("journals_for_message_type =? and user_id =?", "JournalsForMessage", @user).order("created_at desc") + @message_alls = UserFeedbackMessage.where("journals_for_message_type =? and user_id =?", "JournalsForMessage", @user.id).order("created_at desc") else render_404 return diff --git a/db/migrate/20160321071740_add_index_to_message_alls.rb b/db/migrate/20160321071740_add_index_to_message_alls.rb new file mode 100644 index 000000000..cb204d809 --- /dev/null +++ b/db/migrate/20160321071740_add_index_to_message_alls.rb @@ -0,0 +1,5 @@ +class AddIndexToMessageAlls < ActiveRecord::Migration + def change + add_index :message_alls, [:user_id, :message_id, :message_type, :created_at] + end +end diff --git a/db/migrate/20160321073042_add_index_to_course_messages.rb b/db/migrate/20160321073042_add_index_to_course_messages.rb new file mode 100644 index 000000000..ede54779b --- /dev/null +++ b/db/migrate/20160321073042_add_index_to_course_messages.rb @@ -0,0 +1,5 @@ +class AddIndexToCourseMessages < ActiveRecord::Migration + def change + add_index :course_messages, [:user_id, :course_id, :created_at] + end +end diff --git a/db/migrate/20160321073107_add_index_to_memo_messages.rb b/db/migrate/20160321073107_add_index_to_memo_messages.rb new file mode 100644 index 000000000..59bf69fb5 --- /dev/null +++ b/db/migrate/20160321073107_add_index_to_memo_messages.rb @@ -0,0 +1,5 @@ +class AddIndexToMemoMessages < ActiveRecord::Migration + def change + add_index :memo_messages, [:user_id, :forum_id, :created_at] + end +end diff --git a/db/migrate/20160321073227_add_index_to_user_feedback_messages.rb b/db/migrate/20160321073227_add_index_to_user_feedback_messages.rb new file mode 100644 index 000000000..c067f58d8 --- /dev/null +++ b/db/migrate/20160321073227_add_index_to_user_feedback_messages.rb @@ -0,0 +1,5 @@ +class AddIndexToUserFeedbackMessages < ActiveRecord::Migration + def change + add_index :user_feedback_messages, [:user_id, :created_at] + end +end diff --git a/db/migrate/20160321075815_add_index_to_forge_messages.rb b/db/migrate/20160321075815_add_index_to_forge_messages.rb new file mode 100644 index 000000000..ada345501 --- /dev/null +++ b/db/migrate/20160321075815_add_index_to_forge_messages.rb @@ -0,0 +1,5 @@ +class AddIndexToForgeMessages < ActiveRecord::Migration + def change + add_index :forge_messages, [:user_id, :project_id, :created_at] + end +end diff --git a/db/migrate/20160321080116_add_forgetype_to_forge_messages.rb b/db/migrate/20160321080116_add_forgetype_to_forge_messages.rb new file mode 100644 index 000000000..5dbd96340 --- /dev/null +++ b/db/migrate/20160321080116_add_forgetype_to_forge_messages.rb @@ -0,0 +1,5 @@ +class AddForgetypeToForgeMessages < ActiveRecord::Migration + def change + add_index :forge_messages, [:forge_message_id, :forge_message_type] + end +end diff --git a/db/migrate/20160321080336_add_usertype_to_user_feedback_messages.rb b/db/migrate/20160321080336_add_usertype_to_user_feedback_messages.rb new file mode 100644 index 000000000..6a40ad444 --- /dev/null +++ b/db/migrate/20160321080336_add_usertype_to_user_feedback_messages.rb @@ -0,0 +1,5 @@ +class AddUsertypeToUserFeedbackMessages < ActiveRecord::Migration + def change + add_index :user_feedback_messages, [:journals_for_message_id] + end +end diff --git a/db/migrate/20160321080412_add_memotype_to_memo_messages.rb b/db/migrate/20160321080412_add_memotype_to_memo_messages.rb new file mode 100644 index 000000000..0e79cd8f6 --- /dev/null +++ b/db/migrate/20160321080412_add_memotype_to_memo_messages.rb @@ -0,0 +1,5 @@ +class AddMemotypeToMemoMessages < ActiveRecord::Migration + def change + add_index :memo_messages, [:memo_id, :memo_type] + end +end diff --git a/db/migrate/20160321080825_add_feed_to_user_feedback_messages.rb b/db/migrate/20160321080825_add_feed_to_user_feedback_messages.rb new file mode 100644 index 000000000..98a3e2c3e --- /dev/null +++ b/db/migrate/20160321080825_add_feed_to_user_feedback_messages.rb @@ -0,0 +1,5 @@ +class AddFeedToUserFeedbackMessages < ActiveRecord::Migration + def change + add_index :course_messages, [:course_message_type] + end +end diff --git a/db/schema.rb b/db/schema.rb index 2c55aad61..5eb9edd36 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20160317090350) do +ActiveRecord::Schema.define(:version => 20160321080825) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -465,6 +465,10 @@ ActiveRecord::Schema.define(:version => 20160317090350) do t.integer "status" end + add_index "course_messages", ["course_message_id"], :name => "index_course_messages_on_course_message_id" + add_index "course_messages", ["course_message_type"], :name => "index_course_messages_on_course_message_type" + add_index "course_messages", ["user_id", "course_id", "created_at"], :name => "index_course_messages_on_user_id_and_course_id_and_created_at" + create_table "course_statuses", :force => true do |t| t.integer "changesets_count" t.integer "watchers_count" @@ -741,6 +745,9 @@ ActiveRecord::Schema.define(:version => 20160317090350) do t.integer "status" end + add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type" + add_index "forge_messages", ["user_id", "project_id", "created_at"], :name => "index_forge_messages_on_user_id_and_project_id_and_created_at" + create_table "forums", :force => true do |t| t.string "name", :null => false t.text "description" @@ -1055,6 +1062,9 @@ ActiveRecord::Schema.define(:version => 20160317090350) do t.datetime "updated_at", :null => false end + add_index "memo_messages", ["memo_id", "memo_type"], :name => "index_memo_messages_on_memo_id_and_memo_type" + add_index "memo_messages", ["user_id", "forum_id", "created_at"], :name => "index_memo_messages_on_user_id_and_forum_id_and_created_at" + create_table "memos", :force => true do |t| t.integer "forum_id", :null => false t.integer "parent_id" @@ -1078,6 +1088,8 @@ ActiveRecord::Schema.define(:version => 20160317090350) do t.datetime "updated_at", :null => false end + add_index "message_alls", ["message_id", "message_type", "created_at"], :name => "index_message_alls_on_message_id_and_message_type_and_created_at" + create_table "messages", :force => true do |t| t.integer "board_id", :null => false t.integer "parent_id" @@ -1830,6 +1842,9 @@ ActiveRecord::Schema.define(:version => 20160317090350) do t.datetime "updated_at", :null => false end + add_index "user_feedback_messages", ["journals_for_message_id"], :name => "index_user_feedback_messages_on_journals_for_message_id" + add_index "user_feedback_messages", ["user_id", "created_at"], :name => "index_user_feedback_messages_on_user_id_and_created_at" + create_table "user_grades", :force => true do |t| t.integer "user_id", :null => false t.integer "project_id", :null => false From e06695b56b5c4d40cb8905f91144934ce416cec7 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 21 Mar 2016 16:45:49 +0800 Subject: [PATCH 017/180] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=B4=BB=E8=B7=83?= =?UTF-8?q?=E5=BA=A6=E4=BB=A3=E7=A0=81=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/_course_activity_users.html.erb | 59 ++++++++++++++++ app/views/layouts/base_courses.html.erb | 67 +------------------ 2 files changed, 61 insertions(+), 65 deletions(-) create mode 100644 app/views/courses/_course_activity_users.html.erb diff --git a/app/views/courses/_course_activity_users.html.erb b/app/views/courses/_course_activity_users.html.erb new file mode 100644 index 000000000..a0cac45f7 --- /dev/null +++ b/app/views/courses/_course_activity_users.html.erb @@ -0,0 +1,59 @@ +<% unless contributor_course_scor(course.id).count == 0 %> +
    +

    课程活跃度 + 积分规则 +

    +
    +
    + 积分规则
    + 资源发布:资源数 x 5
    + 问答发布:发帖数 x 2
    + 通知发布:通知数 x 1
    + 问答回复:回复数 x 1
    + 作业留言:留言数 x 1
    + 通知留言:留言数 x 1
    + 课程留言:留言数 x 1
    + 总得分为以上得分之和
    +
    + <% contributor_course_scor(course.id).each do |contributor_score| %> + <% total_score = contributor_score.resource_num.to_i * 5 + contributor_score.message_num.to_i * 2 + + contributor_score.message_reply_num.to_i * 1 + contributor_score.journal_num.to_i * 1 + + + contributor_score.homework_journal_num.to_i * 1 + contributor_score.news_reply_num.to_i * 1 + + contributor_score.news_num.to_i * 1 %> + <% unless total_score ==0 %> +
  • <%=link_to image_tag(url_to_avatar(contributor_score.user), :width => "35", :height => "35", :class=> "rankPortrait"),user_path(contributor_score.user) %> +

    <%=link_to contributor_score.user.show_name, user_path(contributor_score.user.id), :title => contributor_score.user.show_name %>

    +

    + + <%=total_score %>

    + +
  • + <% end %> + <% end %> +
    +
+<% end %> \ No newline at end of file diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 1df3caab2..00f197c7f 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -138,72 +138,9 @@ <% end %>
- <%# 课程贡献榜 %> + <%# 课程活跃度 %>
- <% unless contributor_course_scor(@course.id).count == 0 %> -
    -

    课程活跃度 - 积分规则 -

    -
    -
    - 积分规则
    - 资源发布:资源数 x 5
    - 问答发布:发帖数 x 2
    - 通知发布:通知数 x 1
    - 问答回复:回复数 x 1
    - 作业留言:留言数 x 1
    - 通知留言:留言数 x 1
    - 课程留言:留言数 x 1
    - 总得分为以上得分之和
    -
    - - <% contributor_course_scor(@course.id).each do |contributor_score| %> - <% total_score = contributor_score.resource_num.to_i * 5 + contributor_score.message_num.to_i * 2 + - contributor_score.message_reply_num.to_i * 1 + contributor_score.journal_num.to_i * 1 + - + contributor_score.homework_journal_num.to_i * 1 + contributor_score.news_reply_num.to_i * 1 + - contributor_score.news_num.to_i * 1 %> - <% unless total_score ==0 %> -
  • <%=link_to image_tag(url_to_avatar(contributor_score.user), :width => "35", :height => "35", :class=> "rankPortrait"),user_path(contributor_score.user) %> -

    <%=link_to contributor_score.user.show_name, user_path(contributor_score.user.id), :title => contributor_score.user.show_name %>

    -

    - - <%=total_score %>

    - -
  • - <% end %> - <% end %> -
    -
- <% end %> + <%= render :partial => 'courses/course_activity_users', :locals => {:course => @course} %> <% hero_homework_scores = hero_homework_score(@course, "desc") %> <% unless hero_homework_scores.map(&:score).detect{|s| s.to_i != 0}.nil? %> From 70d594659e9284ebe1193fc968421c421f776b50 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 21 Mar 2016 16:50:24 +0800 Subject: [PATCH 018/180] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=8B=B1=E9=9B=84?= =?UTF-8?q?=E6=A6=9C=E4=BB=A3=E7=A0=81=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_course_heroes.html.erb | 21 ++++++++++++++++++++ app/views/layouts/base_courses.html.erb | 24 ++--------------------- 2 files changed, 23 insertions(+), 22 deletions(-) create mode 100644 app/views/courses/_course_heroes.html.erb diff --git a/app/views/courses/_course_heroes.html.erb b/app/views/courses/_course_heroes.html.erb new file mode 100644 index 000000000..5e9851594 --- /dev/null +++ b/app/views/courses/_course_heroes.html.erb @@ -0,0 +1,21 @@ +<% hero_homework_scores = hero_homework_score(course, "desc") %> +<% unless hero_homework_scores.map(&:score).detect{|s| s.to_i != 0}.nil? %> + +<% end %> \ No newline at end of file diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 00f197c7f..ff7f20300 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -141,28 +141,8 @@ <%# 课程活跃度 %>
<%= render :partial => 'courses/course_activity_users', :locals => {:course => @course} %> - - <% hero_homework_scores = hero_homework_score(@course, "desc") %> - <% unless hero_homework_scores.map(&:score).detect{|s| s.to_i != 0}.nil? %> - - <% end %> + <%# 课程英雄榜 %> + <%= render :partial => 'courses/course_heroes', :locals => {:course => @course} %> <% if @course.description && !@course.description.blank? %>
From 44549e091d19741df725a4eb61f17f9f654bb94a Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 21 Mar 2016 16:54:12 +0800 Subject: [PATCH 019/180] =?UTF-8?q?message=5Fall=E8=A1=A8=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0type=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/migrate/20160321071740_add_index_to_message_alls.rb | 2 +- db/migrate/20160321085313_add_index_mtye_to_message_alls.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20160321085313_add_index_mtye_to_message_alls.rb diff --git a/db/migrate/20160321071740_add_index_to_message_alls.rb b/db/migrate/20160321071740_add_index_to_message_alls.rb index cb204d809..d3e095da5 100644 --- a/db/migrate/20160321071740_add_index_to_message_alls.rb +++ b/db/migrate/20160321071740_add_index_to_message_alls.rb @@ -1,5 +1,5 @@ class AddIndexToMessageAlls < ActiveRecord::Migration def change - add_index :message_alls, [:user_id, :message_id, :message_type, :created_at] + add_index :message_alls, [:user_id, :message_id, :created_at] end end diff --git a/db/migrate/20160321085313_add_index_mtye_to_message_alls.rb b/db/migrate/20160321085313_add_index_mtye_to_message_alls.rb new file mode 100644 index 000000000..8f5c734c4 --- /dev/null +++ b/db/migrate/20160321085313_add_index_mtye_to_message_alls.rb @@ -0,0 +1,5 @@ +class AddIndexMtyeToMessageAlls < ActiveRecord::Migration + def change + add_index :message_alls, [:message_type] + end +end From e20fe85ddff0a915bf5e6d5898f0dae9fd807760 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 21 Mar 2016 18:16:50 +0800 Subject: [PATCH 020/180] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=8E=BB=E6=8E=89tip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_user_at_message.html.erb | 7 - app/views/users/_user_message_course.html.erb | 320 +----------------- app/views/users/_user_message_forge.html.erb | 106 +----- app/views/users/_user_message_forum.html.erb | 14 - app/views/users/_user_message_system.html.erb | 8 - .../_user_message_userfeedaback.html.erb | 1 - 6 files changed, 16 insertions(+), 440 deletions(-) diff --git a/app/views/users/_user_at_message.html.erb b/app/views/users/_user_at_message.html.erb index 089171c3d..8f0c6acaf 100644 --- a/app/views/users/_user_at_message.html.erb +++ b/app/views/users/_user_at_message.html.erb @@ -21,13 +21,6 @@ <%= link_to ma.subject.html_safe, ma.url, :class =>"#{ma.viewed? ? "newsGrey" : "newsBlack"}", :onmouseover =>"message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %> <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index 7de1ce417..e042cd738 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -9,13 +9,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -29,13 +22,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -58,43 +44,6 @@ <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -110,24 +59,6 @@ -
  •    截止时间快到啦
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -148,22 +79,6 @@ :onmouseover => "message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -179,22 +94,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -214,18 +113,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -240,9 +127,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -252,37 +136,13 @@
  • <%=link_to ma.course_message.author, user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher" %>"> <%= ma.course_message.parent_id.nil? ? "发布了课程帖子:" : "评论了课程帖子:" %>
  • - <% if ma.course_message.parent_id.nil? %> -
  • - <%= link_to ma.course_message.subject, course_boards_path(ma.course_message.course, :parent_id => ma.course_message.parent_id ? ma.course_message.parent_id : ma.course_message.id, :topic_id => ma.course_message.id), - :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %> - - -
  • - - <% else %> -
  • - <%= link_to ma.course_message.content.html_safe, course_boards_path(ma.course_message.course, :parent_id => ma.course_message.parent_id ? ma.course_message.parent_id : ma.course_message.id, :topic_id => ma.course_message.id), - :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %> - - -
  • - - <% end %> +
  • + <%= link_to ma.course_message.subject, course_boards_path(ma.course_message.course, :parent_id => ma.course_message.parent_id ? ma.course_message.parent_id : ma.course_message.id, :topic_id => ma.course_message.id), + :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %> + + +
  • <%= time_tag(ma.created_at).html_safe %>
  • - <% end %> <% if ma.course_message_type == "StudentWorksScore" %> @@ -312,28 +172,9 @@ - <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • - +
  • <%= time_tag(ma.created_at).html_safe %>
  • + <% end %> <% if ma.course_message_type == "JournalsForMessage" %> <% if ma.course_message.jour_type == 'Course' %> @@ -352,9 +193,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -375,18 +213,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -406,20 +232,6 @@ -
  •   您成功提交了作品(但被标记为迟交啦)
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -440,23 +252,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -474,16 +269,6 @@ -
  • <% if ma.status == 0 || ma.status.nil?%> @@ -519,15 +304,6 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -548,20 +324,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -582,20 +344,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -616,21 +364,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -647,27 +380,6 @@ - -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -683,23 +395,7 @@ <%= link_to "测验题目:" + ma.course_message.exercise_name, exercise_path(:id => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}" %> - - -
  • 截止时间快到啦
  • <%= time_tag(ma.created_at).html_safe %>
  • diff --git a/app/views/users/_user_message_forge.html.erb b/app/views/users/_user_message_forge.html.erb index 574411055..1fd981d73 100644 --- a/app/views/users/_user_message_forge.html.erb +++ b/app/views/users/_user_message_forge.html.erb @@ -15,9 +15,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -38,21 +35,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -74,21 +56,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -114,9 +81,6 @@ - <% unless User.current.member_of?(ma.project) %>
  • <%=link_to "同意加入", {:controller => 'projects', :action => 'member', :id => ma.project_id, :message_id =>ma.id, :key => ma.secret_key}, @@ -144,13 +108,6 @@
  • -
  •    截止时间快到了!
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -169,13 +126,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -197,11 +147,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -210,37 +155,14 @@
  • <%=link_to image_tag(url_to_avatar(ma.forge_message.author), :width => "30", :height => "30"), user_path(ma.forge_message.author) %>
  • <%=link_to ma.forge_message.author, user_path(ma.forge_message.author), :class => "newsBlue homepageNewsPublisher" %> "><%= ma.forge_message.parent_id.nil? ? "发布了项目帖子:" : "评论了项目帖子:" %>
  • - <% if ma.forge_message.parent_id.nil? %> -
  • - <%= link_to ma.forge_message.subject, project_boards_path(ma.forge_message.project, - :parent_id => ma.forge_message.parent_id ? ma.forge_message.parent_id : ma.forge_message.id, - :topic_id => ma.forge_message.id), :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %> - - -
  • - - <% else %> -
  • - <%= link_to ma.forge_message.subject, project_boards_path(ma.forge_message.project, - :parent_id => ma.forge_message.parent_id ? ma.forge_message.parent_id : ma.forge_message.id, - :topic_id => ma.forge_message.id), :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %> - - -
  • - - <% end %> +
  • + <%= link_to ma.forge_message.subject, project_boards_path(ma.forge_message.project, + :parent_id => ma.forge_message.parent_id ? ma.forge_message.parent_id : ma.forge_message.id, + :topic_id => ma.forge_message.id), :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %> + + + +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -260,13 +182,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -281,11 +196,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> diff --git a/app/views/users/_user_message_forum.html.erb b/app/views/users/_user_message_forum.html.erb index d18292068..716fef349 100644 --- a/app/views/users/_user_message_forum.html.erb +++ b/app/views/users/_user_message_forum.html.erb @@ -15,13 +15,6 @@ - <% else %>
  • <%= link_to ma.memo.content.html_safe, forum_memo_path(ma.memo.forum_id, ma.memo.parent_id ? ma.memo.parent_id: ma.memo.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}" %> @@ -29,13 +22,6 @@
  • - <% end %>
  • <%= time_tag(ma.memo.created_at).html_safe %>
  • diff --git a/app/views/users/_user_message_system.html.erb b/app/views/users/_user_message_system.html.erb index a80d35bd4..72241636f 100644 --- a/app/views/users/_user_message_system.html.erb +++ b/app/views/users/_user_message_system.html.erb @@ -15,14 +15,6 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • <%# end %> diff --git a/app/views/users/_user_message_userfeedaback.html.erb b/app/views/users/_user_message_userfeedaback.html.erb index 894eedbfc..1898090aa 100644 --- a/app/views/users/_user_message_userfeedaback.html.erb +++ b/app/views/users/_user_message_userfeedaback.html.erb @@ -24,7 +24,6 @@ <% end %>
  • <%= time_tag(ma.journals_for_message.created_on).html_safe %>
  • - <% end %> <% end %> \ No newline at end of file From 341308658da0423cac9e28400af07974c384ba7e Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 22 Mar 2016 10:48:37 +0800 Subject: [PATCH 021/180] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=9B=B4=E6=96=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 2ced977be..f74350672 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -560,18 +560,9 @@ class ProjectsController < ApplicationController end def update_message_status(user, project) - project_invite_messages = ForgeMessage.where("user_id =? and project_id =? and forge_message_type =?", user, project, "ProjectInvite") - project_invite_messages.each do |project_invite_message| - project_invite_message.update_attribute(:viewed, true) - end - #更新被加入项目消息的viewed字段 - join_project_messages = ForgeMessage.where("user_id =? and project_id =? and forge_message_type=?", user, project, "JoinProject") - join_project_messages.each do |join_project| - join_project.update_attribute(:viewed, true) - end - #更新被移出项目消息的viewed字段 - remove_project_messages = ForgeMessage.where("user_id =? and project_id =? and forge_message_type=?", user, project, "RemoveFromProject") - remove_project_messages.update_all(:viewed => true) + # 更新加入项目消息 + project__messages = ForgeMessage.where("forge_message_type in ('ProjectInvite', 'JoinProject', 'RemoveFromProject') and user_id =? and project_id =? ", user, project) + project__messages.update_all(:viewed => true) unless project__messages.blank? end def message_invite(message_id, key) From 478311128d52613d4f78df7ab6a736818877ee83 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 22 Mar 2016 12:42:53 +0800 Subject: [PATCH 022/180] =?UTF-8?q?=E4=BC=98=E5=8C=96project=5Fcontroller?= =?UTF-8?q?=20show=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 2 +- app/controllers/projects_controller.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index dfa30915e..515b94392 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -852,7 +852,7 @@ class CoursesController < ApplicationController # return # end # 统计访问量 - @course.update_attribute(:visits, @course.visits.to_i + 1) + @course.update_column(:visits, @course.visits.to_i + 1) #更新创建课程消息状态 create_course_messages = @course.course_messages.where("user_id =? and course_message_type =? and course_id =? and viewed =?", User.current.id, 'Course', @course.id, 0) create_course_messages.update_all(:viewed => true) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index f74350672..fe7d4bbe5 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -295,11 +295,13 @@ class ProjectsController < ApplicationController def show # 更新消息为已读 update_message_status(User.current, @project) + # over if params[:jump] && redirect_to_project_menu_item(@project, params[:jump]) return end # 统计访问量 - @project.update_attribute(:visits, @project.visits.to_i + 1) + @project.update_column(:visits, @project.visits + 1) + # over @author = params[:user_id].blank? ? nil : User.active.find(params[:user_id]) @page = params[:page] ? params[:page].to_i + 1 : 0 # 根据私密性,取出符合条件的所有数据 @@ -321,8 +323,6 @@ class ProjectsController < ApplicationController = ? and forge_act_type != ? ",@project,1, "Document").order("created_at desc") .page(params['page'|| 1]).per(10); end - boards = @project.boards.includes(:last_message => :author).all - @topic_count = @project.boards.count # 根据对应的请求,返回对应的数据 respond_to do |format| format.html From 675b1ad40392e805a84c67a5d28d622940208e6e Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 22 Mar 2016 13:51:19 +0800 Subject: [PATCH 023/180] =?UTF-8?q?1.=E7=BB=84=E7=BB=87=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E8=BE=93=E5=85=A5=E7=BB=84=E7=BB=87=E5=90=8D?= =?UTF-8?q?=E5=AD=97=E3=80=81=E5=AD=90=E6=A0=8F=E7=9B=AE=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E5=90=8E=EF=BC=8C=E8=87=AA=E5=8A=A8=E5=8F=98?= =?UTF-8?q?=E6=88=90=E5=B0=8F=E5=86=99=E5=AD=97=E6=AF=8D=EF=BC=9B2.?= =?UTF-8?q?=E5=B0=86=E6=89=80=E6=9C=89=E5=AD=90=E5=9F=9F=E5=90=8D=E5=8F=8A?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E7=9B=AE=E5=BD=95=E6=94=B9=E6=88=90=E5=B0=8F?= =?UTF-8?q?=E5=86=99=EF=BC=9B3.=E7=BB=84=E7=BB=87=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=AD=90=E6=A0=8F=E7=9B=AE?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E7=82=B9?= =?UTF-8?q?=E7=A1=AE=E5=AE=9A=EF=BC=8C=E8=BE=93=E5=85=A5=E6=A1=86=E7=9A=84?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E4=BF=9D=E6=8C=81=E4=B8=8D=E5=8F=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/org_subfields_controller.rb | 2 +- .../organizations/_subfield_list.html.erb | 11 +++++- app/views/organizations/setting.html.erb | 35 +++++++++++++------ ...2032610_change_domain_name_to_lowercase.rb | 14 ++++++++ 4 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 db/migrate/20160322032610_change_domain_name_to_lowercase.rb diff --git a/app/controllers/org_subfields_controller.rb b/app/controllers/org_subfields_controller.rb index ba4c1f18f..bc339319b 100644 --- a/app/controllers/org_subfields_controller.rb +++ b/app/controllers/org_subfields_controller.rb @@ -11,7 +11,7 @@ class OrgSubfieldsController < ApplicationController sql = "select subfield_subdomain_dirs.* from subfield_subdomain_dirs, org_subfields where subfield_subdomain_dirs.org_subfield_id = org_subfields.id "+ "and org_subfields.organization_id=#{@organization.id} and subfield_subdomain_dirs.name='#{params[:sub_dir]}'" if SubfieldSubdomainDir.find_by_sql(sql).count == 0 - SubfieldSubdomainDir.create(:org_subfield_id => @subfield.id, :name => params[:sub_dir]) + SubfieldSubdomainDir.create(:org_subfield_id => @subfield.id, :name => params[:sub_dir].downcase) end end @subfield.update_attributes(:field_type => params[:field_type]) diff --git a/app/views/organizations/_subfield_list.html.erb b/app/views/organizations/_subfield_list.html.erb index 0d490df77..133217c70 100644 --- a/app/views/organizations/_subfield_list.html.erb +++ b/app/views/organizations/_subfield_list.html.erb @@ -54,7 +54,7 @@ <% end %> <%#= link_to "隐藏", hide_org_subfield_organizations_path(field), :method => 'post', :remote => true, :id => "hide_#{field.id}", :class => "linkBlue fr mr5" %> @@ -85,6 +85,9 @@ url: "/org_subfields/" + field_id + "?name=" + input_value, type: 'put' }); + else{ + $(edit_id).children("input").val($(show_id).html().trim()); + } } $(show_id).show(); $(edit_id).hide(); @@ -109,6 +112,9 @@ url: "/org_subfields/" + field_id + "/update_sub_dir?sub_dir_name=" + input_value, type: 'put' }); + else{ + $(edit_id).children("input").val($(show_id).html().trim()); + } } $(show_id).show(); $(edit_id).hide(); @@ -134,6 +140,9 @@ type: 'put' }); } + else{ + $(edit_id).children("input").val($(show_id).html().trim()); + } } else { diff --git a/app/views/organizations/setting.html.erb b/app/views/organizations/setting.html.erb index 854c7d12e..ce02a0557 100644 --- a/app/views/organizations/setting.html.erb +++ b/app/views/organizations/setting.html.erb @@ -57,7 +57,7 @@
    组织URL:
    http:// - + .trustie.net申请 <% record = OrgMessage.where("organization_id=? and message_type='ApplySubdomain'", @organization.id).order("updated_at desc").first %> <% if domain.present? and record.present? and record.content == domain.subname %> @@ -129,9 +129,9 @@

    域名目录(用户自定义url,可选)

    <% if domain %> - <%= domain.subname %>.trustie.net/ + <%= domain.subname %>.trustie.net/ <% else %> - 您还没有子域名,请先在左侧信息栏申请子域名 + 您还没有子域名,请先在左侧信息栏申请子域名 <% end %>
    @@ -195,12 +195,25 @@ } } -// $(document).ready(function(){ -// if ( $("#is_public").attr("checked") != true){ -// alert($(this).attr("checked")); -// $("#allow_download").attr("checked", false); -// $("#allow_download").attr("disabled", true); -// $("#allow_down_hint").html(""); -// } -// }); + //输入子域名或者二级目录,自动将输入换成小写 + function observe_input_to_lowercase(id){ + $(id).each(function(){ + var $this = $(this); + var old_input = $this.val(); + var check=function(){ + var val = $this.val(); + if ( old_input != val){ + $this.val(val.toLowerCase()); + old_input = val.toLowerCase(); + } + }; + var reset = function() { + if (timer) { + clearInterval(timer); + } + }; + var timer = setInterval(check, 300); + $this.bind('blur', reset); + }); + } \ No newline at end of file diff --git a/db/migrate/20160322032610_change_domain_name_to_lowercase.rb b/db/migrate/20160322032610_change_domain_name_to_lowercase.rb new file mode 100644 index 000000000..35a82477d --- /dev/null +++ b/db/migrate/20160322032610_change_domain_name_to_lowercase.rb @@ -0,0 +1,14 @@ +class ChangeDomainNameToLowercase < ActiveRecord::Migration + def up + Secdomain.all.each do |domain| + domain.update_attribute(:subname, domain.subname.downcase) + end + + SubfieldSubdomainDir.all.each do |dir| + dir.update_attribute(:name, dir.name.downcase) + end + end + + def down + end +end From fcb189d874d854938cfba19ec276b60f1b38936f Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 22 Mar 2016 14:10:36 +0800 Subject: [PATCH 024/180] =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=A0=8F=E7=9B=AE=E7=9A=84=E9=A1=BA=E5=BA=8F=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organizations/_subfield_list.html.erb | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/app/views/organizations/_subfield_list.html.erb b/app/views/organizations/_subfield_list.html.erb index 133217c70..d907ac33e 100644 --- a/app/views/organizations/_subfield_list.html.erb +++ b/app/views/organizations/_subfield_list.html.erb @@ -134,19 +134,13 @@ function update_priority(show_id, edit_id, field_id, input_value){ var re = /^[0-9]*[1-9]*[0-9]$/ if(re.test(input_value) && $(show_id).html().trim() != input_value.trim() && input_value.trim() != ''){ - if(confirm("确定修改为" + input_value + "?")){ - $.ajax({ - url: "/org_subfields/" + field_id + "/update_priority?priority=" + input_value, - type: 'put' - }); - } - else{ - $(edit_id).children("input").val($(show_id).html().trim()); - } + $.ajax({ + url: "/org_subfields/" + field_id + "/update_priority?priority=" + input_value, + type: 'put' + }); } - else - { - $(edit_id).find("input").val($(show_id).html().trim()); + else{ + $(edit_id).children("input").val($(show_id).html().trim()); } $(show_id).show(); $(edit_id).hide(); From 7967066b05db8bc4568f1a715ea1b0e086ec61a9 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 22 Mar 2016 15:06:54 +0800 Subject: [PATCH 025/180] =?UTF-8?q?=E9=99=84=E4=BB=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=8F=91=E9=80=81=E6=96=B9=E5=BC=8F=E6=94=B9?= =?UTF-8?q?=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/files_controller.rb | 13 +++++++------ app/models/attachment.rb | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index 7ae1b85f8..69b356b5a 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -458,10 +458,16 @@ class FilesController < ApplicationController if params[:in_project_toolbar] @in_project_toolbar = params[:in_project_toolbar] end - # 发送邮件 attachments = Attachment.attach_filesex(@project, params[:attachments], params[:attachment_type]) if !attachments.empty? && !attachments[:files].blank? && Setting.notified_events.include?('file_added') + # 发送邮件 Mailer.run.attachments_added(attachments[:files]) + # 生成动态 + attachments[:files].each do |file| + ForgeActivity.create(:user_id => User.current.id, :project_id => @project.id, :forge_act_id => file.id, :forge_act_type => "Attachment") + end + # 更新资源总数, 根据上传的附件数累加 + @project.project_score.update_attribute(:attach_num, @project.project_score.attach_num + attachments[:files].count) unless @project.project_score.nil? end # end if params[:project_attachment_type] && params[:project_attachment_type].is_a?(Array) @@ -485,11 +491,6 @@ class FilesController < ApplicationController end end end - # 更新资源总数, 根据上传的附件数累加 - unless @project.project_score.nil? - @project.project_score.update_attribute(:attach_num, @project.project_score.attach_num + attachments[:files].count) - end - # end # TODO: 临时用 nyan sort_init 'created_on', 'desc' sort_update 'created_on' => "#{Attachment.table_name}.created_on", diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 714da9920..881621c3a 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -90,7 +90,7 @@ class Attachment < ActiveRecord::Base @@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails") before_save :files_to_final_location - after_save :act_as_course_activity,:act_as_forge_activity + after_save :act_as_course_activity after_create :office_conver, :be_user_score,:create_attachment_ealasticsearch_index after_update :office_conver, :be_user_score,:update_attachment_ealasticsearch_index after_destroy :delete_from_disk,:down_user_score,:delete_attachment_ealasticsearch_index, :decrease_attchments_count, :down_course_score From f90b25b23044091eb60aefefcd309589f715faaa Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 22 Mar 2016 15:50:06 +0800 Subject: [PATCH 026/180] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E7=94=A8=E6=88=B7=E5=90=8D=E7=9C=81=E7=95=A5=E5=8F=B7?= =?UTF-8?q?=E5=A4=AA=E6=97=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/attachments/_activity_attach.html.erb | 4 ++-- public/stylesheets/courses.css | 1 + public/stylesheets/new_user.css | 1 + public/stylesheets/public.css | 3 ++- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/views/attachments/_activity_attach.html.erb b/app/views/attachments/_activity_attach.html.erb index 32e796382..3cc429185 100644 --- a/app/views/attachments/_activity_attach.html.erb +++ b/app/views/attachments/_activity_attach.html.erb @@ -3,14 +3,14 @@
    - <%= link_to_short_attachment attachment,:length=> 58, :class => 'hidden link_file_a fl newsBlue mw400', :download => true -%> + <%= link_to_short_attachment attachment,:length=> 58, :class => 'hidden link_file_a fl newsBlue mw380', :download => true -%> ( <%= number_to_human_size attachment.filesize %>) - <%= link_to h(truncate(attachment.author.name, length: 10, omission: '...')),user_path(attachment.author),:class => "c_orange" %>, + <%= link_to h(truncate(attachment.author.name, length: 15, omission: '...')),user_path(attachment.author),:class => "c_orange" %>, <%= format_time(attachment.created_on) %>
    diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 7dd3fd74f..b4d07f64f 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -419,6 +419,7 @@ a:hover.ping_sub{ background:#14a8b9;} /*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/ .list_style ol li{list-style-type: decimal;margin-left: 20px;} .list_style ul li{list-style-type: disc;margin-left: 20px;} +span.author { font-size: 0.9em; color: #888; } /* 创建作品 work */ .Newwork{ width:668px; height:418px;} diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index 94e3fa85a..c455a5998 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -99,6 +99,7 @@ a.linkGrey6:hover {color:#ffffff !important;} .mr40{ margin-right:40px !important;} .mr65 {margin-right: 65px;} .mw20{ margin: 0 20px;} +.mw380 {max-width: 380px !important;} .mw400 {max-width: 400px !important;} .mt-20 {margin-top:-20px;} .mt-4 {margin-top: -4px;} diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 0a3732ced..9d37dc1cb 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -180,6 +180,7 @@ h4{ font-size:14px; color:#3b3b3b;} .h150{ height:150px;} .p10 {padding-left:10px; padding-right:10px;} .mw360 {max-width: 360px !important;} +.mw380 {max-width: 380px !important;} .mw400 {max-width: 400px !important;} .mh18 {max-height: 18px;} @@ -1136,4 +1137,4 @@ a.program-btn{background: url(../images/homepage_icon.png) -86px -393px no-repea .mediaIco{margin: 30px 0 30px 20px;width: 200px;} /*排序样式*/ a.st_up{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 0 no-repeat; margin-top:5px; margin-left:3px;} -a.st_down{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 -22px no-repeat; margin-top:5px; margin-left:3px;} +a.st_down{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 -22px no-repeat; margin-top:5px; margin-left:3px;} From aa1cbcdf878dfb7d01371d33a8e4cf4a37bb67d9 Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 22 Mar 2016 16:44:53 +0800 Subject: [PATCH 027/180] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=8A=A0=E5=85=A5=E4=B8=AA=E4=BA=BA=E5=8A=A8?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 4 +++- app/views/users/_user_activities.html.erb | 4 +++- app/views/users/show.html.erb | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 9039fd041..52a610bc5 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1223,7 +1223,7 @@ class UsersController < ApplicationController @page = params[:page] ? params[:page].to_i + 1 : 0 user_project_ids = (@user.projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" user_course_ids = (@user.courses.visible.map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.courses.visible.map{|course| course.id}-shield_course_ids).join(",") + ")" - course_types = "('Message','News','HomeworkCommon','Poll','Course')" + course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" project_types = "('Message','Issue','ProjectCreateInfo')" principal_types = "JournalsForMessage" if params[:type].present? @@ -1236,6 +1236,8 @@ class UsersController < ApplicationController @user_activities = UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'Message'").order('updated_at desc').limit(10).offset(@page * 10) when "course_poll" @user_activities = UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'Poll'").order('updated_at desc').limit(10).offset(@page * 10) + when "course_journals" + @user_activities = UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'JournalsForMessage'").order('updated_at desc').limit(10).offset(@page * 10) when "project_issue" @user_activities = UserActivity.where("container_type = 'Project' and container_id in #{user_project_ids} and act_type = 'Issue'").order('updated_at desc').limit(10).offset(@page * 10) when "project_message" diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb index eb73f9226..83d2527cf 100644 --- a/app/views/users/_user_activities.html.erb +++ b/app/views/users/_user_activities.html.erb @@ -69,7 +69,9 @@ <% when 'Poll' %> <%= render :partial => 'course_poll', :locals => {:activity => act, :user_activity_id => user_activity.id} %> <% when 'Course'%> - <%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => act.id} %> + <%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => user_activity.id} %> + <% when 'JournalsForMessage'%> + <%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => user_activity.id} %> <% end %> <% end %> <% when 'Project' %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index fa4eaacbe..2fe9ab079 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -14,6 +14,7 @@
  • <%= link_to "论坛动态", {:controller => "users", :action => "show", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey"%>
  • <%= link_to "问卷动态", {:controller => "users", :action => "show", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey"%> +
  • <%= link_to "课程留言", {:controller => "users", :action => "show", :type => "course_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%> @@ -30,7 +31,7 @@
    • 更多
    • -
    • <%= link_to "留言动态", {:controller => "users", :action => "show", :type => "user_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%> +
    • <%= link_to "个人留言", {:controller => "users", :action => "show", :type => "user_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%>
    • <%= link_to "我的动态", {:controller => "users", :action => "show", :type => "current_user"}, :class =>"homepagePostTypeMine postTypeGrey"%>
    • <%= link_to "全部动态", {:controller => "users", :action => "show", :type => nil}, :class =>"homepagePostTypeAll postTypeGrey"%>
    From 9273e37a5b8c1effd20a1e5e7a3866606f3ce6ea Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Wed, 23 Mar 2016 00:04:53 +0800 Subject: [PATCH 028/180] =?UTF-8?q?=E4=BC=98=E5=8C=96SQL=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=EF=BC=9A1=EF=BC=8Cmembers=E4=B8=8Eusers=E8=A1=A8=E5=85=B3?= =?UTF-8?q?=E8=81=94=E6=9F=A5=E8=AF=A2=EF=BC=9B=202=EF=BC=8Cblogs=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 7 ++++++- app/helpers/issues_helper.rb | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index d85778e73..6802a2bd0 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1250,7 +1250,12 @@ class UsersController < ApplicationController end else # @user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id})").order('updated_at desc').limit(10).offset(@page * 10) - blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + # blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + # 减少数据库交互 + user_ids = "(" + @user.id.to_s + "," + User.watched_by(@user.id).map{|u| u.id }.join(',') + ")" + watched_user_blog_ids = Blog.select("id").where("author_id in #{user_ids}").map { |blog| blog.id}.join(",") + blog_ids = "(" + watched_user_blog_ids + ")" + @user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 4ad3cb49d..1cd22558b 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -111,9 +111,9 @@ module IssuesHelper def principals_options_for_isuue_list(project) if User.current.member_of?(project) - project.members.order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["<< #{l(:label_me)} >>", User.current.id]).unshift(["指派给", 0]) + project.members.includes(:user).order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["<< #{l(:label_me)} >>", User.current.id]).unshift(["指派给", 0]) else - project.members.order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["指派给", 0]) + project.members.includes(:user).order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["指派给", 0]) end end From 6b3e9ba4b307d3056b6a60be4608a5b929e3239e Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Wed, 23 Mar 2016 14:29:30 +0800 Subject: [PATCH 029/180] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E7=82=B9=E5=87=BB=E7=A7=81=E6=9C=89=E6=88=96?= =?UTF-8?q?=E8=80=85=E5=85=AC=E5=BC=80=E9=80=89=E9=A1=B9=EF=BC=8C=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E6=B8=B8=E5=AE=A2=E4=B8=8B=E8=BD=BD=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E5=8F=8A=E6=97=B6=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/organizations/new.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/organizations/new.html.erb b/app/views/organizations/new.html.erb index e12bf3849..b0c961d82 100644 --- a/app/views/organizations/new.html.erb +++ b/app/views/organizations/new.html.erb @@ -30,7 +30,7 @@
  • - + (打钩为公开,不打钩则不公开,若不公开,仅组织成员可见该组织。)
  • From fe35bb3b44b76e5d8c405f0bc872708dffb721f4 Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 23 Mar 2016 14:42:27 +0800 Subject: [PATCH 030/180] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E6=89=93=E5=BC=80?= =?UTF-8?q?=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8=E6=8A=A5500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/student_work/_programing_work_show.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/student_work/_programing_work_show.html.erb b/app/views/student_work/_programing_work_show.html.erb index 20d6df9ba..6bcda51da 100644 --- a/app/views/student_work/_programing_work_show.html.erb +++ b/app/views/student_work/_programing_work_show.html.erb @@ -59,7 +59,7 @@ <% if x["status"].to_i != 0 %> 测试错误! 您的输出: -
    <%=x["result"]%>
    +
    <%=x["result"].force_encoding("UTF-8")%>
    正确输出:
    <%=x["output"]%>
    From 1579a86f9fbabe0741d8237b6e01fb0cd9f61f42 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Wed, 23 Mar 2016 17:19:25 +0800 Subject: [PATCH 031/180] =?UTF-8?q?=E8=80=81=E5=B8=88=E7=BB=99=E5=AD=A6?= =?UTF-8?q?=E7=94=9F=E7=9A=84=E4=BD=9C=E5=93=81=E6=89=93=E5=88=86=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E5=AD=A6=E7=94=9F=E5=86=8D=E6=AC=A1=E7=BC=96=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E8=A6=81=E7=BB=99=E8=80=81=E5=B8=88=E5=92=8C=E5=8A=A9?= =?UTF-8?q?=E6=95=99=E5=8F=91=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 9 ++++++++ app/controllers/users_controller.rb | 1 + app/helpers/application_helper.rb | 14 ++++++++++++ app/views/users/_user_message_course.html.erb | 22 +++++++++++++++++++ 4 files changed, 46 insertions(+) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index a698823e5..9cdb1fc07 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -63,6 +63,13 @@ class StudentWorkController < ApplicationController homework_message.update_attributes(:viewed => true) if homework_message.viewed == 0 end end + + #修改作品提示消息更新 + student_work_messages = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, StudentWork.name, 0) + student_work_messages.each do |message| + message.update_attribute(:viewed, true) + end + # 作品打分消息状态更新 studentworks_scores = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, "StudentWorksScore", 0) studentworks_scores.each do |studentworks_score| @@ -369,6 +376,8 @@ class StudentWorkController < ApplicationController @work.save_attachments(params[:attachments]) render_attachment_warning_if_needed(@work) if @work.save + #如果学生作品被打分后修改,应该给老师提示 + send_message_to_teacher(@work) if @homework.homework_type == 3 @student_work_project = @homework.student_work_projects.where("user_id=?",User.current.id).first student_work_projects = @homework.student_work_projects.where("student_work_id=? and is_leader =?",@work.id,0) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index d05867427..d9a0709b9 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -717,6 +717,7 @@ class UsersController < ApplicationController end student_work.save + send_message_to_teacher(student_work) homework.update_attributes(:updated_at => Time.now) update_course_activity(homework.class,homework.id) update_user_activity(homework.class,homework.id) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3a5cdb1a1..1d1a68c72 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2137,6 +2137,20 @@ module ApplicationHelper end + #如果学生作品被打分后修改,应该给老师提示 + def send_message_to_teacher student_work + if StudentWork === student_work + if student_work.student_works_scores.any? + course = student_work.homework_common.course + course.members.map(&:user_id).uniq.each do|user_id| + if User.find(user_id).allowed_to?(:as_teacher, course) + student_work.course_messages << CourseMessage.new(:user_id => user_id, :course_id => course.id, :viewed => false, :status => 1) + end + end + end + end + end + private def wiki_helper diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index 7de1ce417..45d833a9a 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -424,6 +424,28 @@
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> + + + <% if ma.course_message_type == "StudentWork" && ma.status == 1 %> +
      +
    • + <%= link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user) %> +
    • +
    • + <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "同学", + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher" %> + ">重新提交了作品: +
    • +
    • + <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.homework_common_id), + :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}" %> + <%#= link_to truncate(ma.course_message.name,:length=>25)+'(失败原因:提交作品的人数低于2人)', student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "c_red" : "newsGrey "}" %> + + +
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    + <% end %> <% if ma.course_message_type == "Course" %>
      From 13e265b7d2e99b87ca3810ade108c5f88509b5a0 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Wed, 23 Mar 2016 18:25:50 +0800 Subject: [PATCH 032/180] =?UTF-8?q?=E4=BC=98=E5=8C=96=20layouts/=5Fuser=5F?= =?UTF-8?q?projects=20=E5=92=8C=20layouts/=5Fuser=5Fcourses=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 2 +- app/views/layouts/new_base_user.html.erb | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3a5cdb1a1..6432d83d8 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -764,7 +764,7 @@ module ApplicationHelper # 判断版本库是否初始为gitlab def rep_is_gitlab?(project) - rep = Repository.where("project_id =? and type =?", project, "Repository::Gitlab") + rep = project.repositories.where("type =?", "Repository::Gitlab") return rep.blank? ? true :false end diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index c90c69f75..c288b9402 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -204,7 +204,13 @@ <% end%> <% end%>
    - <% courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5) %> + <% course_order_ids = "(" + + CourseActivity.find_by_sql("SELECT c.course_id, updated_at FROM + (SELECT ca.course_id, MAX(ca.updated_at) AS updated_at FROM course_activities ca WHERE ca.course_id IN (" + @user.courses.visible.select('courses.id').map{|c| c.id}.join(',') + ") + GROUP BY ca.course_id) AS c + ORDER BY c.updated_at DESC limit 5").map {|c| c.course_id}.join(",") + ")"%> + <% courses = Course.where("id in #{course_order_ids}")%> + <%# courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5) %>
      <%= render :partial => 'layouts/user_courses', :locals => {:courses => courses,:user => @user, :page => 0} %> @@ -217,7 +223,14 @@ <%=link_to "", new_project_path(:host=> Setting.host_name), :class => "homepageMenuSetting fr", :style => "margin-right:10px;", :title => "新建项目"%> <% end%>
    - <% projects = @user.projects.visible.select("projects.*,(SELECT MAX(created_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(5)%> + <% project_order_ids = "(" + + ForgeActivity.find_by_sql("SELECT p.project_id, p.created_at FROM + (SELECT fa.project_id, MAX(fa.created_at) AS created_at FROM forge_activities fa WHERE fa.project_id IN (" + @user.projects.visible.select('projects.id').map{|p| p.id}.join(',') + ") + GROUP BY fa.project_id) AS p + ORDER BY p.created_at DESC limit 5").map {|p| p.project_id}.join(",") + ")"%> + <%# project_order_ids = "(" + ForgeActivity.select("DISTINCT project_id, max(created_at) as max_created_at").where("project_id in #{"(" + @user.projects.visible.select("projects.id").map{|p| p.id}.join(",") + ")"}").order("max_created_at desc").map {|p| p.project_id}.join(",") + ")"%> + <% projects = Project.joins(:repositories).where("projects.id in #{project_order_ids} and repositories.type='Repository::Gitlab'")%> + <%# projects = @user.projects.visible.select("projects.*, (SELECT MAX(created_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(5)%>
      <%= render :partial => 'layouts/user_projects', :locals => {:projects => projects,:user => @user, :page => 0} %> From 185ad829cdb720382ffedcb6d0ae902ef623c6ba Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 24 Mar 2016 09:36:46 +0800 Subject: [PATCH 033/180] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E9=80=9F=E5=BA=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 14 ++++++-------- app/controllers/users_controller.rb | 4 +--- app/helpers/issues_helper.rb | 4 ++-- app/models/user.rb | 16 +++++++++------- app/views/users/_project_issue_detail.html.erb | 8 ++++++++ 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index fe7d4bbe5..b2a828768 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -308,20 +308,18 @@ class ProjectsController < ApplicationController if User.current.member_of?(@project) || User.current.admin? case params[:type] when nil - @events_pages = ForgeActivity.where("project_id = ? and forge_act_type in ('Issue', 'Message','News', 'ProjectCreateInfo', 'Attachment')",@project).order("updated_at desc").limit(10).offset(@page * 10) + @events_pages = ForgeActivity.where("project_id = ? and forge_act_type in ('Issue', 'Message','News', 'ProjectCreateInfo', 'Attachment')", @project).includes(:forge_act).order("updated_at desc").limit(10).offset(@page * 10) when 'issue' - @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'Issue'",@project).order("updated_at desc").limit(10).offset(@page * 10) + @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'Issue'", @project).includes(:forge_act).order("updated_at desc").limit(10).offset(@page * 10) when 'news' - @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'News'",@project).order("updated_at desc").limit(10).offset(@page * 10) + @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'News'", @project).includes(:forge_act).order("updated_at desc").limit(10).offset(@page * 10) when 'message' - @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'Message'",@project).order("updated_at desc").limit(10).offset(@page * 10) + @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'Message'", @project).includes(:forge_act).order("updated_at desc").limit(10).offset(@page * 10) when 'attachment' - @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'Attachment'",@project).order("updated_at desc").limit(10).offset(@page * 10) + @events_pages = ForgeActivity.where("project_id = ? and forge_act_type = 'Attachment'", @project).includes(:forge_act).order("updated_at desc").limit(10).offset(@page * 10) end else - @events_pages = ForgeActivity.includes(:project).where("forge_activities.project_id = ? and projects.is_public - = ? and forge_act_type != ? ",@project,1, "Document").order("created_at desc") - .page(params['page'|| 1]).per(10); + @events_pages = ForgeActivity.includes(:project).where("forge_activities.project_id = ? and projects.is_public = ? and forge_act_type != ? ",@project,1, "Document").order("created_at desc").page(params['page'|| 1]).per(10); end # 根据对应的请求,返回对应的数据 respond_to do |format| diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index d85778e73..658b44e40 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1206,9 +1206,7 @@ class UsersController < ApplicationController def show # 统计访问量 - unless User.current == @user - @user.update_attribute(:visits, @user.visits.to_i + 1) - end + @user.update_column(:visits, @user.visits.to_i + 1) unless User.current == @user #更新用户申请成为课程老师或教辅消息的状态 if params[:course_id] != nil join_course_messages = CourseMessage.where("course_id =? and course_message_type =? and user_id =? and course_message_id =? and viewed =?", diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 4ad3cb49d..1cd22558b 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -111,9 +111,9 @@ module IssuesHelper def principals_options_for_isuue_list(project) if User.current.member_of?(project) - project.members.order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["<< #{l(:label_me)} >>", User.current.id]).unshift(["指派给", 0]) + project.members.includes(:user).order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["<< #{l(:label_me)} >>", User.current.id]).unshift(["指派给", 0]) else - project.members.order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["指派给", 0]) + project.members.includes(:user).order("lower(users.login)").map{|c| [c.name, c.user_id]}.unshift(["指派给", 0]) end end diff --git a/app/models/user.rb b/app/models/user.rb index 78d823ea7..2a9a13c73 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -339,13 +339,15 @@ class User < Principal message_new_time.onclick_time = User.current.last_login_on.nil? ? Time.now : User.current.last_login_on message_new_time.save end - course_count = CourseMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count - forge_count = ForgeMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count - user_feedback_count = UserFeedbackMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count - user_memo_count = MemoMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count - system_messages_count = SystemMessage.where("created_at >?", User.current.onclick_time.onclick_time).count - at_count = AtMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count - org_count = OrgMessage.where("user_id=? and viewed =? and created_at >?", User.current.id,0, User.current.onclick_time.onclick_time).count + user = User.current + onclick_time = user.onclick_time.onclick_time + course_count = CourseMessage.where("user_id =? and viewed =? and created_at >?", user.id, 0, onclick_time).count + forge_count = ForgeMessage.where("user_id =? and viewed =? and created_at >?", user.id, 0, onclick_time).count + user_feedback_count = UserFeedbackMessage.where("user_id =? and viewed =? and created_at >?", user.id, 0, onclick_time).count + user_memo_count = MemoMessage.where("user_id =? and viewed =? and created_at >?", user.id, 0, onclick_time).count + system_messages_count = SystemMessage.where("created_at >?", onclick_time).count + at_count = AtMessage.where("user_id =? and viewed =? and created_at >?", user.id, 0, onclick_time).count + org_count = OrgMessage.where("user_id=? and viewed =? and created_at >?", user.id,0, onclick_time).count messages_count = course_count + forge_count + user_feedback_count + user_memo_count + system_messages_count + at_count + org_count end diff --git a/app/views/users/_project_issue_detail.html.erb b/app/views/users/_project_issue_detail.html.erb index 1235b4e53..95e297f49 100644 --- a/app/views/users/_project_issue_detail.html.erb +++ b/app/views/users/_project_issue_detail.html.erb @@ -54,6 +54,10 @@ <% end %>
      + + + + <%= form_tag({:controller => 'issues', :action => 'update', :id => activity.id, :issue_detail => true, :type => "assigned"},:remote=>'true', :method => :put, :id=>"issue_query_assign_form_#{activity.id}", :class => 'query_form') do %>
    •  指派  : 

      @@ -66,6 +70,10 @@
    • <% end %>
      + + + +
    + + \ No newline at end of file diff --git a/app/views/users/user_resource_create.js.erb b/app/views/users/user_resource_create.js.erb index e818f2870..cc7e543c8 100644 --- a/app/views/users/user_resource_create.js.erb +++ b/app/views/users/user_resource_create.js.erb @@ -1,15 +1,16 @@ -closeModal(); -$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); -$("#resource_tip_list").html('<%= escape_javascript( render :partial => 'users/user_resource_tip_list', :locals => {:user => @user, :type => @type, :status => @status}) %>'); -$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#res_all_count").html(<%= @atta_count%>); -$("#res_count").html(0); -$("#checkboxAll").attr('checked',false); -//更新状态 -$("#public_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '6') %>'); -$("#my_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '1') %>'); -$("#resource_type_all").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 1, :search => @switch_search) %>'); -$("#resource_type_course").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 2, :search => @switch_search) %>'); -$("#resource_type_project").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 3, :search => @switch_search) %>'); -$("#resource_type_user").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 5, :search => @switch_search) %>'); +closeModal(); +$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); +$("#resource_tip_list").html('<%= escape_javascript( render :partial => 'users/user_resource_tip_list', :locals => {:user => @user, :type => @type, :status => @status}) %>'); +debugger +$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true, :path => @path %>'); +$("#res_all_count").html(<%= @atta_count%>); +$("#res_count").html(0); +$("#checkboxAll").attr('checked',false); +//更新状态 +$("#public_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '6') %>'); +$("#my_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '1') %>'); +$("#resource_type_all").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 1, :search => @switch_search) %>'); +$("#resource_type_course").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 2, :search => @switch_search) %>'); +$("#resource_type_project").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 3, :search => @switch_search) %>'); +$("#resource_type_user").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 5, :search => @switch_search) %>'); $("#resource_type_file").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 4, :search => @switch_search) %>'); \ No newline at end of file diff --git a/lib/redmine/pagination.rb b/lib/redmine/pagination.rb index 41702e2ce..4f1e8ac46 100644 --- a/lib/redmine/pagination.rb +++ b/lib/redmine/pagination.rb @@ -163,11 +163,17 @@ module Redmine # :per_page_links if set to false, the "Per page" links are not rendered # def pagination_links_full(*args) + page = "" pagination_links_each(*args) do |text, parameters, options| if block_given? yield text, parameters, options else - link_to text, params.merge(parameters), options + if args[2][:path].nil? + link_to text, params.merge(parameters), options + else + page = "&page" + parameters[:page].to_s unless parameters[:page].nil? + link_to text, args[2][:path].to_s + page, options + end end end end From 213cf48c090268699321573cab4577285901f47e Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Tue, 29 Mar 2016 09:02:54 +0800 Subject: [PATCH 092/180] =?UTF-8?q?=E7=BC=96=E7=A8=8B=E7=9A=84=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E5=92=8C=E7=BB=93=E6=9E=9C=E6=AF=8F=E8=A1=8C=E5=B0=BE?= =?UTF-8?q?=E9=83=A8=E7=9A=84=E7=A9=BA=E6=A0=BC=E6=89=8D=E7=94=A8=E5=88=AB?= =?UTF-8?q?=E7=9A=84=E7=AC=A6=E5=8F=B7=E4=BB=A3=E6=9B=BF,=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E7=9A=84=E7=A9=BA=E6=A0=BC=E4=B8=8D=E7=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 34 +++++++++++++++++++--- public/javascripts/homework.js | 6 ++-- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 903030ecb..ae33ccb07 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -55,8 +55,31 @@ class StudentWorkController < ApplicationController render :json => resultObj end + #行尾空格替换成□ + def space_replace_1(str) + for i in 0 .. str.size + tChar = str[i] + if tChar != ' ' && tChar != "\n" + sFlag = false + eFlag = false + elsif tChar == ' ' && sFlag == false + tStart = i + sFlag = true + elsif tChar == "\n" + tEnd = i - 1 + if sFlag == true + for j in tStart .. tEnd + str[j] = "□" + end + sFlag = false + end + end + end + end + #由于负载问题 不要使用全局变量 #根据传入的tIndex确定是第几次测试 +#之后如果觉得很卡 可以改成将结果传回JS再以参数形式传回来 def program_test_ex is_test = params[:is_test] == 'true' resultObj = {status: 0, results: [], error_msg: '', time: Time.now.strftime('%Y-%m-%d %T'),tseq:1,tcount:1,testid:1} #保存每测试一次返回的结果 @@ -78,11 +101,14 @@ class StudentWorkController < ApplicationController result = test_realtime_ex(test, params[:src]) if result["status"].to_i != -2 - result["results"].first['output'] = result["results"].first['output'].gsub(" ","□") - result["results"].first['result'] = result["results"].first['result'].gsub(" ","□") + #result["results"].first['output'] = result["results"].first['output'].gsub(" ","□") + #result["results"].first['result'] = result["results"].first['result'].gsub(" ","□") end - logger.debug result + space_replace_1(result["results"].first['output']) + space_replace_1(result["results"].first['result']) + + logger.debug result #-1 默认值 0全部正确并结束 2 超时 -2 编译错误 resultObj[:status] = -1 @@ -108,7 +134,7 @@ class StudentWorkController < ApplicationController student_work.late_penalty = 0 end - #每次都要把数据存到数据库中 + #每次从数据库取出上次的结果加上本次的结果再存入数据库 status = result["status"] if index == 1 student_work_test = student_work.student_work_tests.build(status: status, diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js index 46dfed122..70f00db98 100644 --- a/public/javascripts/homework.js +++ b/public/javascripts/homework.js @@ -426,7 +426,7 @@ $(function(){ //注意\n\ //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),空格用□表示\n\ + //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),每行末尾的所有空格用□表示\n\ import java.io.*;\n\ import java.util.*;\n\ \n\ @@ -450,7 +450,7 @@ class Main\n\ //注意\n\ //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),空格用□表示\n\ + //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),每行末尾的所有空格用□表示\n\ #include \n\ int main()\n\ {\n\ @@ -470,7 +470,7 @@ src = '\ //注意\n\ //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),空格用□表示\n\ + //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),每行末尾的所有空格用□表示\n\ #include \n\ using namespace std;\n\ \n\ From ed0eb4aff31848f1e661bcbacb90e87ee9468e5e Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 29 Mar 2016 09:24:11 +0800 Subject: [PATCH 093/180] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E4=BD=9C=E5=93=81?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=97=A0=E6=B3=95=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/student_work_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/student_work_helper.rb b/app/helpers/student_work_helper.rb index df5c872f8..4e11e153e 100644 --- a/app/helpers/student_work_helper.rb +++ b/app/helpers/student_work_helper.rb @@ -130,7 +130,7 @@ module StudentWorkHelper def revise_attachment_status homework, attach date = Time.parse(format_time(attach.created_on.to_s)).strftime("%Y-%m-%d") status = "" - if homework.homework_detail_manual && ((homework.anonymous_comment == 0 &&homework.homework_detail_manual.evaluation_start.to_s <= date) || (homework.anonymous_comment == 1 && homework.end_time < date)) + if homework.homework_detail_manual && ((homework.anonymous_comment == 0 &&homework.homework_detail_manual.evaluation_start.to_s <= date) || (homework.anonymous_comment == 1 && homework.end_time.to_s < date)) status = "此时其他同学作品已公开" else status = "此时其他同学作品尚未公开" From 598f69abb0fc0d36cb41c42c7fba6c5a7b14d494 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 29 Mar 2016 09:35:07 +0800 Subject: [PATCH 094/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=9A=82=E6=97=B6=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/organizations/new.html.erb | 14 +++++++------- app/views/organizations/setting.html.erb | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/app/views/organizations/new.html.erb b/app/views/organizations/new.html.erb index efe481b77..ae0900973 100644 --- a/app/views/organizations/new.html.erb +++ b/app/views/organizations/new.html.erb @@ -28,13 +28,13 @@ value:"#{User.current.id.to_s + '_' +Time.now.to_s.gsub(' ','_').gsub(':','').gsub('+','')}" %>

    -
  • - 显示模式    : - - - - -
  • + + + + + + +
  • diff --git a/app/views/organizations/setting.html.erb b/app/views/organizations/setting.html.erb index 39848d192..2676105d3 100644 --- a/app/views/organizations/setting.html.erb +++ b/app/views/organizations/setting.html.erb @@ -72,13 +72,13 @@
  • -
    - 显示模式 : - /> - - /> - -
    + + + + + + +
    公开 : class="ml3" />
    From 0b0f484a5b1f623cf4443a345eb9fd7d777760e2 Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 29 Mar 2016 09:50:37 +0800 Subject: [PATCH 095/180] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=B4=E6=96=87?= =?UTF-8?q?=E6=A4=8D=E7=9A=84=E5=88=86=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...29014316_update_one_student_teacher_score.rb | 17 +++++++++++++++++ db/schema.rb | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20160329014316_update_one_student_teacher_score.rb diff --git a/db/migrate/20160329014316_update_one_student_teacher_score.rb b/db/migrate/20160329014316_update_one_student_teacher_score.rb new file mode 100644 index 000000000..cf56db220 --- /dev/null +++ b/db/migrate/20160329014316_update_one_student_teacher_score.rb @@ -0,0 +1,17 @@ +class UpdateOneStudentTeacherScore < ActiveRecord::Migration + def up + work = StudentWork.find 49774 + score = StudentWorksScore.new + score.score = 100 + score.user_id = 7318 + score.student_work_id = work.id + score.reviewer_role = 1 + if score.save + work.teacher_score = score.score + end + work.save + end + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index aeabe0ae0..28931468b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20160325030423) do +ActiveRecord::Schema.define(:version => 20160329014316) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false From 90fd52970bff03449fcf179cfde7d77afeff85c3 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Tue, 29 Mar 2016 10:15:18 +0800 Subject: [PATCH 096/180] =?UTF-8?q?fix=20bugger=20on=20=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 7 + .../users/_resource_share_for_orgs.html.erb | 2 +- ..._resource_share_for_project_popup.html.erb | 108 ++++++------ .../users/_resource_share_popup.html.erb | 112 ++++++------ app/views/users/_resources_list.html.erb | 164 ++++++++++++++++++ app/views/users/_user_resource_info.html.erb | 163 ----------------- .../users/add_exist_file_to_course.js.erb | 1 + app/views/users/add_exist_file_to_org.js.erb | 1 + .../users/add_exist_file_to_project.js.erb | 1 + app/views/users/search_user_course.js.erb | 2 +- app/views/users/search_user_org.js.erb | 28 +-- app/views/users/search_user_project.js.erb | 32 ++-- app/views/users/user_resource_create.js.erb | 1 - app/views/users/user_resource_delete.js.erb | 26 +-- 14 files changed, 329 insertions(+), 319 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 1cf4534bb..efe968d3b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1679,6 +1679,7 @@ class UsersController < ApplicationController end @status = params[:status] @type = params[:type] + @path = user_resource_user_path(User.current, :type => @type) @limit = 25 @is_remote = true @atta_count = @attachments.count @@ -1703,6 +1704,7 @@ class UsersController < ApplicationController .select { |course| @user.allowed_to?(:as_teacher,course) and course.is_delete == 0 } end @search = params[:search] + @type = params[:type] #这里仅仅是传递需要发送的资源id @send_id = params[:send_id] @send_ids = params[:checkbox1] || params[:send_ids] @@ -1721,6 +1723,7 @@ class UsersController < ApplicationController @projects = @user.projects.visible end @search = params[:search] + @type = params[:type] #这里仅仅是传递需要发送的资源id @send_id = params[:send_id] @send_ids = params[:checkbox1] || params[:send_ids] #搜索的时候 和 直接 用表格提交的时候的send_ids @@ -1822,6 +1825,7 @@ class UsersController < ApplicationController "or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')}))").order("created_on desc") @type = params[:type] @limit = 25 + @path = user_resource_user_path(User.current, :type => @type) @user = User.current @is_remote = true @atta_count = @attachments.count @@ -1933,6 +1937,7 @@ class UsersController < ApplicationController "or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')}))").order("created_on desc") @type = params[:type] @limit = 25 + @path = user_resource_user_path(User.current, :type => @type) @user = User.current @is_remote = true @atta_count = @attachments.count @@ -2031,6 +2036,7 @@ class UsersController < ApplicationController "or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')}))").order("created_on desc") @type = params[:type] @limit = 25 + @path = user_resource_user_path(User.current, :type => @type) @user = User.current @is_remote = true @atta_count = @attachments.count @@ -2723,6 +2729,7 @@ class UsersController < ApplicationController name = "%"+name+"%" @orgs = User.current.organizations.where("name like ?", name) @user = User.current + @type = params[:type] respond_to do |format| format.html {render :layout => 'static_base'} format.js diff --git a/app/views/users/_resource_share_for_orgs.html.erb b/app/views/users/_resource_share_for_orgs.html.erb index 792db7546..166d0f82b 100644 --- a/app/views/users/_resource_share_for_orgs.html.erb +++ b/app/views/users/_resource_share_for_orgs.html.erb @@ -18,7 +18,7 @@ <% end %>
    -<%= form_tag add_exist_file_to_org_user_path(user),:remote=>true,:id=>'orgs_list_form' do %> +<%= form_tag add_exist_file_to_org_user_path(user, :type => type),:remote=>true,:id=>'orgs_list_form' do %> <%= hidden_field_tag(:send_id, send_id) %> <%= hidden_field_tag(:send_ids, send_ids) %>
    diff --git a/app/views/users/_resource_share_for_project_popup.html.erb b/app/views/users/_resource_share_for_project_popup.html.erb index 33fa03061..aa42b22cc 100644 --- a/app/views/users/_resource_share_for_project_popup.html.erb +++ b/app/views/users/_resource_share_for_project_popup.html.erb @@ -1,54 +1,54 @@ -
    -
    -
    发送到
    -
    - -
    -
    -
    - -
    - <%= form_tag search_user_project_user_path(user),:method => 'get', - :remote=>true,:id=>'search_user_project_form',:class=>'resourcesSearchBox' do %> - <%= hidden_field_tag(:send_id, send_id) %> - <%= hidden_field_tag(:send_ids, send_ids) %> - - - - <%= submit_tag '',:class=>'searchIcon2',:onfocus=>"this.blur();",:style=>'border-style:none' %> - <% end %> -
    - <%= form_tag add_exist_file_to_project_user_path(user), :remote => true, :id=>'projects_list_form' %> -
    - - <%= hidden_field_tag(:send_id, send_id) %> - <%= hidden_field_tag(:send_ids, send_ids) %> -
    - <% if !projects.empty? %> - <% projects.each do |project| %> -
      -
    • - -
    • -
    • <%= project.name%>
    • -
    - <% end %> -
    -
    -
    -
    - - <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();' %> -
    - -
    -
    - <% end %> -
    - +
    +
    +
    发送到
    +
    + +
    +
    +
    + +
    + <%= form_tag search_user_project_user_path(user),:method => 'get', + :remote=>true,:id=>'search_user_project_form',:class=>'resourcesSearchBox' do %> + <%= hidden_field_tag(:send_id, send_id) %> + <%= hidden_field_tag(:send_ids, send_ids) %> + + + + <%= submit_tag '',:class=>'searchIcon2',:onfocus=>"this.blur();",:style=>'border-style:none' %> + <% end %> +
    + <%= form_tag add_exist_file_to_project_user_path(user, :type => type), :remote => true, :id=>'projects_list_form' %> +
    + + <%= hidden_field_tag(:send_id, send_id) %> + <%= hidden_field_tag(:send_ids, send_ids) %> +
    + <% if !projects.empty? %> + <% projects.each do |project| %> +
      +
    • + +
    • +
    • <%= project.name%>
    • +
    + <% end %> +
    +
    +
    +
    + + <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();' %> +
    + +
    +
    + <% end %> +
    + diff --git a/app/views/users/_resource_share_popup.html.erb b/app/views/users/_resource_share_popup.html.erb index 74265cabb..ba0eeb21e 100644 --- a/app/views/users/_resource_share_popup.html.erb +++ b/app/views/users/_resource_share_popup.html.erb @@ -1,56 +1,56 @@ - - -
    -
    -
    发送到
    -
    - -
    -
    -
    - -
    - <%= form_tag search_user_course_user_path(user),:method => 'get', - :remote=>true,:id=>'search_user_course_form',:class=>'resourcesSearchBox' do %> - <%= hidden_field_tag(:send_id, send_id) %> - <%= hidden_field_tag(:send_ids, send_ids) %> - - - - <%= submit_tag '',:class=>'searchIcon2',:onfocus=>"this.blur();",:style=>'border-style:none' %> - <% end %> -
    - <%= form_tag add_exist_file_to_course_user_path(user),:remote=>true,:id=>'course_list_form' %> -
    - - <%= hidden_field_tag(:send_id, send_id) %> - <%= hidden_field_tag(:send_ids, send_ids) %> -
    - <% if !courses.empty? %> - <% courses.each do |course| %> -
      -
    • - -
    • -
    • <%= truncate(course.name,:lendght=>25) + '['+course.time.to_s+course.term + ']'%>
    • -
    - <% end %> -
    -
    -
    -
    - - <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();' %> -
    - -
    -
    - <% end %> -
    - + + +
    +
    +
    发送到
    +
    + +
    +
    +
    + +
    + <%= form_tag search_user_course_user_path(user),:method => 'get', + :remote=>true,:id=>'search_user_course_form',:class=>'resourcesSearchBox' do %> + <%= hidden_field_tag(:send_id, send_id) %> + <%= hidden_field_tag(:send_ids, send_ids) %> + + + + <%= submit_tag '',:class=>'searchIcon2',:onfocus=>"this.blur();",:style=>'border-style:none' %> + <% end %> +
    + <%= form_tag add_exist_file_to_course_user_path(user, :type => type),:remote=>true,:id=>'course_list_form' %> +
    + + <%= hidden_field_tag(:send_id, send_id) %> + <%= hidden_field_tag(:send_ids, send_ids) %> +
    + <% if !courses.empty? %> + <% courses.each do |course| %> +
      +
    • + +
    • +
    • <%= truncate(course.name,:lendght=>25) + '['+course.time.to_s+course.term + ']'%>
    • +
    + <% end %> +
    +
    +
    +
    + + <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();' %> +
    + +
    +
    + <% end %> +
    + diff --git a/app/views/users/_resources_list.html.erb b/app/views/users/_resources_list.html.erb index 69b512653..b8551f7c5 100644 --- a/app/views/users/_resources_list.html.erb +++ b/app/views/users/_resources_list.html.erb @@ -28,4 +28,168 @@ diff --git a/app/views/users/_user_resource_info.html.erb b/app/views/users/_user_resource_info.html.erb index 0a3f94bb3..a3bc45481 100644 --- a/app/views/users/_user_resource_info.html.erb +++ b/app/views/users/_user_resource_info.html.erb @@ -207,93 +207,6 @@ $("#res_count").html(0); } } - - function show_upload(){ - $("#ajax-modal").html('<%= escape_javascript( render :partial => 'upload_resource' ,:locals => {:user=>User.current.id,:type=>@type,:status=>@status})%>'); - showModal('ajax-modal', '452px'); - $('#ajax-modal').siblings().remove(); - $('#ajax-modal').before(""); - $('#ajax-modal').parent().css("top","50%").css("left","50%").css("position","absolute"); - $('#ajax-modal').parent().addClass("resourceUploadPopup"); - $('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px"); - } - //批量删除 - function batch_delete(){ - var data = $("#resources_list_form").serialize(); - if($("input[type=checkbox][data-has-history=Y]:checked").length != 0){ - alert("您只能删除没有历史记录的资源,请重新选择后再删除。"); - return; - } - if($("input[type=checkbox][data-deleteble=N]:checked").length != 0){ - alert("您只能删除自己上传的资源,请重新选择后再删除。"); - return; - } - - if(data != "" && confirm('确认要删除这些资源吗?')) { - $.post( - '<%= user_resource_delete_user_path(User.current.id,:type=>@type,:status=>@status)%>', - $("#resources_list_form").serialize(),//只会对选中的控件进行序列化提交 - function (data) { - - } - ); - } - } - - - - function show_send(){ - $("#contextMenu").hide(); - document.oncontextmenu = function() {return true;} - line.children().css("background-color",'white'); - id = line.children().last().html(); - if (lastSendType === '2'){ //如果已经发送过一次了,那么就应该沿用上次发送的类型。 - $.ajax({ - type: 'get', - url: '<%= search_user_project_user_path(User.current.id)%>' + '?send_id=' + id, - data:{send_type:'file'} - }); - }else{ - $.ajax({ - type: 'get', - url: '<%= search_user_course_user_path(User.current.id)%>' + '?send_id=' + id, - data:{send_type:'file'} - }); - } - } - - function batch_send(){ - if($("#resources_list_form").serialize() == ""){ - alert('暂时不支持多页选择,您当前页没有选择任何资源'); - return ; - } - if (lastSendType === '2'){ //如果已经发送过一次了,那么就应该沿用上次发送的类型。 - $.ajax({ - type: 'get', - url: '<%= search_user_project_user_path(User.current.id)%>' + '?' + $("#resources_list_form").serialize(), - data:{send_type:'file'} - }); - }else{ - $.ajax({ - type: 'get', - url: '<%= search_user_course_user_path(User.current.id)%>' + '?'+ $("#resources_list_form").serialize(), - data:{send_type:'file'} - }); - - } - } - - function preview(){ - $("#contextMenu").hide(); - document.oncontextmenu = function() {return true;} - line.children().css("background-color",'white'); - id = line.children().last().html(); - $.ajax({ - type:'get', - url:'<%= resource_preview_user_path(User.current.id)%>'+"?resource_id="+id - }); - } - function rename(){ $("#contextMenu").hide(); document.oncontextmenu = function() {return true;} @@ -315,80 +228,4 @@ alert('您无法修改此资源!') } } - String.prototype.trim = function() { - var str = this, - str = str.replace(/^\s\s*/, ''), - ws = /\s/, - i = str.length; - while (ws.test(str.charAt(--i))); - return str.slice(0, i + 1); - } - - - - //恢复编辑状态到链接状态 - //如果当前是编辑状态,任何的不在输入框里的单击右键事件都需要将编辑状态变回链接状态 - //如果是编辑状态,且做了修改,那么久要进行修改,并且将修改值经过处理替换到页面显示 - function restore(){ - //上一行不为空 且链接不为空 - if( last_line != null && res_link != null && res_link != '') { - name = $("#res_name").lenght != 0 && $("#res_name").val() != undefined ? $("#res_name").val().trim() : undefined ; - if (name == undefined || name === 'undefined' ){ //只要res_name没有值,那么就不是编辑状态 - return; - } - if( name && name != res_name.trim()){ - - if(confirm('确定修改为 '+name)){ - $.ajax({ - url: '<%=rename_resource_user_path(User.current.id) %>'+ "?res_name="+$('#res_name').val() + "&res_id=" + $("#res_id").val(), - type:'get', - success:function (data) - { - if (data != 'fail' && name != undefined && name != 'undefined') {//修改成功,那么将链接恢复,并且将链接的显示内容改变。链接可以不变 - last_line.children().eq(1).html(res_link); - last_line.children().eq(1).children().attr('title', name); - last_line.children().eq(1).children().attr('href', data); - last_line.children().eq(1).children().html(name.length > 17 ? name.substring(0, 17) + '...' : name); - } else { - last_line.children().eq(1).html(res_link); - res_link = null; //如果修改失败,恢复之后将res_link置空 - } - } - } ); - }else{ - last_line.children().eq(1).html(res_link); - res_link = null; //如果没有做修改,恢复之后将res_link置空 - } - }else { - last_line.children().eq(1).html(res_link); - res_link = null;//如果没有做修改,恢复之后将res_link置空 - } - - - } - } - - function delete_file() { - $("#contextMenu").hide(); - document.oncontextmenu = function () { - return true; - } - line.children().css("background-color", 'white'); - id = line.children().last().html(); - user_id = line.children().eq(5).html(); - if(line.children().first().children().data('hasHistory') == 'Y'){ - alert('该资源存在历史版本,不能删除'); - return; - } - if(user_id === '<%= User.current.id%>') { - if (confirm('确定要删除资源"' + line.children().eq(1).children().attr('title').trim() + '"么?')) { - $.ajax({ - type: 'post', - url: '<%= user_resource_delete_user_path(User.current.id)%>' + '?resource_id=' + id + '&type=<%=@type %>&status=<%=@status %>' - }); - } - }else{ - alert('您无法删除此资源!') - } - } \ No newline at end of file diff --git a/app/views/users/add_exist_file_to_course.js.erb b/app/views/users/add_exist_file_to_course.js.erb index c05a2ebd0..8db83aefc 100644 --- a/app/views/users/add_exist_file_to_course.js.erb +++ b/app/views/users/add_exist_file_to_course.js.erb @@ -1,6 +1,7 @@ <% if @flag == true%> $("#search_div").html('<%= escape_javascript( render :partial => 'resource_search_form',:locals => {:user=>@user,:type=>@type} ) %>'); $("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); +$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true, :path => @path %>'); $("#res_count").html(0); $("#checkboxAll").attr('checked',false); $("#res_all_count").html(<%= @atta_count%>); diff --git a/app/views/users/add_exist_file_to_org.js.erb b/app/views/users/add_exist_file_to_org.js.erb index 9bfe1230a..c6e7f4011 100644 --- a/app/views/users/add_exist_file_to_org.js.erb +++ b/app/views/users/add_exist_file_to_org.js.erb @@ -1,6 +1,7 @@ <% if @flag == true%> $("#search_div").html('<%= escape_javascript( render :partial => 'resource_search_form',:locals => {:user=>@user,:type=>@type} ) %>'); $("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); +$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true, :path => @path %>'); $("#res_count").html(0); $("#checkboxAll").attr('checked',false); $("#res_all_count").html(<%= @atta_count%>); diff --git a/app/views/users/add_exist_file_to_project.js.erb b/app/views/users/add_exist_file_to_project.js.erb index ed38fa066..4c24f4932 100644 --- a/app/views/users/add_exist_file_to_project.js.erb +++ b/app/views/users/add_exist_file_to_project.js.erb @@ -1,6 +1,7 @@ <% if @flag == true%> $("#search_div").html('<%= escape_javascript( render :partial => 'resource_search_form',:locals => {:user=>@user,:type=>@type} ) %>'); $("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); +$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true, :path => @path %>'); $("#res_count").html(0); $("#checkboxAll").attr('checked',false); $("#res_all_count").html(<%= @atta_count%>); diff --git a/app/views/users/search_user_course.js.erb b/app/views/users/search_user_course.js.erb index f4509987f..5556d3c92 100644 --- a/app/views/users/search_user_course.js.erb +++ b/app/views/users/search_user_course.js.erb @@ -12,7 +12,7 @@ <% if params[:send_type].present? && params[:send_type] == 'news' %> $("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_news_to_course' , :locals => {:courses => @course, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); <% elsif params[:send_type] == 'file' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_popup' , :locals => {:courses => @course, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_popup' , :locals => {:courses => @course, :user => @user, :send_id => @send_id, :send_ids => @send_ids, :type => @type}) %>'); <% elsif params[:send_type] == 'message' %> $("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_message_to_course' ,:locals => {:courses => @course, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); <% end %> diff --git a/app/views/users/search_user_org.js.erb b/app/views/users/search_user_org.js.erb index ee12e9439..7461dbfda 100644 --- a/app/views/users/search_user_org.js.erb +++ b/app/views/users/search_user_org.js.erb @@ -1,15 +1,15 @@ -<% if params[:send_type].present? && params[:send_type] == 'news' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_news_to_org' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids})%>'); -<% elsif params[:send_type] == 'file' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_for_orgs' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids})%>'); -<% elsif params[:send_type] == 'message' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_message_to_org' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids})%>'); -<% end %> -showModal('ajax-modal', '452px'); -$('#ajax-modal').siblings().remove(); -$('#ajax-modal').before(""); -$('#ajax-modal').parent().css("top","50%").css("left","50%"); -$('#ajax-modal').parent().addClass("popbox").addClass("shareDP"); -$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px"); -var val = $("#search_org_input").val(); +<% if params[:send_type].present? && params[:send_type] == 'news' %> +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_news_to_org' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids})%>'); +<% elsif params[:send_type] == 'file' %> +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_for_orgs' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids, :type => @type})%>'); +<% elsif params[:send_type] == 'message' %> +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_message_to_org' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids})%>'); +<% end %> +showModal('ajax-modal', '452px'); +$('#ajax-modal').siblings().remove(); +$('#ajax-modal').before(""); +$('#ajax-modal').parent().css("top","50%").css("left","50%"); +$('#ajax-modal').parent().addClass("popbox").addClass("shareDP"); +$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px"); +var val = $("#search_org_input").val(); $("#search_org_input").val("").focus().val(val); \ No newline at end of file diff --git a/app/views/users/search_user_project.js.erb b/app/views/users/search_user_project.js.erb index d58c56ca9..50a194814 100644 --- a/app/views/users/search_user_project.js.erb +++ b/app/views/users/search_user_project.js.erb @@ -1,16 +1,16 @@ -<% if params[:send_type].present? && params[:send_type] == 'news' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_news_to_project', :locals => {:projects => @projects, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); -<% elsif params[:send_type] == 'file' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_for_project_popup', :locals => {:projects => @projects, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); -<% elsif params[:send_type] == 'message' %> -$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_message_to_project', :locals => {:projects => @projects, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); -<% end %> -showModal('ajax-modal', '452px'); -$('#ajax-modal').siblings().remove(); -$('#ajax-modal').before(""); -$('#ajax-modal').parent().css("top","50%").css("left","50%"); -$('#ajax-modal').parent().addClass("resourceUploadPopup").addClass("popbox") -$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px"); -//$("#search_project_input").focus(); -var val = $("#search_project_input").val(); -$("#search_project_input").val("").focus().val(val); +<% if params[:send_type].present? && params[:send_type] == 'news' %> +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_news_to_project', :locals => {:projects => @projects, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); +<% elsif params[:send_type] == 'file' %> +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_for_project_popup', :locals => {:projects => @projects, :user => @user, :send_id => @send_id, :send_ids => @send_ids, :type => @type}) %>'); +<% elsif params[:send_type] == 'message' %> +$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/share_message_to_project', :locals => {:projects => @projects, :user => @user, :send_id => @send_id, :send_ids => @send_ids}) %>'); +<% end %> +showModal('ajax-modal', '452px'); +$('#ajax-modal').siblings().remove(); +$('#ajax-modal').before(""); +$('#ajax-modal').parent().css("top","50%").css("left","50%"); +$('#ajax-modal').parent().addClass("resourceUploadPopup").addClass("popbox") +$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px"); +//$("#search_project_input").focus(); +var val = $("#search_project_input").val(); +$("#search_project_input").val("").focus().val(val); diff --git a/app/views/users/user_resource_create.js.erb b/app/views/users/user_resource_create.js.erb index cc7e543c8..d28898e0a 100644 --- a/app/views/users/user_resource_create.js.erb +++ b/app/views/users/user_resource_create.js.erb @@ -1,7 +1,6 @@ closeModal(); $("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); $("#resource_tip_list").html('<%= escape_javascript( render :partial => 'users/user_resource_tip_list', :locals => {:user => @user, :type => @type, :status => @status}) %>'); -debugger $("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true, :path => @path %>'); $("#res_all_count").html(<%= @atta_count%>); $("#res_count").html(0); diff --git a/app/views/users/user_resource_delete.js.erb b/app/views/users/user_resource_delete.js.erb index 9583274c6..ffb056e28 100644 --- a/app/views/users/user_resource_delete.js.erb +++ b/app/views/users/user_resource_delete.js.erb @@ -1,14 +1,14 @@ -$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); -$("#resource_tip_list").html('<%= escape_javascript( render :partial => 'users/user_resource_tip_list', :locals => {:user => @user, :type => @type, :status => @status}) %>'); -$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#res_all_count").html(<%= @atta_count%>); -$("#res_count").html(0); -$("#checkboxAll").attr('checked',false); -//更新状态 -$("#public_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '6') %>'); -$("#my_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '1') %>'); -$("#resource_type_all").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 1, :search => @switch_search) %>'); -$("#resource_type_course").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 2, :search => @switch_search) %>'); -$("#resource_type_project").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 3, :search => @switch_search) %>'); -$("#resource_type_user").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 5, :search => @switch_search) %>'); +$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>'); +$("#resource_tip_list").html('<%= escape_javascript( render :partial => 'users/user_resource_tip_list', :locals => {:user => @user, :type => @type, :status => @status}) %>'); +$("#pages").html('<%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true, :path => @path %>'); +$("#res_all_count").html(<%= @atta_count%>); +$("#res_count").html(0); +$("#checkboxAll").attr('checked',false); +//更新状态 +$("#public_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '6') %>'); +$("#my_resource_list").attr('href','<%= user_resource_user_path(@user, :type => '1') %>'); +$("#resource_type_all").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 1, :search => @switch_search) %>'); +$("#resource_type_course").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 2, :search => @switch_search) %>'); +$("#resource_type_project").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 3, :search => @switch_search) %>'); +$("#resource_type_user").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 5, :search => @switch_search) %>'); $("#resource_type_file").attr('href','<%= resource_search_user_path(@user,:type => @type, :status => 4, :search => @switch_search) %>'); \ No newline at end of file From 1daf620ed1da9bf3d662249fd31fea121df0ff2f Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 29 Mar 2016 10:39:44 +0800 Subject: [PATCH 097/180] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E4=BD=9C=E5=93=81?= =?UTF-8?q?=E7=82=B9=E5=8F=96=E6=B6=88=E6=97=B6=E8=B7=B3=E5=88=B0=E6=88=91?= =?UTF-8?q?=E7=9A=84=E4=BD=9C=E4=B8=9A=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index ae33ccb07..43918ed10 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -581,7 +581,7 @@ class StudentWorkController < ApplicationController end end end - redirect_to user_homeworks_user_path(User.current.id) + redirect_to student_homeworks_user_path(User.current.id) end def retry_work From b80bc98fcb47b69f2546566ef73590bca659bb22 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 29 Mar 2016 11:31:58 +0800 Subject: [PATCH 098/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 111 +++++++----- app/views/layouts/base_org_newstyle.html.erb | 162 ++++++------------ .../_org_new_course_create.html.erb | 5 + .../_org_new_course_homework.html.erb | 5 + .../_org_new_course_message.html.erb | 18 ++ .../_org_new_course_news.html.erb | 5 + .../_org_new_course_poll.html.erb | 5 + .../_org_new_project_create.html.erb | 3 + .../_org_new_project_issues.html.erb | 4 + .../_org_new_project_message.html.erb | 15 ++ public/stylesheets/org_new_style.css | 2 +- 11 files changed, 185 insertions(+), 150 deletions(-) create mode 100644 app/views/organizations/_org_new_course_create.html.erb create mode 100644 app/views/organizations/_org_new_course_homework.html.erb create mode 100644 app/views/organizations/_org_new_course_message.html.erb create mode 100644 app/views/organizations/_org_new_course_news.html.erb create mode 100644 app/views/organizations/_org_new_course_poll.html.erb create mode 100644 app/views/organizations/_org_new_project_create.html.erb create mode 100644 app/views/organizations/_org_new_project_issues.html.erb create mode 100644 app/views/organizations/_org_new_project_message.html.erb diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 858952f0d..e649dffb5 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -75,51 +75,76 @@ class OrganizationsController < ApplicationController end def show - @subfield_content = @organization.org_subfields.order("priority") if @organization.show_mode == 1 - if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) - @organization = Organization.find(params[:id]) - # 统计访问量 - @organization.update_attribute(:visits, @organization.visits.to_i + 1) - if params[:org_subfield_id] - @org_subfield = OrgSubfield.find(params[:org_subfield_id]) - @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0 - @org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10) - else - shield_project_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id) - shield_course_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id) - project_ids = (@organization.projects.map(&:id)-shield_project_ids) << 0 - course_ids = (@organization.courses.map(&:id)-shield_course_ids) << 0 - course_types = "('Message','News','HomeworkCommon','Poll','Course')" - case params[:type] - when nil - @org_activities = OrgActivity.where("(container_id =? and container_type =?) " + - "or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+ - "or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))", - @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) - when 'project_issue' - @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) - when 'project_message' - @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) - when 'org' - @org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) - when 'course_homework' - @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'HomeworkCommon' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) - when 'course_news' - @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'News' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) - when 'course_message' - @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Message' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) - when 'course_poll' - @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Poll' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) - end - end - @page = params[:page] ? params[:page].to_i : 1 - respond_to do |format| - format.html - format.js - end + # 组织新类型 show_mode:判断标准 1为新类型,0为旧 + if @organization.show_mode == 1 + @subfield_content = @organization.org_subfields.order("priority") + @project_acts = get_project_activities_org @organization + @course_acts_homework = get_course_homework_activities_org @organization + @course_acts_message = get_course_message_activities_org @organization + else - render_403 + if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) + @organization = Organization.find(params[:id]) + # 统计访问量 + @organization.update_attribute(:visits, @organization.visits.to_i + 1) + if params[:org_subfield_id] + @org_subfield = OrgSubfield.find(params[:org_subfield_id]) + @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0 + @org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10) + else + shield_project_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id) + shield_course_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id) + project_ids = (@organization.projects.map(&:id)-shield_project_ids) << 0 + course_ids = (@organization.courses.map(&:id)-shield_course_ids) << 0 + course_types = "('Message','News','HomeworkCommon','Poll','Course')" + case params[:type] + when nil + @org_activities = OrgActivity.where("(container_id =? and container_type =?) " + + "or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+ + "or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))", + @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) + when 'project_issue' + @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'project_message' + @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'org' + @org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) + when 'course_homework' + @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'HomeworkCommon' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'course_news' + @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'News' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'course_message' + @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Message' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'course_poll' + @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Poll' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + end + end + @page = params[:page] ? params[:page].to_i : 1 + respond_to do |format| + format.html + format.js + end + else + render_403 + end end + + end + + def get_project_activities_org org + project_ids = org.projects.map{|project| project.id}.join(",") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' order by updated_at desc limit 3;") + end + + def get_course_homework_activities_org org + course_ids = org.courses.map{|course| course.id}.join(",") + #project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' order by updated_at desc limit 5;") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'HomeworkCommon' order by updated_at desc limit 4;") + end + + def get_course_message_activities_org org + course_ids = org.courses.map{|course| course.id}.join(",") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'Message' order by updated_at desc limit 4;") end def update diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index e52238503..1c30bc192 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -110,7 +110,7 @@
    @@ -132,7 +132,7 @@ <% else %> <% if field.field_type == "Post" %> <%= link_to field.name, organization_path(@organization), :class => "fl" %> - <% else %> + <% elsif field.field_type == "Resource" %> <%= link_to field.name, organization_path(@organization), :class => "fl" %> <% end %> <% end %> @@ -153,7 +153,7 @@
    -

    课程动态
    GNSS

    +

    <%= @organization.name %>

    course activities

    More @@ -162,7 +162,7 @@

    -

    中国北斗开源社区
    GNSS

    +

    <%= @organization.name %>

    open laboratory of simulation and testing

    More @@ -172,7 +172,7 @@

    -

    中国北斗开源社区
    GNSS

    +

    <%= @organization.name %>

    open laboratory of simulation and testing

    More @@ -186,36 +186,50 @@

    + +<% @subfield_content.each do |field| %>
    -

    课程动态

    open laboratory

    +

    课程动态

    course activities

    - - 2016-03-22 -

    首届卫星导航仿真与测试专题研讨会在...首届卫星导航仿真与测试专题研讨会在...

    -
    10月15日,由卫星导航仿真与测试开放实验室联盟主办的首次专题研讨会在西安国家民用航天产业基地隆重召开...
    -
    - - 2016-03-22 -

    首届卫星导航仿真与测试专题研讨会在...首届卫星导航仿真与测试专题研讨会在...

    -
    10月15日,由卫星导航仿真与测试开放实验室联盟主办的首次专题研讨会在西安国家民用航天产业基地隆重召开...
    -
    + <% @course_acts_homework.each do |act| %> + <% if act.container_type == 'Course' %> + <% case act.org_act_type.to_s %> + <% when 'HomeworkCommon' %> + <%= render :partial => 'org_new_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %> + <% when 'News' %> + <%= render :partial => 'org_new_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %> + <% when 'Message'%> + <%= render :partial => 'org_new_course_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> + <% when 'Poll' %> + <%= render :partial => 'org_new_course_poll', :locals => {:activity => Poll.find(act.org_act_id), :user_activity_id => act.id} %> + <% when 'Course'%> + <%= render :partial => 'org_new_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %> + <% end %> + <% end %> + <% end %> More
    - - 2016-03-22 -

    首届卫星导航仿真与测试专题研讨会在...首届卫星导航仿真与测试专题研讨会在...

    -
    10月15日,由卫星导航仿真与测试开放实验室联盟主办的首次专题研讨会在西安国家民用航天产业基地隆重召开...
    -
    - - 2016-03-22 -

    首届卫星导航仿真与测试专题研讨会在...首届卫星导航仿真与测试专题研讨会在...

    -
    10月15日,由卫星导航仿真与测试开放实验室联盟主办的首次专题研讨会在西安国家民用航天产业基地隆重召开...
    -
    + <% @course_acts_message.each do |act| %> + <% if act.container_type == 'Course' %> + <% case act.org_act_type.to_s %> + <% when 'HomeworkCommon' %> + <%= render :partial => 'org_new_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %> + <% when 'News' %> + <%= render :partial => 'org_new_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %> + <% when 'Message'%> + <%= render :partial => 'org_new_course_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> + <% when 'Poll' %> + <%= render :partial => 'org_new_course_poll', :locals => {:activity => Poll.find(act.org_act_id), :user_activity_id => act.id} %> + <% when 'Course'%> + <%= render :partial => 'org_new_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %> + <% end %> + <% end %> + <% end %> More
    @@ -252,9 +266,18 @@
    -

    2016.01.30环球网卫星导航仿真与测试开放实验室落户泉州

    -

    卫星导航仿真与测试开放实验室是国内首个GNSS仿真与测试开放共享平台,北斗泉州实验室由国防科技大学泉州工业技术研究中心、福建省福信富通网络科技股份有限公司与开放实验室合作共建,计划于2016年3月建成并投用,将承建国内首个北斗海上数据应用中心,利用开放实验室优势资源承担相关专业人才培训,联合所属区域高校和企业开展船载导航终端北斗导航定位数据的采集、分析和应用,服务于全国北斗终端测试检定和相关应用研究。 - 据介绍,实验室建成后,将为泉州以及周边县(市、区)的北斗产业应用发展提供相应支撑,并依托泉州的地理和政策优势,推动北斗向海上丝绸之路经济带沿线国家的推广应用。

    + <% @project_acts.each do |act| %> + <% if act.container_type == 'Project' %> + <% case act.org_act_type.to_s %> + <% when 'Issue' %> + <%= render :partial => 'organizations/org_new_project_issues', :locals => {:activity => Issue.find(act.org_act_id)} %> + <% when 'Message' %> + <%= render :partial => 'organizations/org_new_project_message', :locals => {:activity => Message.find(act.org_act_id)} %> + <% when 'ProjectCreateInfo'%> + <%= render :partial => 'organizations/org_new_project_create', :locals => {:activity => act} %> + <% end %> + <% end %> + <% end %>
    @@ -297,7 +320,7 @@
    - +<% if field.field_type == "Post" %>

    社区规则

    open source

    @@ -336,82 +359,7 @@
    - - -
    -
    -
    -

    北斗社区规则

    community rules

    -

    欢迎大家加入北斗社区,卫星导航仿真与测试开放实验室是国内首个GNSS仿真与测试开放共享平台

    -
    - -
    -
    +<% end %>
    @@ -450,6 +398,8 @@
    +<% end %> + +
    diff --git a/app/views/users/_send_homework_to_course.html.erb b/app/views/users/_send_homework_to_course.html.erb index b19fbd1a8..67fd36c3c 100644 --- a/app/views/users/_send_homework_to_course.html.erb +++ b/app/views/users/_send_homework_to_course.html.erb @@ -1,4 +1,4 @@ -
    +
    发送到
    @@ -8,33 +8,9 @@
    - <%= form_tag send_homework_to_course_user_path(user),:remote=>true,:id=>'choose_course_list_form' %> -
    - <%= hidden_field_tag(:send_id, send_id) %> -
    - <% if !courses.empty? %> - <% courses.each do |course| %> -
      -
    • - -
    • -
    • <%= truncate(course.name,:lendght=>25) + '['+current_time_and_term(course) + ']'%>
    • -
    - <% end %> -
    +
    + <%= render :partial => "users/send_homework_to_course_form", :locals => {:user => user, :courses => courses, :send_id => send_id} %>
    -
    - -
    -
    - 确定 -
    -
    - 取消 -
    -
    -
    - <% end %>
    -
    +
    +
    + + <%# 登录 %> + <% if User.current.logged? %> + + + <%#= link_to image_tag(url_to_avatar(User.current)), user_url_in_org(User.current.id), :alt => '用户头像', :target => '_blank', :class => "fr user-img" %> + <%#= link_to User.current, user_url_in_org(User.current.id),:id => "orgUserName",:class => 'fontGrey2 f14 mr5',:target => '_blank' %> + <%#= link_to "退出",logout_url_without_domain, :class =>"menuGrey", :method => 'post', :rel => "nofollow" %> + + + <% else %> + + + <% end %> + +
    +
    +
    + + + + + + + + +
    <%= image_tag(url_to_avatar(@organization),width:"60", height: "60", :id=>'nh_user_tx') %> diff --git a/public/images/org_new_style/banner.jpg b/public/images/org_new_style/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..385b24c9e781128f2cc1efb89d1773568e61c031 GIT binary patch literal 48752 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 literal 0 HcmV?d00001 diff --git a/public/stylesheets/org_new_style.css b/public/stylesheets/org_new_style.css index 4833e8966..e23d3f28d 100644 --- a/public/stylesheets/org_new_style.css +++ b/public/stylesheets/org_new_style.css @@ -1,6 +1,5 @@ @charset "utf-8"; /* CSS Document */ - body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;} body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5; background:#fff;} div,img,tr,td,table{ border:0;} @@ -18,15 +17,16 @@ a:hover{color:#29156f;} .mb70{ margin-bottom:70px;} /** header **/ -.header{ width:100%; height:72px; background:#29146f; padding:38px 0 40px;} +.header{ width:100%; height:60px; background:#29146f; padding:5px 0 0px; } .header-con{ width:1200px; margin:0 auto;} +.logo,.logo img{ display:block; height:52px; } a.login{ background:url(../images/org_new_style/icons.png) -7px -11px no-repeat; width:146px; height:55px; margin-right:40px; margin-top:11px;} a:hover.login{ background:url(../images/org_new_style/icons.png) -7px -88px no-repeat; } a.register{ background:url(../images/org_new_style/icons.png) -190px -11px no-repeat; width:158px; height:55px; ;margin-top:11px;} a:hover.register{ background:url(../images/org_new_style/icons.png) -190px -88px no-repeat; } /** nav **/ -.nav-box{ width:1200px; height:79px; margin:0 auto;} -.nav a{ display:block; padding:25px 10px; font-size:18px; color:#000; margin-right:20px; } +.nav-box{ width:1200px; height:60px; margin:0 auto;} +.nav a{ display:block; padding:15px 10px; font-size:18px; color:#000; margin-right:20px; } .navact{border-bottom:3px solid #ffbd18;} .nav a:hover{border-bottom:3px solid #ffbd18;} .searchbox{ width:338px; height:57px; border:1px solid #ccc; -moz-border-radius: 35px; -webkit-border-radius: 35px; margin:10px 0px 0 0;} @@ -37,40 +37,10 @@ a:hover.search-icon{ background:url(../images/org_new_style/icons.png) -387px -8 .searchbox:hover{ background:#999999; color:#fff;} /* Header text */ -.header-content { background: url(../images/org_new_style/header-background.jpg) no-repeat 50% 0px #070317;margin: 0;padding: 0;float: left;width: 100%;line-height: 22px;position: relative;z-index: 1;} -.header-content.home {height: 609px;} -.home .header-content { background: #070317 ; } -.header-content img {float: left; margin: 0 0 0 15px;} -.header-content .text {width:800px; text-align:center; margin-top:20%; } -.header-content .copy {font-size: 24px; line-height: 70px; } -.header-content .button { margin:0 auto;} -.header-content .dimmed { background: rgba(255, 255, 255, 0.4);} -.header-content .dimmed:hover { background: rgba(255, 255, 255, 1); } -.header-content .align-bottom {position: absolute; bottom: 0px;} -/* => SLIDE PREV AND NEXT ARROWS <= */ -.slider-prev, -.slider-next {text-indent:-9999px; width:60px;height:60px;background:url("../images/org_new_style/icons.png") -306px -264px no-repeat; position:absolute;top:50%; margin-top:-19px; z-index:999; opacity:.5; --webkit-transition: all 0.3s ease-out; /* Saf3.2+, Chrome */-moz-transition: all 0.3s ease-out; /* FF4+ */ -ms-transition: all 0.3s ease-out; /* IE10? */ -o-transition: all 0.3s ease-out; /* Opera 10.5+ */ transition: all 0.3s ease-out;display: none} -.slider-prev{ left:50px; } -.slider-next { right:50px;background-position:-382px -264px;} -.slider-prev:hover,.slider-next:hover{opacity:1;} -/* => SLIDER NAV o o o <= */ -.slider-nav {position:absolute;bottom:5px;left:50%;list-style:none; overflow:hidden; padding:2px; z-index:10;margin: 0; } -.slider-nav li{ float:left; } -.slider-nav li a{ display:block;width:13px;height:13px;overflow:hidden; padding:0px; margin:5px; background:url("../images/org_new_style/icons.png") no-repeat -419px -219px; text-decoration:none; text-indent:-999px;} -.slider-nav li a:hover,.slider-nav li a.selected{background-position:-402px -219px;} -/* => HOLY SLIDES <= */ -.slider section {display: none;} -.slider section.first {display: block;} -.slider-sections, .slider-sections section {width: 806px; height: 600px; } -.slider-sections {margin: 0 auto; position: relative;} -.slider-sections section {position: absolute; top: 0; left: 0px; } -.header-content h2 {font:400 62px/1.2 "microsoft yahei", Tahoma, arial, sans-serif;color: #fff;margin: 0 0 26px; } -.header-content p {margin: 0 0 30px; font-size:28px; color:#fff;} -.header-content .centered-content{padding-top: 30px;padding-bottom: 10px;} -.button {float: left;width:800px;list-style: none; } -.button a { font-size: 15px;line-height: 18px; text-decoration: none;color:#FFF; padding: 12px 56px;display: block;width: auto;z-index: 2;border: none; -moz-border-radius: 25px;border-radius: 25px;cursor: pointer; margin:0 auto; width:35px;} -.button a:hover{color:#29156f;} +.banner{ width:100%; height:234px; background:#070317 url(../images/org_new_style/banner.jpg) 0 0 no-repeat; color:#fff; text-align:center; padding-top:80px; line-height:2.4;} +.banner h2{ font-size:42px; } +.banner p{ font-size:18px;} +.banner span{ font-size:16px;} /** box1 **/ .box1{ width:100%; padding:70px 0;} @@ -176,6 +146,13 @@ a.download-btn{ display:block; border:1px solid #ccc; margin-top:10px; font-siz a:hover.download-btn{ background:#29146f; color:#fff; border:none;} .user-img img{ border:2px solid #e6473b; margin-right:10px; -moz-border-radius: 50px; -webkit-border-radius: 50px;border-radius: 50px; display:block; width:40px; height:40px;} .ml60{ margin-left:60px;} +/*用户图像*/ +.topnav_login_list{ border:1px solid #eaeaea; background:#fff; padding-left:10px; padding-bottom:10px; padding-top:8px; width:60px; left:-7px; position:absolute; z-index:9999; line-height:2; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); margin-top: 1px;} +.topnav_login_list a{color:#269ac9;} +.topnav_login_list li{ } +.homepageProfileMenuIcon {background:url(../images/nav_icon.png) 30px -155px no-repeat; width:65px; height:54px; position:relative; display:inline-block; line-height:0;} +.homepageLeft {width:240px; float:left; margin-right:10px; margin-bottom:10px;} +.none {display: none;} From 961a264e053ce6ce146975d4fbf1095eee5714cb Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 29 Mar 2016 19:04:51 +0800 Subject: [PATCH 114/180] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=BB=9F=E4=B8=80date?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/base_org_newstyle.html.erb | 153 +----------------- .../_org_logined_header.html.erb | 46 ++++++ .../_org_new_course_create.html.erb | 2 +- .../_org_new_course_homework.html.erb | 2 +- .../_org_new_course_message.html.erb | 2 +- .../_org_new_course_news.html.erb | 2 +- .../_org_new_course_poll.html.erb | 2 +- .../_org_new_project_issues.html.erb | 2 +- .../_org_new_project_message.html.erb | 2 +- .../organizations/_org_new_resource.html.erb | 2 +- public/stylesheets/org_new_style.css | 2 +- 11 files changed, 62 insertions(+), 155 deletions(-) create mode 100644 app/views/organizations/_org_logined_header.html.erb diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index 1c2939071..60653b301 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -28,23 +28,7 @@ }); - @@ -54,91 +38,7 @@
    <%# 登录 %> - <% if User.current.logged? %> - - - <%#= link_to image_tag(url_to_avatar(User.current)), user_url_in_org(User.current.id), :alt => '用户头像', :target => '_blank', :class => "fr user-img" %> - <%#= link_to User.current, user_url_in_org(User.current.id),:id => "orgUserName",:class => 'fontGrey2 f14 mr5',:target => '_blank' %> - <%#= link_to "退出",logout_url_without_domain, :class =>"menuGrey", :method => 'post', :rel => "nofollow" %> - - - <% else %> - - - <% end %> - -
    -
    -
    - - - - - - - - - -
    -
    - <%= image_tag(url_to_avatar(@organization),width:"60", height: "60", :id=>'nh_user_tx') %> - <% if User.current.logged? %> - - - <% else %> - - - <% end %> + <%= render :partial => 'organizations/org_logined_header' %>
    @@ -164,52 +64,13 @@ <% end %> <% end %>
    -
    - - - - -
    -
    -
    -
    -
    -
    -
    -
    -

    <%= @organization.name %>

    -

    course activities

    -

    - More -

    -
    -
    -
    -
    -

    <%= @organization.name %>

    -

    open laboratory of simulation and testing

    -

    - More -

    -
    -
    + -
    -
    -

    <%= @organization.name %>

    -

    open laboratory of simulation and testing

    -

    - More -

    -
    -
    -
    -
    - ? ? -
    -
    @@ -246,7 +107,7 @@ <% @course_acts_message.each do |act| %> <% if act.container_type == 'Course' %> <% case act.org_act_type.to_s %> - <% when 'HomeworkCommon' %> + <% when 'HomeworkCommon' %> <%= render :partial => 'org_new_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %> <% when 'News' %> <%= render :partial => 'org_new_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %> @@ -360,7 +221,7 @@

    <%=link_to message.title %>

    - <%= format_time(message.updated_at) %> + <%= format_date(message.updated_at) %>
    <%= message.content.html_safe %>
    diff --git a/app/views/organizations/_org_logined_header.html.erb b/app/views/organizations/_org_logined_header.html.erb new file mode 100644 index 000000000..d2cf5d753 --- /dev/null +++ b/app/views/organizations/_org_logined_header.html.erb @@ -0,0 +1,46 @@ +<% if User.current.logged? %> + +<% else %> + + +<% end %> + + \ No newline at end of file diff --git a/app/views/organizations/_org_new_course_create.html.erb b/app/views/organizations/_org_new_course_create.html.erb index 29882a027..fb953d10f 100644 --- a/app/views/organizations/_org_new_course_create.html.erb +++ b/app/views/organizations/_org_new_course_create.html.erb @@ -1,5 +1,5 @@ - <%= format_time(activity.updated_at) %> + <%= format_date(activity.updated_at) %>

    <%= activity.title %>

    <%= activity.description %>
    \ No newline at end of file diff --git a/app/views/organizations/_org_new_course_homework.html.erb b/app/views/organizations/_org_new_course_homework.html.erb index 3f93300ed..ef1a73fa7 100644 --- a/app/views/organizations/_org_new_course_homework.html.erb +++ b/app/views/organizations/_org_new_course_homework.html.erb @@ -1,5 +1,5 @@ - <%= format_time activity.updated_at %> + <%= format_date activity.updated_at %>

    <%= activity.name %>

    <%= activity.description.html_safe %>
    \ No newline at end of file diff --git a/app/views/organizations/_org_new_course_message.html.erb b/app/views/organizations/_org_new_course_message.html.erb index fb2ddf197..134dc4961 100644 --- a/app/views/organizations/_org_new_course_message.html.erb +++ b/app/views/organizations/_org_new_course_message.html.erb @@ -1,5 +1,5 @@ - <%= format_time activity.updated_on %> + <%= format_date activity.updated_on %>

    <% if activity.parent_id.nil? %> <%= link_to activity.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :class=> "postGrey" %> diff --git a/app/views/organizations/_org_new_course_news.html.erb b/app/views/organizations/_org_new_course_news.html.erb index fe6c4507f..eb2ee08f7 100644 --- a/app/views/organizations/_org_new_course_news.html.erb +++ b/app/views/organizations/_org_new_course_news.html.erb @@ -1,5 +1,5 @@ - <%= format_time activity.updated_at %> + <%= format_date activity.updated_at %>

    首届卫星导航仿真与测试专题研讨会在...首届卫星导航仿真与测试专题研讨会在...

    10月15日,由卫星导航仿真与测试开放实验室联盟主办的首次专题研讨会在西安国家民用航天产业基地隆重召开...
    \ No newline at end of file diff --git a/app/views/organizations/_org_new_course_poll.html.erb b/app/views/organizations/_org_new_course_poll.html.erb index fe6c4507f..eb2ee08f7 100644 --- a/app/views/organizations/_org_new_course_poll.html.erb +++ b/app/views/organizations/_org_new_course_poll.html.erb @@ -1,5 +1,5 @@ - <%= format_time activity.updated_at %> + <%= format_date activity.updated_at %>

    首届卫星导航仿真与测试专题研讨会在...首届卫星导航仿真与测试专题研讨会在...

    10月15日,由卫星导航仿真与测试开放实验室联盟主办的首次专题研讨会在西安国家民用航天产业基地隆重召开...
    \ No newline at end of file diff --git a/app/views/organizations/_org_new_project_issues.html.erb b/app/views/organizations/_org_new_project_issues.html.erb index dd438a1f4..00075d9e6 100644 --- a/app/views/organizations/_org_new_project_issues.html.erb +++ b/app/views/organizations/_org_new_project_issues.html.erb @@ -1,4 +1,4 @@ -

    <%= format_time(activity.updated_on) %>项目社区 +

    <%= format_date(activity.updated_on) %>项目社区 <%= link_to activity.subject.to_s, issue_url_in_org(activity.id) %>

    <%= activity.description.html_safe %>

    \ No newline at end of file diff --git a/app/views/organizations/_org_new_project_message.html.erb b/app/views/organizations/_org_new_project_message.html.erb index 08338aca8..207c6cbd4 100644 --- a/app/views/organizations/_org_new_project_message.html.erb +++ b/app/views/organizations/_org_new_project_message.html.erb @@ -1,4 +1,4 @@ -

    <%= format_time(activity.updated_on) %>项目社区 +

    <%= format_date(activity.updated_on) %>项目社区 <% if activity.parent_id.nil? %> <%= link_to activity.subject.to_s.html_safe, board_message_url_in_org(activity.board.id,activity.id) %> <% else %> diff --git a/app/views/organizations/_org_new_resource.html.erb b/app/views/organizations/_org_new_resource.html.erb index 08d1f8b78..8ae583722 100644 --- a/app/views/organizations/_org_new_resource.html.erb +++ b/app/views/organizations/_org_new_resource.html.erb @@ -6,7 +6,7 @@ <%= link_to truncate(attach.filename,length: 35, omission: '...'), download_named_attachment_path(attach.id, attach.filename), :title => attach.filename+"\n"+attach.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;", :class => "fl ziyuan-title" %> -

    上传时间:<%= format_time attach.created_on %>类型:软件 上传者:尹刚 下载次数:40

    +

    上传时间:<%= format_date attach.created_on %>类型:软件 上传者:尹刚 下载次数:40

    下载
    diff --git a/public/stylesheets/org_new_style.css b/public/stylesheets/org_new_style.css index e23d3f28d..c7c3c81a8 100644 --- a/public/stylesheets/org_new_style.css +++ b/public/stylesheets/org_new_style.css @@ -93,7 +93,7 @@ ul.callbacks_tabs.callbacks1_tabs {position:absolute;bottom: 7.3%;z-index: 999;l /** 开源 **/ .box2{ height:569px; padding:70px 0; width:100%; background:url(../images/org_new_style/bg.jpg) no-repeat; } .row-box3{ width:370px;} -.row-title3{ width:290px; font-size:18px;white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:bold; } +.row-title3{ width:288px; font-size:18px;white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:bold; } .box3{height:540px; width:100%; padding:70px 0; background:url(../images/org_new_style/bg2.jpg) no-repeat; } .box-title-p3{font-size:14px; color:#999999;} .row-img2{ margin-bottom:10px; width:380px; height:310px; display:block;} From 8a6a1b94ee83c50b90c716ca6eca77c932c10242 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 29 Mar 2016 20:09:47 +0800 Subject: [PATCH 115/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E7=9A=84=E7=BB=9F=E8=AE=A1=E4=B8=8E=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/organizations_helper.rb | 8 ++++++++ app/views/layouts/base_org_newstyle.html.erb | 2 +- app/views/organizations/_org_new_resource.html.erb | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index 89a21ba0e..4834cdb9b 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -1,6 +1,7 @@ # encoding: utf-8 module OrganizationsHelper include ApplicationHelper + include FilesHelper def find_user_not_in_current_org_by_name org @@ -36,4 +37,11 @@ module OrganizationsHelper Attachment.find_by_sql("SELECT * FROM `attachments` where container_id =#{field_id} and container_type = 'OrgSubfield' and is_public =1 order by created_on limit 6;") end + def get_attach_org2(field) + org_attachments = field.attachments + attachments = User.current.admin? ? org_attachments : visable_attachemnts(org_attachments) + return attachments.sort_by{|x| x.created_on}.reverse.first(6) + # Attachment.find_by_sql("SELECT * FROM `attachments` where container_id =#{field_id} and container_type = 'OrgSubfield' and is_public =1 order by created_on limit 6;") + end + end diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index 60653b301..4a9dec200 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -233,7 +233,7 @@
    <% elsif field.field_type == "Resource" %> - <% org_attachs = get_attach_org(field.id) %> + <% org_attachs = get_attach_org2(field) %>

    <%= field.name %>

    resource dwonload

    diff --git a/app/views/organizations/_org_new_resource.html.erb b/app/views/organizations/_org_new_resource.html.erb index 8ae583722..61e6f44fb 100644 --- a/app/views/organizations/_org_new_resource.html.erb +++ b/app/views/organizations/_org_new_resource.html.erb @@ -6,9 +6,9 @@ <%= link_to truncate(attach.filename,length: 35, omission: '...'), download_named_attachment_path(attach.id, attach.filename), :title => attach.filename+"\n"+attach.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;", :class => "fl ziyuan-title" %> -

    上传时间:<%= format_date attach.created_on %>类型:软件 上传者:尹刚 下载次数:40

    +

    上传时间:<%= format_date attach.created_on %>类型:<%= attach.tag_list[0] %> 下载次数:<%= attach.downloads%> 引用:<%= attach.quotes.nil? ? 0:attach.quotes %>

    - 下载 + <%= link_to "下载", download_named_attachment_path(attach.id, attach.filename), :class => "download-btn fl" %>
    <% end %> \ No newline at end of file From a26cf19b8662437b4ee965a17d251b0f8697b985 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 29 Mar 2016 20:14:07 +0800 Subject: [PATCH 116/180] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=B8=AD=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/organizations/setting.html.erb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/views/organizations/setting.html.erb b/app/views/organizations/setting.html.erb index 2676105d3..39848d192 100644 --- a/app/views/organizations/setting.html.erb +++ b/app/views/organizations/setting.html.erb @@ -72,13 +72,13 @@
    - - - - - - - +
    + 显示模式 : + /> + + /> + +
    公开 : class="ml3" />
    From f2106d00455864fe4f29fd95e9950130672cdfdf Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 29 Mar 2016 20:33:16 +0800 Subject: [PATCH 117/180] =?UTF-8?q?more=E9=93=BE=E6=8E=A5=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=EF=BC=8C=E5=8C=BA=E5=88=86=E4=B8=A4=E7=A7=8D=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 3 +-- app/views/layouts/base_org_newstyle.html.erb | 17 +++-------------- app/views/organizations/_org_new_forum.html.erb | 12 ++++++++++++ 3 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 app/views/organizations/_org_new_forum.html.erb diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 0978e38d8..bc1a6a003 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -70,13 +70,12 @@ class OrganizationsController < ApplicationController def show # 组织新类型 show_mode:判断标准 1为新类型,0为旧 - if @organization.show_mode == 1 + if @organization.show_mode == 1 && params[:org_subfield_id].nil? @subfield_content = @organization.org_subfields.order("priority") @project_acts = get_project_activities_org @organization @course_acts_homework = get_course_homework_activities_org @organization @course_acts_message = get_course_message_activities_org @organization render :layout => 'base_org_newstyle' - else if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @organization = Organization.find(params[:id]) diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index 4a9dec200..315d53e9d 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -210,24 +210,13 @@
    <% end %> <% else %> - <% if field.field_type == "Post" %> + <% if field.field_type == "Post" %> <%# 讨论类型 %> <% message_ats = get_message_org(@organization.id, field.id) %>
    -

    <%= field.name %>

    activity zone

    +

    <%= field.name %>

    discussion zone

    - <% message_ats.each do |message| %> - - <% end %> + <%= render :partial => 'organizations/org_new_forum', :locals => {:message_ats => message_ats, :field => field, :organization => @organization} %>
    diff --git a/app/views/organizations/_org_new_forum.html.erb b/app/views/organizations/_org_new_forum.html.erb new file mode 100644 index 000000000..a7e8989e1 --- /dev/null +++ b/app/views/organizations/_org_new_forum.html.erb @@ -0,0 +1,12 @@ +<% message_ats.each do |message| %> +
    + + +

    <%=link_to message.title %>

    + <%= format_date(message.updated_at) %> +
    +
    <%= message.content.html_safe %>
    +
    + <%= link_to "More", organization_path(organization, :org_subfield_id => field.id), :class => "btn-more" %> +
    +<% end %> \ No newline at end of file From d98eb8748ec3214e0ca0f70d3828d7881b30151a Mon Sep 17 00:00:00 2001 From: linchun Date: Wed, 30 Mar 2016 14:17:12 +0800 Subject: [PATCH 118/180] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E7=95=8C=E9=9D=A2=E4=BD=9C=E4=B8=9A=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E6=88=AA=E6=AD=A2=E6=97=B6=E9=97=B4=E4=B8=BA=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E5=8F=91=E5=B8=83=E6=97=B6=E9=97=B4=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E4=B8=94=E6=8C=89=E6=97=B6=E9=97=B4=E5=80=92=E5=BA=8F=E6=8E=92?= =?UTF-8?q?=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 3 ++- app/views/admin/homework.html.erb | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index c7aa42b9e..e1e99447d 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -548,7 +548,8 @@ class AdminController < ApplicationController #作业 def homework - @homework = HomeworkCommon.order('end_time desc') + #@homework = HomeworkCommon.order('end_time desc') + @homework = HomeworkCommon.order( 'created_at desc ') @homework = paginateHelper @homework,30 @page = (params['page'] || 1).to_i - 1 respond_to do |format| diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb index 7260d68ff..4188fecea 100644 --- a/app/views/admin/homework.html.erb +++ b/app/views/admin/homework.html.erb @@ -22,7 +22,7 @@ 提交作品数 - 提交截止日期 + 作业发布日期 @@ -51,7 +51,7 @@ <%=link_to(StudentWork.where('homework_common_id=?',homework.id).count, student_work_index_path(:homework => homework.id))%> - <%=format_date(homework.end_time) %> + <%=format_date( homework.created_at ) %> <% end %> From 1f0f7708c684c58ce85362777bdfcd4a3a0bbacf Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Wed, 30 Mar 2016 15:09:06 +0800 Subject: [PATCH 119/180] fix pagination bug --- lib/redmine/pagination.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/redmine/pagination.rb b/lib/redmine/pagination.rb index 79855b966..9132f973c 100644 --- a/lib/redmine/pagination.rb +++ b/lib/redmine/pagination.rb @@ -168,7 +168,7 @@ module Redmine if block_given? yield text, parameters, options else - if args[2][:path].nil? + if args[2].nil? || args[2][:path].nil? link_to text, params.merge(parameters), options else page = "&page=" + parameters[:page].to_s unless parameters[:page].nil? From 7c55356ace49d1346c40b4a09ff75b6a2be3d769 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 30 Mar 2016 17:22:23 +0800 Subject: [PATCH 120/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=96=B0=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 27 +- app/helpers/organizations_helper.rb | 7 +- app/views/layouts/base_org_newstyle.html.erb | 399 +++++++++--------- .../_org_logined_header.html.erb | 6 +- .../_org_new_course_homework.html.erb | 16 +- .../_org_new_course_message.html.erb | 25 +- .../_org_new_course_news.html.erb | 16 +- .../organizations/_org_new_forum.html.erb | 16 +- .../_org_new_forum_reply.html.erb | 6 + .../_org_new_project_issues.html.erb | 19 +- .../_org_new_project_message.html.erb | 49 ++- public/images/org_new_style/bg.jpg | Bin 55689 -> 0 bytes public/images/org_new_style/bg2.jpg | Bin 31668 -> 0 bytes public/images/org_new_style/cd-top-arrow.svg | 7 + public/images/org_new_style/default-img.jpg | Bin 0 -> 4207 bytes public/images/org_new_style/default-img2.png | Bin 0 -> 19771 bytes public/images/org_new_style/detailimg1.jpg | Bin 50723 -> 0 bytes public/images/org_new_style/detailimg2.jpg | Bin 33550 -> 0 bytes public/images/org_new_style/detailimg3.jpg | Bin 22446 -> 0 bytes .../org_new_style/header-background.jpg | Bin 134016 -> 0 bytes public/images/org_new_style/icons.png | Bin 39862 -> 40092 bytes public/images/org_new_style/slide1.png | Bin 235600 -> 0 bytes public/images/org_new_style/slide2.png | Bin 232903 -> 0 bytes public/stylesheets/org_new_style.css | 150 ++++--- 24 files changed, 418 insertions(+), 325 deletions(-) create mode 100644 app/views/organizations/_org_new_forum_reply.html.erb delete mode 100644 public/images/org_new_style/bg.jpg delete mode 100644 public/images/org_new_style/bg2.jpg create mode 100644 public/images/org_new_style/cd-top-arrow.svg create mode 100644 public/images/org_new_style/default-img.jpg create mode 100644 public/images/org_new_style/default-img2.png delete mode 100644 public/images/org_new_style/detailimg1.jpg delete mode 100644 public/images/org_new_style/detailimg2.jpg delete mode 100644 public/images/org_new_style/detailimg3.jpg delete mode 100644 public/images/org_new_style/header-background.jpg delete mode 100644 public/images/org_new_style/slide1.png delete mode 100644 public/images/org_new_style/slide2.png diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index bc1a6a003..f7adb13dc 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -70,11 +70,16 @@ class OrganizationsController < ApplicationController def show # 组织新类型 show_mode:判断标准 1为新类型,0为旧 - if @organization.show_mode == 1 && params[:org_subfield_id].nil? + if @organization.show_mode == 1 && params[:org_subfield_id].nil? && params[:type] .nil? @subfield_content = @organization.org_subfields.order("priority") - @project_acts = get_project_activities_org @organization + # 项目两种动态 + @project_issue_acts = get_project_issue_activities_org @organization + @project_message_acts = get_project_message_activities_org @organization + # 磕碜动态 + #@project_acts_issues = get_project_activities_org @organization @course_acts_homework = get_course_homework_activities_org @organization @course_acts_message = get_course_message_activities_org @organization + @course_acts_news = get_course_news_activities_org @organization render :layout => 'base_org_newstyle' else if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @@ -125,20 +130,30 @@ class OrganizationsController < ApplicationController end - def get_project_activities_org org + def get_project_message_activities_org org project_ids = org.projects.map{|project| project.id}.join(",") - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' order by updated_at desc limit 3;") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' and org_act_type = 'Message' order by updated_at desc limit 2;") + end + + def get_project_issue_activities_org org + project_ids = org.projects.map{|project| project.id}.join(",") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' and org_act_type = 'issue' order by updated_at desc limit 4;") end def get_course_homework_activities_org org course_ids = org.courses.map{|course| course.id}.join(",") #project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' order by updated_at desc limit 5;") - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'HomeworkCommon' order by updated_at desc limit 4;") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'HomeworkCommon' order by updated_at desc limit 1;") end def get_course_message_activities_org org course_ids = org.courses.map{|course| course.id}.join(",") - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'Message' order by updated_at desc limit 4;") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'Message' order by updated_at desc limit 1;") + end + + def get_course_news_activities_org org + course_ids = org.courses.map{|course| course.id}.join(",") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' and org_act_type = 'News' order by updated_at desc limit 1;") end def update diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index 4834cdb9b..19ae17015 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -30,7 +30,12 @@ module OrganizationsHelper end def get_message_org(org_id, field_id) - OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and org_subfield_id = #{field_id} order by updated_at desc limit 3;") + OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and org_subfield_id = #{field_id} and parent_id is null order by updated_at desc limit 2;") + end + + def get_message_reply_org(org_id, ids) + # OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and parent_id is not null order by updated_at desc limit 1;") + OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and parent_id in (#{ids}) order by updated_at desc limit 1;") end def get_attach_org(field_id) diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index 315d53e9d..c796934df 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -27,242 +27,227 @@ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} }); +
    -
    -
    - - <%# 登录 %> - <%= render :partial => 'organizations/org_logined_header' %> +
    +
    + + <%# 登录 %> + <%= render :partial => 'organizations/org_logined_header' %> +
    +
    +
    + + + + +
    -
    - - - - -
    - - -<% @subfield_content.each do |field| %> - <% if is_default_field?(field) %> - <% case field.name %> - <% when 'course' %> -
    -
    -

    课程动态

    course activities

    -
    -
    - - <% @course_acts_homework.each do |act| %> - <% if act.container_type == 'Course' %> - <% case act.org_act_type.to_s %> - <% when 'HomeworkCommon' %> - <%= render :partial => 'org_new_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %> - <% when 'News' %> - <%= render :partial => 'org_new_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %> - <% when 'Message'%> - <%= render :partial => 'org_new_course_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> - <% when 'Poll' %> - <%= render :partial => 'org_new_course_poll', :locals => {:activity => Poll.find(act.org_act_id), :user_activity_id => act.id} %> - <% when 'Course'%> - <%= render :partial => 'org_new_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %> - <% end %> + + <% @subfield_content.each do |field| %> + <% if is_default_field?(field) %> + <% case field.name %> + <% when 'course' %> +
    +
    +

    课程动态

    course activities

    +
    +
      +
    • + <% @course_acts_homework.each do |act| %> + <%= render :partial => 'org_new_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id, :course_activity => 0} %> <% end %> - <% end %> - More -
    -
    - - <% @course_acts_message.each do |act| %> - <% if act.container_type == 'Course' %> - <% case act.org_act_type.to_s %> - <% when 'HomeworkCommon' %> - <%= render :partial => 'org_new_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %> - <% when 'News' %> - <%= render :partial => 'org_new_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %> - <% when 'Message'%> - <%= render :partial => 'org_new_course_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> - <% when 'Poll' %> - <%= render :partial => 'org_new_course_poll', :locals => {:activity => Poll.find(act.org_act_id), :user_activity_id => act.id} %> - <% when 'Course'%> - <%= render :partial => 'org_new_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %> - <% end %> + +
  • + <% @course_acts_message.each do |act| %> + <%= render :partial => 'org_new_course_message', :locals => {:activity => Message.find(act.org_act_id), :user_activity_id =>act.id} %> <% end %> - <% end %> - More -
  • - -
    -
    -
    -
    - <% when 'project' %> -
    -
    -

    项目动态

    project activities

    - -
    -
    -
    -
    - <% @project_acts.each do |act| %> - <% if act.container_type == 'Project' %> - <% case act.org_act_type.to_s %> - <% when 'Issue' %> - <%= render :partial => 'organizations/org_new_project_issues', :locals => {:activity => Issue.find(act.org_act_id)} %> - <% when 'Message' %> - <%= render :partial => 'organizations/org_new_project_message', :locals => {:activity => Message.find(act.org_act_id)} %> - <% when 'ProjectCreateInfo'%> - <%= render :partial => 'organizations/org_new_project_create', :locals => {:activity => act} %> - <% end %> - <% end %> + +
  • + <% @course_acts_news.each do |act| %> + <%= render :partial => 'org_new_course_news', :locals => {:activity => News.find(act.org_act_id), :user_activity_id =>act.id} %> <% end %> -
  • -
    -
    -
    -
      -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    -
    -
    -
    +
    - - -
    +
    -
    - -
    -
    - <% end %> -<% else %> - <% if field.field_type == "Post" %> <%# 讨论类型 %> - <% message_ats = get_message_org(@organization.id, field.id) %> -
    -
    -

    <%= field.name %>

    discussion zone

    -
    - <%= render :partial => 'organizations/org_new_forum', :locals => {:message_ats => message_ats, :field => field, :organization => @organization} %> -
    -
    -
    -
    - <% elsif field.field_type == "Resource" %> - <% org_attachs = get_attach_org2(field) %> -
    -
    -

    <%= field.name %>

    resource dwonload

    -
    + +
    +
    + <% when 'project' %> +
    +
    +

    项目动态

    project activities

    +
    +
    + + +
    + + + +
    + + <% @project_message_acts.each do |act| %> + <%= render :partial => 'organizations/org_new_project_message', :locals => {:activity => Message.find(act.org_act_id)} %> + <% end %> + <%= link_to "More", organization_path(@organization, :type => 1), :class => "more-btn mt30 fr", :target => "_blank" %> +
    +
    + +
    + <% @project_issue_acts.each do |act| %> + <%= render :partial => 'organizations/org_new_project_issues', :locals => {:activity => Issue.find(act.org_act_id)} %> + <% end %> + <%= link_to "More", organization_path(@organization, :type => 1), :class => "more-btn mt30 fr", :target => "_blank" %> +
    +
    + +
    +
    +
    +
    + <% end %> + <% else %> + <% if field.field_type == "Post" %> <%# 讨论类型 %> + <% message_ats = get_message_org(@organization.id, field.id) %> + <% ids = field.org_document_comments.map{|o| o.id}.join(",") %> +
    +
    +

    <%= field.name %><%= field.id %>

    discussion zone

    +
    +
    + <% message_ats.each do |act| %> + <%= render :partial => 'organizations/org_new_forum', :locals => {:activity => act, :field => field, :organization => @organization} %> + <% end %> + <%#= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn mt30 fr", :target => "_blank" %> +
    +
    + <% unless ids.blank? %> + <% message_reply_ats = get_message_reply_org(@organization.id, ids) %> +
    + <% message_reply_ats.each do |act| %> + <%= render :partial => 'organizations/org_new_forum_reply', :locals => {:activity => act, :field => field, :organization => @organization} %> + <% end %> +
    +
    + + <% end %> +
    +
    +
    + <%= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn-center mt30" , :target => "_blank" %> +
    +
    + <% elsif field.field_type == "Resource" %> + <% org_attachs = get_attach_org2(field) %> +
    +
    +

    <%= field.name %><%= field.id %>

    resource dwonload

    +
    <%= render :partial => 'organizations/org_new_resource', :locals => {:org_attachs => org_attachs} %>
    + +
    + <%= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn-center mt30" , :target => "_blank" %>
    -
    - <% end %> - <% end %> -<% end %> +
    + <% end %> + <% end %> + <% end %> - +
    - -
    - + +
    + - + - + diff --git a/app/views/organizations/_org_logined_header.html.erb b/app/views/organizations/_org_logined_header.html.erb index d2cf5d753..fa4c228a1 100644 --- a/app/views/organizations/_org_logined_header.html.erb +++ b/app/views/organizations/_org_logined_header.html.erb @@ -23,8 +23,10 @@
    <% else %> - - + <% end %> \ No newline at end of file diff --git a/app/views/files/create.js.erb b/app/views/files/create.js.erb index 1d66c2955..5150a1dc3 100644 --- a/app/views/files/create.js.erb +++ b/app/views/files/create.js.erb @@ -1,71 +1,84 @@ <% if @addTag%> - <% if @obj_flag == '3'%> - $('#tags_show_issue').html('<%= escape_javascript(render :partial => 'tags/tag_name', +<% if @obj_flag == '3'%> +$('#tags_show_issue').html('<%= escape_javascript(render :partial => 'tags/tag_name', :locals => {:obj => @obj,:non_list_all => false,:object_flag => @obj_flag}) %>'); - //$('#put-tag-form-issue').hide(); - $('#name-issue').val(""); - <% elsif @obj_flag == '6'%> - $("#tags_show-<%=@obj.class%>-<%=@obj.id%>").empty(); - $("#tags_show-<%=@obj.class%>-<%=@obj.id%>").html('<%= escape_javascript(render :partial => 'tags/tag_name', +//$('#put-tag-form-issue').hide(); +$('#name-issue').val(""); +<% elsif @obj_flag == '6'%> +$("#tags_show-<%=@obj.class%>-<%=@obj.id%>").empty(); +$("#tags_show-<%=@obj.class%>-<%=@obj.id%>").html('<%= escape_javascript(render :partial => 'tags/tag_name', :locals => {:obj => @obj,:non_list_all => false,:object_flag => @obj_flag}) %>'); - $("#put-tag-form- <%=@obj.class%>- <%=@obj.id%>").hide(); - $("#put-tag-form-<%=@obj.class%>-<%=@obj.id%> #name").val(""); - <% else %> - $('#tags_show').html('<%= escape_javascript(render :partial => 'tags/tag_name', +$("#put-tag-form- <%=@obj.class%>- <%=@obj.id%>").hide(); +$("#put-tag-form-<%=@obj.class%>-<%=@obj.id%> #name").val(""); +<% else %> +$('#tags_show').html('<%= escape_javascript(render :partial => 'tags/tag_name', :locals => {:obj => @obj,:non_list_all => false,:object_flag => @obj_flag}) %>'); - $('#tags_show').html('<%=render_attachments_tag_save(@project, nil)%>'); - $('#put-tag-form #name').val(""); - //$('#put-tag-form').hide(); - <% end %> +$('#tags_show').html('<%=render_attachments_tag_save(@project, nil)%>'); +$('#put-tag-form #name').val(""); +//$('#put-tag-form').hide(); +<% end %> <% else %> $("#attachments_fields").children().remove(); $("#upload_file_count").text("未上传文件"); $('#upload_file_div').slideToggle('slow'); - <% if @project %> - hideModal(); - <% if @in_project_toolbar %> - window.location.href = '<%= project_files_path(@project) %>' - <% else %> +<% if @project %> +hideModal(); +<% if @in_project_toolbar %> +window.location.href = '<%= project_files_path(@project) %>' +<% else %> - $("#resource_list").html('<%= j(render partial:"project_file", locals: {project: @project}) %>'); - $("#project_files_count_info").html("<%= @all_attachments.count %>"); - $("#project_files_count_nav").html("(<%= @all_attachments.count %>)") - // 添加文件上传成功提示 - <% unless params[:attachments].nil? %> - var div = $('
    文件上传成功!
    '); - $("#course_list").prepend(div); - setTimeout( function(){div.remove();},3000) - <% end %> - <% end %> - <%elsif @course%> - hideModal(); - <%if @in_course_toolbar %> - window.location.href='<%= course_files_path(@course)%>' - <%else%> - $("#resource_list").html('<%= j(render partial: "course_file" ,locals: {course: @course}) %>'); - $("#courses_files_count_info").html("<%= @all_attachments.count%>"); - $("#courses_files_count_nav").html("(<%= @all_attachments.count%>)") - // 添加文件上传成功提示, - <% unless params[:attachments].nil? %> - var div = $('
    文件上传成功!
    '); - $("#course_list").prepend(div); - setTimeout( function(){div.remove();},3000) - <% end %> - <%end%> - <% elsif @org_subfield %> - <% if params[:in_org] %> - window.location.href = '<%= org_subfield_files_path @org_subfield %>'; - <%else %> - hideModal(); - $("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); - // 添加文件上传成功提示, - <% unless params[:attachments].nil? %> +$("#resource_list").html('<%= j(render partial:"project_file", locals: {project: @project}) %>'); +$("#project_files_count_info").html("<%= @all_attachments.count %>"); +$("#project_files_count_nav").html("(<%= @all_attachments.count %>)") +// 添加文件上传成功提示 +<% unless params[:attachments].nil? %> +var div = $('
    文件上传成功!
    '); +$("#course_list").prepend(div); +setTimeout( function(){div.remove();},3000) +<% end %> +<% end %> +<%elsif @course%> +hideModal(); +<%if @in_course_toolbar %> +window.location.href='<%= course_files_path(@course)%>' +<%else%> +$("#resource_list").html('<%= j(render partial: "course_file" ,locals: {course: @course}) %>'); +$("#courses_files_count_info").html("<%= @all_attachments.count%>"); +$("#courses_files_count_nav").html("(<%= @all_attachments.count%>)") +// 添加文件上传成功提示, +<% unless params[:attachments].nil? %> +var div = $('
    文件上传成功!
    '); +$("#course_list").prepend(div); +setTimeout( function(){div.remove();},3000) +<% end %> +<%end%> +<% elsif @org_subfield %> +<% if params[:in_org] %> +window.location.href = '<%= org_subfield_files_path @org_subfield %>'; +<%else %> +hideModal(); +$("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); +// 添加文件上传成功提示, +<% unless params[:attachments].nil? %> // var div = $('
    文件上传成功!
    '); // $("#org_subfield_list").prepend(div); // setTimeout( function(){div.remove();},3000); - <% end %> - <% end %> - <% end %> +<% end %> +<% end %> +<% elsif @organization %> //组织单独处理 +<% if params[:in_org] %> +window.location.href = '<%= organization_files_path @organization %>'; +<%else %> +hideModal(); +$("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); +// 添加文件上传成功提示, +<% unless params[:attachments].nil? %> +// var div = $('
    文件上传成功!
    '); +// $("#org_subfield_list").prepend(div); +// setTimeout( function(){div.remove();},3000); +<% end %> +<% end %> +<% end %> <% end %> $(document).ready(img_thumbnails); diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index b1656cf37..697113081 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -9,8 +9,8 @@ <%= favicon %> <%= javascript_heads %> <%= heads_for_theme %> - <%= stylesheet_link_tag 'org_new_style' %> - <%= javascript_include_tag 'org' %> + <%= stylesheet_link_tag 'org_new_style','jquery/jquery-ui-1.9.2' %> + <%= javascript_include_tag 'cookie','project', 'organization','header','prettify','select_list_move','org'%> <%= javascript_include_tag 'attachments' %> <%= call_hook :view_layouts_base_html_head %> @@ -59,13 +59,25 @@ + +
    - + <%# 登录 %> <%= render :partial => 'organizations/org_logined_header' %>
    diff --git a/config/routes.rb b/config/routes.rb index 56194bd20..c6b3d9da3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -46,6 +46,14 @@ RedmineApp::Application.routes.draw do end end resources :organizations do + resource :files do + member do + + end + collection do + + end + end resources :org_document_comments do member do From 4cca29059268e976487474b6e0c55e0b4ceb8643 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 09:33:50 +0800 Subject: [PATCH 151/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=BC=96=E8=BE=91500?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E4=BD=9C=E4=B8=9A=E5=88=97=E8=A1=A8500?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 7 ++++++- app/views/admin/homework.html.erb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 1ea109ff1..81e4d7bfb 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -41,7 +41,12 @@ class OrganizationsController < ApplicationController end def edit - @organization = Organization.find(params[:id]) + # @organization = Organization.find(params[:id]) + begin + @organization = Organization.where("id =?", params[:id]) + ensure + render_404 + end end def destroy diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb index 7260d68ff..e21307485 100644 --- a/app/views/admin/homework.html.erb +++ b/app/views/admin/homework.html.erb @@ -35,7 +35,7 @@ <%=@count %> - <%=link_to(homework.name, student_work_index_path(:homework => homework.id))%> + <%=link_to(homework.try(:name), student_work_index_path(:homework => homework.id))%> <%= link_to(homework.course.name, course_path(homework.course.id)) %> From 92a08dc606960674104bc199adb2ee910ab2231b Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 09:37:31 +0800 Subject: [PATCH 152/180] =?UTF-8?q?=E4=BD=9C=E4=B8=9A500=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20admin=E7=BB=84=E7=BB=87=E7=BC=96=E8=BE=91500=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 7 ++++++- app/views/admin/homework.html.erb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 280957449..920b9f2c4 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -41,7 +41,12 @@ class OrganizationsController < ApplicationController end def edit - @organization = Organization.find(params[:id]) + # @organization = Organization.find(params[:id]) + begin + @organization = Organization.where("id =?", params[:id]) + ensure + render_404 + end end def destroy diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb index 4188fecea..09f42bb84 100644 --- a/app/views/admin/homework.html.erb +++ b/app/views/admin/homework.html.erb @@ -35,7 +35,7 @@ <%=@count %> - <%=link_to(homework.name, student_work_index_path(:homework => homework.id))%> + <%=link_to(homework.try(:name), student_work_index_path(:homework => homework.id))%> <%= link_to(homework.course.name, course_path(homework.course.id)) %> From 8f4ff2bf910e6095ecf17f04df4b9669705a7630 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 10:20:31 +0800 Subject: [PATCH 153/180] =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_org_new_course_act_list.html.erb | 14 +++++++------- .../organizations/_org_new_forum_list.html.erb | 4 ++-- .../_org_new_project_act_list.html.erb | 14 +++++++------- public/stylesheets/org_new_style.css | 7 +++++++ 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/app/views/organizations/_org_new_course_act_list.html.erb b/app/views/organizations/_org_new_course_act_list.html.erb index 56202ee86..81f1b6410 100644 --- a/app/views/organizations/_org_new_course_act_list.html.erb +++ b/app/views/organizations/_org_new_course_act_list.html.erb @@ -4,8 +4,8 @@
    <%= link_to image_tag(url_to_avatar(activity.user),:width => "40", :height => "40"), user_path(activity.user), :class => "fl user-img" %> -
    - <%= link_to activity.name.to_s, student_work_index_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %> +
    + <%= link_to activity.name.to_s, student_work_index_url_in_org(activity.id), :target => '_blank', :class => "fl note-title" %> <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>

    发布时间:<%= format_date activity.updated_at %> 作者:<%= activity.try(:user).try(:realname).nil? ? activity.try(:user).try(:login) : activity.try(:user).try(:realname) %> @@ -18,11 +18,11 @@

    <%= link_to image_tag(url_to_avatar(activity.author),:width => "40", :height => "40"), user_path(activity.author), :class => "fl user-img" %> -
    +
    <% if activity.parent_id.nil? %> - <%= link_to activity.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl ziyuan-title" %> + <%= link_to activity.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl note-title" %> <% else %> - <%= link_to activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl ziyuan-title" %> + <%= link_to activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl note-title" %> <% end %> <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>

    发布时间:<%= format_date activity.updated_on %> @@ -36,8 +36,8 @@

    <%= link_to image_tag(url_to_avatar(activity.author),:width => "40", :height => "40"), user_path(activity.author), :class => "fl user-img" %> -
    - <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %> +
    + <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl note-title" %>

    发布时间:<%= format_date activity.created_on %> 作者:<%= activity.try(:author).try(:realname).nil? ? activity.try(:author).try(:login) : activity.try(:author).try(:realname) %> <%= activity.comments.count %>

    diff --git a/app/views/organizations/_org_new_forum_list.html.erb b/app/views/organizations/_org_new_forum_list.html.erb index b0346b9f7..bcd79c35f 100644 --- a/app/views/organizations/_org_new_forum_list.html.erb +++ b/app/views/organizations/_org_new_forum_list.html.erb @@ -2,8 +2,8 @@
    <%= link_to image_tag(url_to_avatar(activity.creator),:width => "40", :height => "40"), user_path(activity.creator), :class => "fl user-img" %> -
    - <%= link_to activity.title.to_s, organization_path(@organization, :org_subfield_id => field.id), :target => '_blank', :class => "fl ziyuan-title" %> +
    + <%= link_to activity.title.to_s, organization_path(@organization, :org_subfield_id => field.id), :target => '_blank', :class => "fl note-title" %> <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>

    发布时间:<%= format_date activity.updated_at %> 作者:<%= activity.try(:creator).try(:realname).nil? ? activity.try(:creator).try(:login) : activity.try(:creator).try(:realname) %> diff --git a/app/views/organizations/_org_new_project_act_list.html.erb b/app/views/organizations/_org_new_project_act_list.html.erb index 407c8fa97..278972b1a 100644 --- a/app/views/organizations/_org_new_project_act_list.html.erb +++ b/app/views/organizations/_org_new_project_act_list.html.erb @@ -4,8 +4,8 @@

    <%= link_to image_tag(url_to_avatar(activity.author),:width => "40", :height => "40"), user_path(activity.author), :class => "fl user-img" %> -
    - <%= link_to activity.subject.to_s, issue_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %> +
    + <%= link_to activity.subject.to_s, issue_url_in_org(activity.id), :target => '_blank', :class => "fl note-title" %> <%#= link_to activity.name.to_s, student_work_index_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %> <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>

    发布时间:<%= format_date activity.updated_on %> @@ -19,11 +19,11 @@

    <%= link_to image_tag(url_to_avatar(activity.author),:width => "40", :height => "40"), user_path(activity.author), :class => "fl user-img" %> -
    +
    <% if activity.parent_id.nil? %> - <%= link_to activity.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl ziyuan-title" %> + <%= link_to activity.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl note-title" %> <% else %> - <%= link_to activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl ziyuan-title" %> + <%= link_to activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "fl note-title" %> <% end %> <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>

    发布时间:<%= format_date activity.updated_on %> @@ -37,8 +37,8 @@

    <%= link_to image_tag(url_to_avatar(activity.author),:width => "40", :height => "40"), user_path(activity.author), :class => "fl user-img" %> -
    - <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %> +
    + <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl note-title" %>

    发布时间:<%= format_date activity.created_on %> 作者:<%= activity.try(:author).try(:realname).nil? ? activity.try(:author).try(:login) : activity.try(:author).try(:realname) %> <%= activity.comments.count %>

    diff --git a/public/stylesheets/org_new_style.css b/public/stylesheets/org_new_style.css index ad0170ec1..442ca9ce3 100644 --- a/public/stylesheets/org_new_style.css +++ b/public/stylesheets/org_new_style.css @@ -185,6 +185,13 @@ a:hover.more-btn-center{ background:#29146f; color:#fff;} .nocontent{ font-size:30px; color:#888; margin:150px auto; text-align:center;} +/** 帖子列表模式 **/ +.note-box{ width:515px; } +.note-box span{ margin-right:5px;} +.note-title{ display:block; width:515px; font-size:16px;white-space:nowrap; overflow:hidden; text-overflow:ellipsis;} +.note-box p{display:block; width:515px; color:#888; font-size:12px; line-height:2.5;} +.right-info2{background:url(../images/org_new_style/icons.png) no-repeat -41px -540px ; width:15px; line-height:1.9; height:16px; padding-left:20px; color:#888; margin-top:5px;} + From 638280a07e32b0931a1e9ad7b64763c76ea4784d Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 10:31:16 +0800 Subject: [PATCH 154/180] =?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 --- .../organizations/_subfield_list.html.erb | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/views/organizations/_subfield_list.html.erb b/app/views/organizations/_subfield_list.html.erb index 4fbeb971f..2c679eb3d 100644 --- a/app/views/organizations/_subfield_list.html.erb +++ b/app/views/organizations/_subfield_list.html.erb @@ -23,14 +23,19 @@
  • <%= name %>
  • 默认
  • - <%= form_tag({:controller => 'org_subfields', :action => 'update_status', :id => field.id,},:remote=>'true', :method => 'post', :id=>"update_status_form_#{field.id}", :class => 'query_form') do %> -
    - -
    - <%= select( :name,:group_id, subfield_status_option, - { :include_blank => false,:selected => field.status}, - {:onchange=>"update_status('#update_status_form_#{field.id}');", :id =>"field_status_id", :name => "status",:class=>"undis class-edit fl", :style => "width:56px;"}) %> + <% if field.name == "activity" %> + 默认 + <% else %> + <%= form_tag({:controller => 'org_subfields', :action => 'update_status', :id => field.id,},:remote=>'true', :method => 'post', :id=>"update_status_form_#{field.id}", :class => 'query_form') do %> +
    + +
    + <%= select( :name,:group_id, subfield_status_option, + { :include_blank => false,:selected => field.status}, + {:onchange=>"update_status('#update_status_form_#{field.id}');", :id =>"field_status_id", :name => "status",:class=>"undis class-edit fl", :style => "width:56px;"}) %> + <% end %> <% end %> +
  • 默认
  • <%= field.hide==0?"隐藏":"可见" %> From 25da9254970d8be5358157b2b1692245712f299a Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 11:38:20 +0800 Subject: [PATCH 155/180] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=86=85=E5=AE=B9=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 3 +- .../_org_new_course_act_list.html.erb | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 920b9f2c4..2af1f1d9e 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -176,7 +176,8 @@ class OrganizationsController < ApplicationController def get_course_activities_org org course_ids = org.courses.map{|course| course.id}.join(",") unless course_ids.blank? - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' order by updated_at desc limit 8;") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' + and org_act_type in ('HomeworkCommon', 'Poll', 'Message', 'News', 'Course') order by updated_at desc limit 8;") else project_acts = nil end diff --git a/app/views/organizations/_org_new_course_act_list.html.erb b/app/views/organizations/_org_new_course_act_list.html.erb index 81f1b6410..8dceeb6cb 100644 --- a/app/views/organizations/_org_new_course_act_list.html.erb +++ b/app/views/organizations/_org_new_course_act_list.html.erb @@ -43,6 +43,38 @@ <%= activity.comments.count %>

    + <% elsif act.org_act_type == "Poll" %> + <% activity = Poll.find(act.org_act_id) %> + <% has_commit = has_commit_poll?(activity.id ,User.current)%> + <% poll_name = activity.polls_name.empty? ? l(:label_poll_new) : activity.polls_name%> + <% if ( activity.polls_status==2) %> +
    + <%= link_to image_tag(url_to_avatar(activity.user),:width => "40", :height => "40"), user_path(activity.user), :class => "fl user-img" %> + +
    + <% if has_commit %> + <%= link_to poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => '_blank', :class => "fl note-title" %> + <% else %> + <%= link_to poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s, :target => '_blank', :class => "fl note-title" %> + <% end %> +

    发布时间:<%= format_date activity.published_at %> + 作者:<%= activity.try(:user).try(:realname).nil? ? activity.try(:user) : activity.try(:user).try(:realname) %> + 0

    +
    +
    + <% end %> + <% elsif act.org_act_type == "Course" %> + <% activity = Course.find(act.org_act_id) %> +
    + <%= link_to image_tag(url_to_avatar(activity.teacher),:width => "40", :height => "40"), user_path(activity.teacher), :class => "fl user-img" %> + +
    + <%= link_to activity.name.to_s, course_url_in_org(activity.id), :target => '_blank', :class => "fl note-title" %> +

    发布时间:<%= format_date activity.created_at %> + 作者:<%= activity.try(:teacher).try(:realname).nil? ? activity.try(:teacher) : activity.try(:teacher).try(:realname) %> + 0

    +
    +
    <% end %> <% end %> \ No newline at end of file From aee695e94d79f455b173e27893916e814e393e31 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 11:48:13 +0800 Subject: [PATCH 156/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0poll=E3=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_org_new_course_pic.html.erb | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/app/views/organizations/_org_new_course_pic.html.erb b/app/views/organizations/_org_new_course_pic.html.erb index 26a5762bb..15a9c4582 100644 --- a/app/views/organizations/_org_new_course_pic.html.erb +++ b/app/views/organizations/_org_new_course_pic.html.erb @@ -71,7 +71,36 @@
    - + <% elsif act.org_act_type == "Poll" %> + <% activity = Poll.find(act.org_act_id) %> + <% has_commit = has_commit_poll?(activity.id ,User.current)%> + <% poll_name = activity.polls_name.empty? ? l(:label_poll_new) : activity.polls_name%> + <% if ( activity.polls_status==2) %> +
  • + +
    + <% iamge_path = get_image_path_from_content(activity.polls_description) %> + <% if iamge_path.nil? %> + <%= link_to image_tag("/images/org_new_style/default-img.jpg", :width => "370", :height => "220"), news_url_in_org(activity.id), :target => "_blank" %> + <% else %> + <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "370", :height => "220"), news_url_in_org(activity.id), :target => "_blank" %> + <% end %> +
    +
    + <% if has_commit %> + <%= link_to poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => '_blank' %> + <% else %> + <%= link_to poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s, :target => '_blank' %> + <% end %> +
    +
    + +
  • + <% end %> <% end %> <% end %> From a9412b959e2b2279be969d268db0ca48758ca30f Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 11:54:58 +0800 Subject: [PATCH 157/180] =?UTF-8?q?=E5=8A=A8=E6=80=81=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 2af1f1d9e..2c43eec77 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -165,7 +165,8 @@ class OrganizationsController < ApplicationController def get_project_activities_org org project_ids = org.projects.map{|project| project.id}.join(",") unless project_ids.blank? - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' order by updated_at desc limit 8;") + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' + and org_act_type in ('Message', 'Issue') order by updated_at desc limit 8;") else project_acts = nil end From c1c19f6d609dc58a70e20ad46a4104191f652ad0 Mon Sep 17 00:00:00 2001 From: linchun Date: Fri, 1 Apr 2016 15:54:59 +0800 Subject: [PATCH 158/180] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E7=95=8C=E9=9D=A2=E4=BD=9C=E4=B8=9A=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8A=A5500=E9=94=99=E8=AF=AF=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/homework.html.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb index 4188fecea..e81936886 100644 --- a/app/views/admin/homework.html.erb +++ b/app/views/admin/homework.html.erb @@ -37,9 +37,11 @@ <%=link_to(homework.name, student_work_index_path(:homework => homework.id))%> + <% if homework.course %> <%= link_to(homework.course.name, course_path(homework.course.id)) %> + <% end %> <%= homework.try(:user)%><% else %><%=homework.try(:user).try(:realname) %><% end %>'> <% if homework.try(:user).try(:realname) == ' '%> <%= link_to(homework.try(:user), user_path(homework.user_id)) %> From 02ebaf23d195f615df3aa66eb81774a0a74c40b1 Mon Sep 17 00:00:00 2001 From: linchun Date: Fri, 1 Apr 2016 16:17:26 +0800 Subject: [PATCH 159/180] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E7=95=8C=E9=9D=A2=E7=BB=84=E7=BB=87=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=80=BB=E7=BB=84=E7=BB=87=E7=9A=84=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/organization.html.erb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/organization.html.erb b/app/views/admin/organization.html.erb index 02b897f80..6fde09ede 100644 --- a/app/views/admin/organization.html.erb +++ b/app/views/admin/organization.html.erb @@ -24,7 +24,8 @@ "> - <%= link_to org.name,home_path(:organization => org.id) %> + <%#= link_to org.name,home_path(:organization => org.id) %> + <%= link_to org.name, organization_path(org) %> From 9e7c595e559604e56afe935a82d613dd9531db25 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 17:23:15 +0800 Subject: [PATCH 160/180] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E7=9A=84=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 51 +++++-- app/views/layouts/base_org_newstyle.html.erb | 23 +-- .../_org_new_forum_list.html.erb | 79 ++++++++-- .../organizations/_org_new_forum_pic.html.erb | 140 +++++++++++++++--- 4 files changed, 238 insertions(+), 55 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 2c43eec77..fb7b59742 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -79,16 +79,39 @@ class OrganizationsController < ApplicationController if @organization.show_mode == 1 && params[:org_subfield_id].nil? && params[:list] .nil? if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @subfield_content = @organization.org_subfields.order("priority") + @organization = Organization.find(params[:id]) + # 统计访问量 + @organization.update_column(:visits, @organization.visits.to_i + 1) + + # @org_subfield = OrgSubfield.find(params[:org_subfield_id]) + # @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0 + # @org_acts = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10) + + shield_project_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id) + shield_course_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id) + project_ids = (@organization.projects.map(&:id)-shield_project_ids) << 0 + course_ids = (@organization.courses.map(&:id)-shield_course_ids) << 0 + course_types = "('Message','News','HomeworkCommon','Poll','Course')" + @project_acts = get_project_activities_org @organization, project_ids + @course_acts = get_course_activities_org @organization, course_ids + #@org_acts = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc') + #@project_acts = OrgActivity.where("(container_id =? and container_type =?) " + + # "or (container_type ='Project' and org_act_type in ('Issue','Message') and container_id in (#{project_ids.join(',')})) ", + # @organization.id, 'Organization').order('updated_at desc').limit(8) + + #@course_acts = OrgActivity.where("(container_id =? and container_type =?) " + + # "or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))", + # @organization.id, 'Organization').order('updated_at desc').limit(8) + + + # 项目两种动态 - @project_acts = get_project_activities_org @organization - @project_issue_acts = get_project_issue_activities_org @organization - @project_message_acts = get_project_message_activities_org @organization - # 磕碜动态 + #@project_acts = get_project_activities_org @organization + + # 课程动态 #@project_acts_issues = get_project_activities_org @organization - @course_acts = get_course_activities_org @organization - @course_acts_homework = get_course_homework_activities_org @organization - @course_acts_message = get_course_message_activities_org @organization - @course_acts_news = get_course_news_activities_org @organization + #@course_acts = get_course_activities_org @organization + render :layout => 'base_org_newstyle' else render_403 @@ -97,7 +120,7 @@ class OrganizationsController < ApplicationController if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @organization = Organization.find(params[:id]) # 统计访问量 - @organization.update_attribute(:visits, @organization.visits.to_i + 1) + @organization.update_column(:visits, @organization.visits.to_i + 1) if params[:org_subfield_id] @org_subfield = OrgSubfield.find(params[:org_subfield_id]) @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0 @@ -162,10 +185,9 @@ class OrganizationsController < ApplicationController end # 获取整过项目的动态 - def get_project_activities_org org - project_ids = org.projects.map{|project| project.id}.join(",") + def get_project_activities_org org, project_ids unless project_ids.blank? - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids}) and container_type = 'project' + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{project_ids.join(',')}) and container_type = 'project' and org_act_type in ('Message', 'Issue') order by updated_at desc limit 8;") else project_acts = nil @@ -174,10 +196,9 @@ class OrganizationsController < ApplicationController end # 获取整过课程的动态 - def get_course_activities_org org - course_ids = org.courses.map{|course| course.id}.join(",") + def get_course_activities_org org, course_ids unless course_ids.blank? - project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids}) and container_type = 'course' + project_acts = OrgActivity.find_by_sql("SELECT * FROM org_activities where container_id in (#{course_ids.join(',')}) and container_type = 'course' and org_act_type in ('HomeworkCommon', 'Poll', 'Message', 'News', 'Course') order by updated_at desc limit 8;") else project_acts = nil diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index b1656cf37..2bb3975cf 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -113,7 +113,7 @@ <% if field.status == 0 %>

    课程动态

    - <% if @course_acts.nil? %> + <% if @course_acts.blank? %>
    <%= link_to "More", organization_path(@organization, :list =>1), :class => "more-btn-center mt30" , :target => "_blank" %> @@ -134,7 +134,7 @@ <% else %>

    课程动态

    - <% if @course_acts.nil? %> + <% if @course_acts.blank? %>
    <%= link_to "More", organization_path(@organization, :list =>1), :class => "more-btn-center mt30" , :target => "_blank" %> @@ -158,7 +158,7 @@ <% if field.status == 0 %>

    项目动态

    - <% if @project_acts.nil? %> + <% if @project_acts.blank? %>
    <%= link_to "More", organization_path(@organization, :list =>1), :class => "more-btn-center mt30" , :target => "_blank" %> @@ -180,7 +180,7 @@ <% else %>

    项目动态

    - <% if @project_acts.nil? %> + <% if @project_acts.blank? %>
    <%= link_to "More", organization_path(@organization, :list =>1), :class => "more-btn-center mt30" , :target => "_blank" %> @@ -201,13 +201,16 @@ <% end %> <% else %> <% if field.field_type == "Post" %> <%# 讨论类型 %> - <% message_ats = get_message_org(@organization.id, field.id) %> - <% ids = field.org_document_comments.map{|o| o.id}.join(",") %> + <% org_subfield = OrgSubfield.find(field.id) %> + <% org_subfield_ids = org_subfield.org_document_comments.map(&:id) << 0 %> + <% org_acts = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{org_subfield.id})").order('updated_at desc') %> + <%# message_ats = get_message_org(@organization.id, field.id) %> + <%# ids = field.org_document_comments.map{|o| o.id}.join(",") %>
    <% if field.status == 0 %>

    <%= field.name %>

    - <% if message_ats.blank? %> + <% if org_acts.blank? %>
    <% if !field.subfield_subdomain_dir.nil? %> @@ -226,7 +229,7 @@