diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb
index e1ea6935a..281f779d7 100644
--- a/app/controllers/organizations_controller.rb
+++ b/app/controllers/organizations_controller.rb
@@ -34,6 +34,7 @@ class OrganizationsController < ApplicationController
end
+
def new
@organization = Organization.new
render :layout => 'new_base'
@@ -74,10 +75,12 @@ class OrganizationsController < ApplicationController
if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
@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 = 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
@@ -153,6 +156,29 @@ class OrganizationsController < ApplicationController
#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_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 3;")
+ else
+ project_acts = nil
+ end
+ #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_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 6;")
+ else
+ project_acts = nil
+ end
+ #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 1;")
+ end
+
def get_course_homework_activities_org org
course_ids = org.courses.map{|course| course.id}.join(",")
unless course_ids.blank?
@@ -228,11 +254,6 @@ class OrganizationsController < ApplicationController
end
end
-
- def clear_org_avatar_temp
-
- end
-
def set_homepage
@org = Organization.find(params[:id])
@org.home_id = params[:home_id]
diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb
index c2ba5b03b..3cbdcafaa 100644
--- a/app/helpers/organizations_helper.rb
+++ b/app/helpers/organizations_helper.rb
@@ -30,7 +30,7 @@ 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} and parent_id is null order by updated_at desc limit 2;")
+ 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 3;")
end
def get_message_reply_org(org_id, ids)
diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb
index ff94326a0..7b3bdb754 100644
--- a/app/views/layouts/base_org_newstyle.html.erb
+++ b/app/views/layouts/base_org_newstyle.html.erb
@@ -110,9 +110,10 @@
<% if is_default_field?(field) %>
<% case field.name %>
<% when 'course' %>
-
+
+ <% if false %>
-
+
<% unless @course_acts_homework.nil? %>
@@ -140,68 +141,81 @@
+ <% else %>
+
+
课程动态
+
+ <%= render :partial => 'organizations/org_new_course_act_list', :locals =>{:activities => @course_acts, :field => field, :organization => @organization} %>
+
+
+
+ <%= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn-center mt30" , :target => "_blank" %>
+
+
+ <% end %>
<% when 'project' %>
-
+ <% if true %>
-
+
+
+
+ <% unless @project_acts.nil? %>
+
+ <%= render :partial => 'organizations/org_new_project_pic', :locals => {:activities => @project_acts} %>
+
+ <% end %>
+
+
+
+
+ <% else %>
+
+
<%= field.name %>
- <% unless @project_message_acts.nil? %>
-
-
- <% @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" %>
-
-
- <% end %>
-
- <% unless @project_issue_acts.nil? %>
-
- <% @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 %>
-
+ <%= render :partial => 'organizations/org_new_project_act_list', :locals =>{:activities => @project_acts, :field => field, :organization => @organization} %>
+
-
-
+ <%= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn-center mt30" , :target => "_blank" %>
+
+
+ <% end %>
+
<% 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 %>
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 %>
-
-
+ <% if false %>
+
-
- <%= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn-center mt30" , :target => "_blank" %>
-
+ <% message_ats.each do |act| %>
+ <%= render :partial => 'organizations/org_new_forum_pic', :locals => {:activity => act, :field => field, :organization => @organization} %>
+ <% end %>
+
+
+
+
+ <% else %>
+
+
<%= field.name %>
+
+ <% message_ats.each do |act| %>
+ <%= render :partial => 'organizations/org_new_forum_list', :locals => {:activity => act, :field => field, :organization => @organization} %>
+ <% end %>
+
+
+
+ <%= link_to "More", organization_path(@organization, :org_subfield_id => field.id), :class => "more-btn-center mt30" , :target => "_blank" %>
+
+
+
+ <% end %>
<% elsif field.field_type == "Resource" %>
<% org_attachs = get_attach_org2(field) %>
diff --git a/app/views/organizations/_org_new_course_act_list.html.erb b/app/views/organizations/_org_new_course_act_list.html.erb
new file mode 100644
index 000000000..18a1e6662
--- /dev/null
+++ b/app/views/organizations/_org_new_course_act_list.html.erb
@@ -0,0 +1,48 @@
+<% activities.each do |act| %>
+ <% if act.org_act_type == "HomeworkCommon" %>
+ <% activity = HomeworkCommon.find(act.org_act_id) %>
+
+ <%= 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.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) %>
+ <%= activity.journals_for_messages.count %>
+
+
+
+ <% elsif act.org_act_type == "Message" %>
+ <% activity = Message.find(act.org_act_id) %>
+
+ <%= 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" %>
+ <% 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" %>
+ <% end %>
+ <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>
+
发布时间:<%= format_date activity.updated_on %>
+ 作者:<%= activity.try(:author).try(:realname).nil? ? activity.try(:author).try(:login) : activity.try(:author).try(:realname) %>
+ <%= activity.children.count %>
+
+
+
+ <% elsif act.org_act_type == "News" %>
+ <% activity = News.find(act.org_act_id) %>
+
+ <%= 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, 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) %>
+ <%= activity.children.count %>
+
+
+ <% end %>
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/organizations/_org_new_forum_list.html.erb b/app/views/organizations/_org_new_forum_list.html.erb
new file mode 100644
index 000000000..a8e531b50
--- /dev/null
+++ b/app/views/organizations/_org_new_forum_list.html.erb
@@ -0,0 +1,14 @@
+
+
+ <%= 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, 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) %>
+ <%= activity.children.count %>
+
+
+
+
+
diff --git a/app/views/organizations/_org_new_forum_pic.html.erb b/app/views/organizations/_org_new_forum_pic.html.erb
new file mode 100644
index 000000000..c4fd061a5
--- /dev/null
+++ b/app/views/organizations/_org_new_forum_pic.html.erb
@@ -0,0 +1,24 @@
+
+
+
+ <% iamge_path = get_image_path_from_content(activity.content) %>
+ <% if iamge_path.nil? %>
+

+ <% else %>
+

+ <% end %>
+
+
+ <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank' %>
+
+
+
+
+
+
+
+
diff --git a/app/views/organizations/_org_new_project_act_list.html.erb b/app/views/organizations/_org_new_project_act_list.html.erb
new file mode 100644
index 000000000..b3754024f
--- /dev/null
+++ b/app/views/organizations/_org_new_project_act_list.html.erb
@@ -0,0 +1,49 @@
+<% activities.each do |act| %>
+ <% if act.org_act_type == "Issue" %>
+ <% activity = Issue.find(act.org_act_id) %>
+
+ <%= 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.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 %>
+ 作者:<%= activity.try(:author).try(:realname).nil? ? activity.try(:author).try(:login) : activity.try(:author).try(:realname) %>
+ <%= activity.journals.count %>
+
+
+
+ <% elsif act.org_act_type == "Message" %>
+ <% activity = Message.find(act.org_act_id) %>
+
+ <%= 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" %>
+ <% 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" %>
+ <% end %>
+ <%#= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "fl ziyuan-title" %>
+
发布时间:<%= format_date activity.updated_on %>
+ 作者:<%= activity.try(:author).try(:realname).nil? ? activity.try(:author).try(:login) : activity.try(:author).try(:realname) %>
+ <%= activity.children.count %>
+
+
+
+ <% elsif act.org_act_type == "News" %>
+ <% activity = News.find(act.org_act_id) %>
+
+ <%= 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, 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) %>
+ <%= activity.children.count %>
+
+
+ <% end %>
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/organizations/_org_new_project_pic.html.erb b/app/views/organizations/_org_new_project_pic.html.erb
new file mode 100644
index 000000000..aa91659ce
--- /dev/null
+++ b/app/views/organizations/_org_new_project_pic.html.erb
@@ -0,0 +1,77 @@
+
+ <% activities.each do |act| %>
+ <% if act.org_act_type == "Issue" %>
+ <% activity = Issue.find(act.org_act_id) %>
+
+
+
+ <% iamge_path = get_image_path_from_content(activity.description) %>
+ <% if iamge_path.nil? %>
+

+ <% else %>
+

+ <% end %>
+
+
+ <%= link_to activity.subject.to_s, issue_url_in_org(activity.id), :target => '_blank' %>
+
+
+
+
+ <% elsif act.org_act_type == "Message" %>
+ <% activity = Message.find(act.org_act_id) %>
+
+
+
+ <% iamge_path = get_image_path_from_content(activity.content) %>
+ <% if iamge_path.nil? %>
+

+ <% else %>
+

+ <% end %>
+
+
+ <% 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' %>
+ <% else %>
+ <%= link_to activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank' %>
+ <% end %>
+
+
+
+
+ <% elsif act.org_act_type == "News" %>
+ <% activity = News.find(act.org_act_id) %>
+
+
+
+ <% iamge_path = get_image_path_from_content(activity.description) %>
+ <% if iamge_path.nil? %>
+

+ <% else %>
+

+ <% end %>
+
+
+ <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank' %>
+
+
+
+
+
+ <% end %>
+
+ <% end %>
+
diff --git a/db/migrate/20160331060004_add_type_to_organization.rb b/db/migrate/20160331060004_add_type_to_organization.rb
deleted file mode 100644
index e9313433b..000000000
--- a/db/migrate/20160331060004_add_type_to_organization.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-class AddTypeToOrganization < ActiveRecord::Migration
- def change
- add_column :organizations, :type, :integer, :default => true
- end
-end
diff --git a/db/schema.rb b/db/schema.rb
index 8041b347b..732a42c6f 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 => 20160328022623) do
+ActiveRecord::Schema.define(:version => 20160331060004) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -1302,6 +1302,7 @@ ActiveRecord::Schema.define(:version => 20160328022623) do
t.boolean "allow_guest_download", :default => true
t.integer "visits", :default => 0
t.integer "show_mode", :default => 0
+ t.integer "type", :default => 1
end
create_table "phone_app_versions", :force => true do |t|