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 @@