diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb
index 2e63a1589..c938a2d4b 100644
--- a/app/controllers/org_document_comments_controller.rb
+++ b/app/controllers/org_document_comments_controller.rb
@@ -13,6 +13,7 @@ class OrgDocumentCommentsController < ApplicationController
@org_document_comment = OrgDocumentComment.new(:organization_id => @organization.id, :creator_id => User.current.id)
@org_document_comment.title = params[:org_document_comment][:title]
@org_document_comment.content = params[:org_document_comment][:content]
+ @org_document_comment.status = params[:org_document_comment][:status] == "on" ? 1 : 0
@org_document_comment.save_attachments(params[:attachments])
if params[:field_id]
@org_document_comment.org_subfield_id = params[:field_id].to_i
diff --git a/app/controllers/org_subfields_controller.rb b/app/controllers/org_subfields_controller.rb
index c628b25fc..159648f34 100644
--- a/app/controllers/org_subfields_controller.rb
+++ b/app/controllers/org_subfields_controller.rb
@@ -6,7 +6,7 @@ class OrgSubfieldsController < ApplicationController
if OrgSubfield.where("organization_id=#{params[:organization_id]} and name=?",params[:name]).count == 0
@res = true
@organization = Organization.find(params[:organization_id])
- @subfield = OrgSubfield.create(:name => params[:name], :organization_id => params[:organization_id],:priority => @organization.org_subfields.order("priority").last.priority + 1)
+ @subfield = OrgSubfield.create(:name => params[:name], :organization_id => params[:organization_id], :priority => @organization.org_subfields.order("priority").last.priority + 1)
if !params[:sub_dir].blank?
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]}'"
@@ -15,17 +15,31 @@ class OrgSubfieldsController < ApplicationController
end
end
@subfield.update_attributes(:field_type => params[:field_type])
- # 如果栏目是教师,不参入类型的配置,定义为右三模式
- # 新增模块命名规则,左边1开头,右边2开头,以前的不变
- # eg:23 右三
- if params[:field_type] == "Comptec"
- @subfield.update_attributes(:status => 23)
- end
+ # admin配置的类型
+ update_status_by_type(@subfield, params[:field_type])
else
@res = false
end
end
+ # status类型说明,详见SubField
+ def update_status_by_type subfield, type
+ case type
+ when "Resource"
+ subfield.update_attribute(:status, 6)
+ when "Comptec"
+ subfield.update_attribute(:status, 6)
+ when "Compstu"
+ subfield.update_attribute(:status, 7)
+ when "Comppro"
+ subfield.update_attribute(:status, 5)
+ when "Compcou"
+ subfield.update_attribute(:status, 2)
+ when "Compact"
+ subfield.update_attribute(:status, 4)
+ end
+ end
+
def show
@flag = params[:flag] || false
sort = ""
diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb
index 3ab62bbea..3cbfc8466 100644
--- a/app/controllers/organizations_controller.rb
+++ b/app/controllers/organizations_controller.rb
@@ -28,7 +28,8 @@ class OrganizationsController < ApplicationController
helper :project_score
helper :issues
include UsersHelper
- before_filter :find_organization, :only => [:show, :members, :apply_subdomain, :select_org_layout, :teachers]
+ before_filter :find_organization, :only => [:show, :members, :apply_subdomain, :select_org_layout, :teachers, :students, :projects, :courses]
+ before_filter :allow_as_admin, :only => [:students, :teachers, :projects, :courses, :acts]
layout 'base_org'
def index
@@ -76,22 +77,34 @@ class OrganizationsController < ApplicationController
def show
# 组织新类型 show_mode:判断标准 1为新类型,0为旧
- if @organization.show_mode.to_i == 1 && params[:org_subfield_id].nil? && params[:list] .nil?
+ if @organization.switch_type && params[:org_subfield_id].nil? && params[:list] .nil?
if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
- # REDO:时间紧,暂时先这样
- @org_logo_attchment = Attachment.find_by_sql("SELECT * from attachments WHERE container_id = #{@organization.id} and container_type = 'Organization' and attachtype = 0 and filename REGEXP '(.jpg|.png|.bmp|.gif|.jpeg)' ORDER BY created_on desc limit 1").first
- @org_banner_attchment = Attachment.find_by_sql("SELECT * from attachments WHERE container_id = #{@organization.id} and container_type = 'Organization' and attachtype = 1 and filename REGEXP '(.jpg|.png|.bmp|.gif|.jpeg)' ORDER BY created_on desc limit 1").first
-
@subfield_content = @organization.org_subfields.order("priority")
- @organization = Organization.find(params[:id])
- 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
- render :layout => 'base_org2'
+ 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
+ # 精品课程, 不符合条件的组织则不查询
+ if @organization.org_subfields.where(:field_type => "Compcou", :hide => 0).count > 0
+ @excellent_courses = Course.find_by_sql("select c.*, (select count(*) from course_activities where course_activities.course_id = c.id) as course_count
+ from courses c where c.is_delete =0 and c.is_public =1 and is_excellent =1 order by course_count desc limit 5;")
+ end
+ # 热门项目
+ if @organization.org_subfields.where(:field_type => "Comppro", :hide => 0).count > 0
+ # @excellent_projects = Project.where(:is_public => true, :status => true, :hot => true).order("project_score")
+ @excellent_projects = Project.find_by_sql("select p.*, (select count(*) from forge_activities where forge_activities.project_id = p.id) as project_count
+ from projects p where p.status =1 and p.is_public =1 and hot =1 order by project_count desc limit 5;")
+ end
+ # 最新动态, 来自我关联的项目和课程
+ if @organization.org_subfields.where(:field_type => "Compact", :hide => 0).count > 0
+ @acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue') and
+ ((container_type = 'Course' and container_id in (#{course_ids.join(',')})) or (container_type = 'Project' and container_id in (#{project_ids.join(',')})))
+ order by created_at desc limit 6;")
+ end
+ render :layout => 'base_org_custom'
else
render_403
end
@@ -159,22 +172,12 @@ class OrganizationsController < ApplicationController
end
def teachers
- unless @organization.allow_set_teachers
- render_403
- return
- end
q = params[:search].nil? ? "" : "#{params[:search].strip}"
@field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Comptec").first : OrgSubfield.find(params[:org_subfield_id])
@type = params[:type]
if @type == "courses" || @type.nil?
@org_teachers = User.find_by_sql("select u.*, ue.technical_title, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count
from users u, user_extensions ue where u.id = ue.user_id and ue.identity=0 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc")
- elsif @type == "students"
- @org_teachers = User.find_by_sql("select u.*, ue.technical_title, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count
- from users u, user_extensions ue where u.id = ue.user_id and ue.identity=0 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc")
- elsif @type == "resources"
- @org_teachers = User.find_by_sql("select u.*, ue.technical_title, ue.school_id,(select count(*) from attachments where attachments.author_id = u.id) as course_count
- from users u, user_extensions ue where u.id = ue.user_id and ue.identity=0 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc")
elsif @type == "famous"
@org_teachers = User.find_by_sql("select u.*, ue.technical_title, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count
from users u, user_extensions ue where u.id = ue.user_id and ue.identity=0 and u.excellent_teacher =1 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc")
@@ -192,6 +195,73 @@ class OrganizationsController < ApplicationController
end
end
+ def students
+ q = params[:search].nil? ? "" : "#{params[:search].strip}"
+ @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Compstu").first : OrgSubfield.find(params[:org_subfield_id])
+ @type = params[:type]
+ if @type == "courses" || @type.nil?
+ @org_students = User.find_by_sql("select u.*, ue.student_id, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count
+ from users u, user_extensions ue where u.id = ue.user_id and ue.identity= 1 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc")
+ elsif @type == "famous"
+ @org_students = User.find_by_sql("select u.*, ue.student_id, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count
+ from users u, user_extensions ue where u.id = ue.user_id and ue.identity= 1 and u.excellent_student =1 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc")
+ end
+ limit = 10
+ # @is_remote = true
+ @students_count = @org_students.count
+ @atta_pages = Paginator.new @students_count, limit, params['page'] || 1
+ @offset ||= @atta_pages.offset
+ #@curse_attachments_all = @all_attachments[@offset, @limit]
+ @org_students = paginateHelper @org_students, limit
+ respond_to do |format|
+ format.html
+ format.js
+ end
+ end
+
+ def atta_page_public container
+ limit = 10
+ @containers_count = container.count
+ @atta_pages = Paginator.new @containers_count, limit, params['page'] || 1
+ @offset ||= @atta_pages.offset
+ @containers = paginateHelper container, limit
+ respond_to do |format|
+ format.html
+ format.js
+ end
+ end
+
+ def projects
+ q = params[:search].nil? ? "" : "#{params[:search].strip}"
+ @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Comppro").first : OrgSubfield.find(params[:org_subfield_id])
+ @type = params[:type]
+ if @type.nil?
+ @containers = Project.find_by_sql("select p.*, (select count(*) from forge_activities where forge_activities.project_id = p.id) as project_count
+ from projects p where p.status =1 and p.is_public =1 and name like '%#{q}%' order by project_count desc;")
+ elsif @type == "famous"
+ @containers = Project.find_by_sql("select p.*, (select count(*) from forge_activities where forge_activities.project_id = p.id) as project_count
+ from projects p where p.status =1 and p.is_public =1 and hot =1 and name like '%#{q}%' order by project_count desc;")
+ end
+ atta_page_public @containers
+ end
+
+ def courses
+ q = params[:search].nil? ? "" : "#{params[:search].strip}"
+ @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Compstu").first : OrgSubfield.find(params[:org_subfield_id])
+ @type = params[:type]
+ if @type.nil?
+ @containers = Course.find_by_sql("select c.*, (select count(*) from course_activities where course_activities.course_id = c.id) as course_count
+ from courses c where c.is_delete =0 and c.is_public =1 and name like '%#{q}%' order by course_count desc;")
+ elsif @type == "famous"
+ @containers = Course.find_by_sql("select c.*, (select count(*) from course_activities where course_activities.course_id = c.id) as course_count
+ from courses c where c.is_delete =0 and c.is_public =1 and is_excellent = 1 and name like '%#{q}%' order by course_count desc;")
+ end
+ atta_page_public @containers
+ end
+
+ def acts
+ end
+
def searchmember_by_name members, name
#searchPeopleByRoles(project, StudentRoles)
mems = []
@@ -322,6 +392,13 @@ class OrganizationsController < ApplicationController
@organization = Organization.find(params[:id])
end
+ def allow_as_admin
+ unless User.current.admin?
+ render_403
+ return
+ end
+ end
+
def setting
@organization = Organization.find(params[:id])
@@ -471,16 +548,28 @@ class OrganizationsController < ApplicationController
end
end
+ def update_field_by_admin
+ @type = params[:type]
+ @status = params[:status]
+ if @type == "project"
+ @container = Project.find(params[:container])
+ @status == "reset" ? @container.update_column(:hot, 0) : @container.update_column(:hot, 1)
+ else
+ @container = Course.find(params[:container])
+ @status == "reset" ? @container.update_column(:is_excellent, 0) : @container.update_column(:is_excellent, 1)
+ end
+ end
+
# 设置为名师
def set_excellent_teacher
@ex_teacher = User.find(params[:user])
- @ex_teacher.update_column(:excellent_teacher, 1)
+ params[:type] == "student" ? @ex_teacher.update_column(:excellent_student, 1) : @ex_teacher.update_column(:excellent_teacher, 1)
end
# 取消名师
def reset_excellent_teacher
@ex_teacher = User.find(params[:user])
- @ex_teacher.update_column(:excellent_teacher, 0)
+ params[:type] == "student" ? @ex_teacher.update_column(:excellent_student, 0) : @ex_teacher.update_column(:excellent_teacher, 0)
end
def hide_org_subfield
diff --git a/app/controllers/sub_domains_controller.rb b/app/controllers/sub_domains_controller.rb
index e32935789..438b67eec 100644
--- a/app/controllers/sub_domains_controller.rb
+++ b/app/controllers/sub_domains_controller.rb
@@ -18,6 +18,9 @@ class SubDomainsController < ApplicationController
else
@res = false
end
+ respond_to do |format|
+ format.js
+ end
end
def update
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 4cb838b8c..52c5f70bc 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -443,12 +443,7 @@ class UsersController < ApplicationController
# 资源分享请求弹框
def apply_resource
- if User.current.logged?
- @attachment = Attachment.find params[:attachment_id]
- @state = 2
- else
- @state = 1
- end
+ @attachment = Attachment.find params[:attachment_id]
respond_to do |format|
format.js
end
@@ -2036,7 +2031,7 @@ class UsersController < ApplicationController
@score = @b_sort == "desc" ? "asc" : "desc"
user_project_ids = User.current.projects.map {|p| p.id}
user_course_ids = User.current.courses.map { |c| c.id} #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
- if(params[:type].blank? || params[:type] == "1") # 我的资源
+ if(params[:type] == "1") # 我的资源
# 修正:我的资源库的话,那么应该是我上传的所有资源加上,我加入的课程、项目、组织的所有资源
if params[:status] == "2"
@attachments = get_course_resources(params[:id], user_course_ids, @order, @score)
@@ -2050,7 +2045,7 @@ class UsersController < ApplicationController
# 公共资源库:所有公开资源或者我上传的私有资源
@attachments = get_my_resources(params[:id], user_course_ids, user_project_ids, @order, @score)
end
- elsif params[:type] == "6" # 公共资源
+ elsif (params[:type].blank? || params[:type] == "6") # 公共资源
if params[:status] == "2"
@attachments = get_course_resources_public( user_course_ids, @order, @score)
elsif params[:status] == "3"
@@ -2190,7 +2185,7 @@ class UsersController < ApplicationController
@score = @b_sort == "desc" ? "asc" : "desc"
user_project_ids = User.current.projects.map {|p| p.id}
user_course_ids = User.current.courses.map { |c| c.id} #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
- if(params[:type].blank? || params[:type] == "1") # 我的资源
+ if(params[:type] == "1") # 我的资源
# 修正:我的资源库的话,那么应该是我上传的所有资源加上,我加入的课程、项目、组织的所有资源
if params[:status] == "2"
@attachments = get_course_resources(params[:id], user_course_ids, @order, @score)
@@ -2204,7 +2199,7 @@ class UsersController < ApplicationController
# 公共资源库:所有公开资源或者我上传的私有资源
@attachments = get_my_resources(params[:id], user_course_ids, user_project_ids, @order, @score)
end
- elsif params[:type] == "6" # 公共资源
+ elsif (params[:type].blank? || params[:type] == "6") # 公共资源
if params[:status] == "2"
@attachments = get_course_resources_public( user_course_ids, @order, @score)
elsif params[:status] == "3"
@@ -2331,7 +2326,7 @@ class UsersController < ApplicationController
@score = @b_sort == "desc" ? "asc" : "desc"
user_project_ids = User.current.projects.map {|p| p.id}
user_course_ids = User.current.courses.map { |c| c.id} #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
- if(params[:type].blank? || params[:type] == "1") # 我的资源
+ if(params[:type] == "1") # 我的资源
# 修正:我的资源库的话,那么应该是我上传的所有资源加上,我加入的课程、项目、组织的所有资源
if params[:status] == "2"
@attachments = get_course_resources(params[:id], user_course_ids, @order, @score)
@@ -2345,7 +2340,7 @@ class UsersController < ApplicationController
# 公共资源库:所有公开资源或者我上传的私有资源
@attachments = get_my_resources(params[:id], user_course_ids, user_project_ids, @order, @score)
end
- elsif params[:type] == "6" # 公共资源
+ elsif (params[:type].blank? || params[:type] == "6") # 公共资源
if params[:status] == "2"
@attachments = get_course_resources_public( user_course_ids, @order, @score)
elsif params[:status] == "3"
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 691c2b0ad..3aa7d8a4a 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -70,7 +70,6 @@ module ApplicationHelper
attach = Attachment.find(attachment_id)
# 条件取否,result结果为true则不能下载
result = attach.is_public == 0 && attach.author != User.current && !attach.get_apply_resource_status(attach.id, User.current.id) && !attach_show_allow(attach)
- return result
end
# Time 2015-03-24 15:27:29
@@ -3104,9 +3103,10 @@ def named_attachment_url_without_domain(id, filename, option={})
attachment_id = (Attachment === id ? id.id : id)
Setting.protocol + "://" + Setting.host_name + "/attachments/" + attachment_id.to_s + "/" + filename
end
+
#判断是否为默认的组织栏目
def is_default_field? field
- (field.name == 'activity' || field.name == 'course' || field.name == 'project') && field.field_type == 'default'
+ (field.name == 'activity' || field.name == 'course' || field.name == 'project' ) && field.field_type == 'default'
end
def host_with_protocol
diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb
index cba4fa210..e6fd7591f 100644
--- a/app/helpers/organizations_helper.rb
+++ b/app/helpers/organizations_helper.rb
@@ -42,11 +42,15 @@ 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
+ # 获取两种类型的隐藏状态,数量大于0说明是可见
+ def double_field_show org
+ OrgSubfield.find_by_sql("SELECT * FROM `org_subfields` where organization_id = #{org.id} and (field_type = 'Compstu' or field_type = 'Comptec') and hide = 0;").count
+ 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;")
+ attachments = User.current.admin? ? org_attachments.first(5) : visable_attachemnts(org_attachments).first(5)
+ attachments.sort_by{|x| x.created_on}.reverse
end
# 从内容中获取路径
@@ -59,6 +63,58 @@ module OrganizationsHelper
end
end
+ def org_user_by_type obj
+ case obj.act_type
+ when "Message"
+ user = obj.act.author
+ when "News"
+ user = obj.act.author
+ when "HomeworkCommon"
+ user = obj.act.user
+ when "Issue"
+ user = obj.act.author
+ end
+ end
+
+ def org_title_by_type obj
+ case obj.act_type
+ when "Message"
+ user = obj.act.parent_id.nil? ? obj.act.subject : obj.act.parent.subject
+ when "News"
+ user = obj.act.title
+ when "HomeworkCommon"
+ user = obj.act.name
+ when "Issue"
+ user = obj.act.subject
+ end
+ end
+
+ def org_content_by_type obj
+ case obj.act_type
+ when "Message"
+ user = obj.act.parent_id.nil? ? obj.act.content : obj.act.parent.content
+ when "News"
+ user = obj.act.description
+ when "HomeworkCommon"
+ user = obj.act.description
+ when "Issue"
+ user = obj.act.description
+ end
+ end
+
+ def org_time_by_type obj
+ case obj.act_type
+ when "Message"
+ time = obj.act.updated_on
+ when "News"
+ user = obj.act.created_on
+ when "HomeworkCommon"
+ user = obj.act.updated_at
+ when "Issue"
+ user = obj.act.updated_on
+ end
+ end
+
#排列下拉框
def subfield_status_option
type = []
@@ -66,34 +122,14 @@ module OrganizationsHelper
option1 << "左一"
option1 << "1"
type << option1
- # option2 = []
- # option2 << "中一"
- # option2 << "2"
- # type << option2
+ option2 = []
+ option2 << "左二"
+ option2 << "2"
+ type << option2
option3 = []
- option3 << "左二"
+ option3 << "左三"
option3 << "3"
type << option3
- option4 = []
- option4 << "左三"
- option4 << "4"
- type << option4
- option5 = []
- option5 << "左四"
- option5 << "5"
- type << option5
- option6 = []
- option6 << "右一"
- option6 << "6"
- type << option6
- option7 = []
- option7 << "右二"
- option7 << "7"
- type << option7
- option8 = []
- option8 << "右三"
- option8 << "8"
- type << option8
type
end
@@ -104,18 +140,22 @@ module OrganizationsHelper
option1 << "左一"
option1 << "1"
type << option1
+ option2 = []
+ option2 << "左二"
+ option2 << "2"
+ type << option2
option3 = []
- option3 << "左二"
- option3 << "3"
+ option3 << "左三"
+ option3 << "2"
type << option3
option4 = []
- option4 << "左三"
- option4 << "4"
+ option4 << "右一"
+ option4 << "3"
type << option4
- option6 = []
- option6 << "右一"
- option6 << "6"
- type << option6
+ option5 = []
+ option5 << "右二"
+ option5 << "5"
+ type << option5
type
end
@@ -128,30 +168,36 @@ module OrganizationsHelper
when 3
resulet = "左二"
when 4
- resulet = "左三"
- when 5
- resulet = "左四"
- when 6
resulet = "右一"
- when 7
+ when 5
resulet = "右二"
- when 8
+ when 6
resulet = "右三"
end
end
+ # 系统栏目只有管理员才能看到
+ def subfield_to_addmin?(org)
+ if User.current.admin?
+ @organization.org_subfields.order("priority")
+ else
+ @organization.org_subfields.select { |os| (os.field_type != "Comptec" && os.field_type != "Compstu") }.sort_by {|os| os.priority}
+ end
+ end
def get_subfield_acts field
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')
- org_acts
+ end
+
+ def allow_to_create?(org, type)
+ !org_subfield_had_created?(org, type) && User.current.admin?
end
def org_subfield_had_created?(org, type)
sub_field = org.org_subfields.select{|subfield| subfield.field_type == type}
result = sub_field.length > 0 ? true : false
- result
end
def org_subfield_type(field)
@@ -166,9 +212,20 @@ module OrganizationsHelper
result = "教师"
when "Complex"
result = "综合"
+ when "Compcou"
+ result = "课程"
+ when "Comppro"
+ result = "项目"
+ when "Compact"
+ result = "动态"
end
end
+ # 获取最新动态
+ # def get_latest_acts
+ # acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'news', 'message', 'Issue') and (container_type = 'Course' or container_type = 'Project') order by created_at limit 10;")
+ # end
+
def org_teacher_resource_count user
results = Attachment.find_by_sql("SELECT * FROM attachments where author_id = #{user.id};").count
end
@@ -187,4 +244,33 @@ module OrganizationsHelper
from users u, user_extensions ue where u.id = ue.user_id and ue.identity=0 and u.excellent_teacher =1 order by course_count desc").first(5)
end
+ def excellent_students
+ User.find_by_sql("select u.*, ue.technical_title, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count
+ from users u, user_extensions ue where u.id = ue.user_id and ue.identity = 1 and u.excellent_student = 1 order by course_count desc").first(5)
+ end
+
+ def excellent_teachers_hide? org
+ org.org_subfields.where(:field_type => "Comptec").first.hide
+ end
+
+ def excellent_students_hide? org
+ org.org_subfields.where(:field_type => "Compstu").first.hide
+ end
+
+ #当前学期(2015春季学期)
+ def current_time_and_term course
+ str = ""
+ term = cur_course_term
+ if (course.time == course.end_time && course.term == course.end_term) || (course.end_term.nil? && course.end_time.nil?) || course.time > Time.now.year
+ str = course.time.to_s + course.term.to_s
+ elsif course.time == Time.now.year && set_term_value(cur_course_term) <= set_term_value(course.term)
+ str = course.time.to_s + course.term.to_s
+ elsif course.end_time < Time.now.year || (course.end_time == Time.now.year && set_term_value(cur_course_term) >= set_term_value(course.term))
+ str = course.end_time.to_s + course.end_term.to_s
+ else
+ str = Time.now.year.to_s + cur_course_term.to_s
+ end
+ str
+ end
+
end
diff --git a/app/models/attachment.rb b/app/models/attachment.rb
index 8f9ee2d85..aa4ef8670 100644
--- a/app/models/attachment.rb
+++ b/app/models/attachment.rb
@@ -143,7 +143,7 @@ class Attachment < ActiveRecord::Base
def get_apply_resource_status attachment_id, author_id
status = ApplyResource.where("attachment_id =? and user_id =?", attachment_id, author_id).first.try(:status)
- status == 2 ? true :false
+ status == 2
end
# add by nwb
diff --git a/app/models/org_document_comment.rb b/app/models/org_document_comment.rb
index 5aa3c1dab..dd070c825 100644
--- a/app/models/org_document_comment.rb
+++ b/app/models/org_document_comment.rb
@@ -1,5 +1,6 @@
class OrgDocumentComment < ActiveRecord::Base
- attr_accessible :content, :creator_id, :organization_id, :parent_id, :reply_id, :title,:sticky,:locked
+ # status: 1 模式二中置顶 0:模式二中正常显示
+ attr_accessible :content, :creator_id, :organization_id, :parent_id, :reply_id, :title, :sticky, :locked, :status
include Redmine::SafeAttributes
include ApplicationHelper
belongs_to :organization
diff --git a/app/models/org_subfield.rb b/app/models/org_subfield.rb
index 1151426e3..32212a0e8 100644
--- a/app/models/org_subfield.rb
+++ b/app/models/org_subfield.rb
@@ -11,6 +11,8 @@ class OrgSubfield < ActiveRecord::Base
acts_as_attachable
after_create :create_board_sync
after_destroy :update_priority
+ # status 为栏目定制决定参数,1 左一 2 左二 3 左三 4 右一 5 右二 6 右三 默认的 7 学霸 8 热门项目 9 精品课程 10 最新动态
+
# 创建资源栏目讨论区
def create_board_sync
@board = self.boards.build
diff --git a/app/models/organization.rb b/app/models/organization.rb
index c35d0591d..50f62ea11 100644
--- a/app/models/organization.rb
+++ b/app/models/organization.rb
@@ -18,17 +18,17 @@ class Organization < ActiveRecord::Base
end
def add_default_subfields
- OrgSubfield.create(:organization_id => self.id, :name => 'activity', :field_type => 'default', :priority => 1)
- OrgSubfield.create(:organization_id => self.id, :name => 'course', :field_type => 'default', :priority => 2)
- OrgSubfield.create(:organization_id => self.id, :name => 'project', :field_type => 'default', :priority => 3)
+ OrgSubfield.create(:organization_id => self.id, :name => 'activity', :field_type => 'default', :priority => 1, :status => 0)
+ OrgSubfield.create(:organization_id => self.id, :name => 'course', :field_type => 'default', :priority => 2, :status => 2)
+ OrgSubfield.create(:organization_id => self.id, :name => 'project', :field_type => 'default', :priority => 3, :status => 2)
end
def switch_type
- self.show_mode.to_i == 1 ? true : false
+ self.show_mode.to_i == 1
end
def allow_set_teachers
- self.allow_teacher.to_i == 1 ? true : false
+ self.allow_teacher.to_i == 1
end
def secdomain_name
diff --git a/app/views/layouts/_org_custom_footer.html.erb b/app/views/layouts/_org_custom_footer.html.erb
new file mode 100644
index 000000000..a9c4a7e36
--- /dev/null
+++ b/app/views/layouts/_org_custom_footer.html.erb
@@ -0,0 +1,10 @@
+
diff --git a/app/views/layouts/base_org_custom.html.erb b/app/views/layouts/base_org_custom.html.erb
new file mode 100644
index 000000000..bfa76a221
--- /dev/null
+++ b/app/views/layouts/base_org_custom.html.erb
@@ -0,0 +1,43 @@
+
+
+
+
+ <%= render_flash_messages %>
+ <%= yield %>
+ <%= call_hook :view_layouts_base_content %>
+
+<%# 内容结束 %>
+<%# 页面底部 %>
+
+
- <%= form_tag url_for(:controller => 'org_document_comments',:action => 'update', :id => @org_document.id, :flag => @flag, :org_subfield_id => params[:org_subfield_id]),:method => 'put', :id => 'new_org_document_form' do |f| %>
-
-
-
-
-
-
-
-
- <%#= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
+ <%= form_tag url_for(:controller => 'org_document_comments',:action => 'update', :id => @org_document.id, :flag => @flag, :org_subfield_id => params[:org_subfield_id]),:method => 'put', :id => 'new_org_document_form' do |f| %>
+
+
+
+
+
+
+ <%#= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
+
+
-
-
-
-
+
+
+
+
-
-
- <%= render :partial => 'org_document_comments/attachment', :locals => {:container => @org_document} %>
+
+
+ <%= render :partial => 'org_document_comments/attachment', :locals => {:container => @org_document} %>
+
-
-
-
-
<% end %>
-
+
\ No newline at end of file
diff --git a/app/views/org_document_comments/new.html.erb b/app/views/org_document_comments/new.html.erb
index cf4ffddcf..ed327dece 100644
--- a/app/views/org_document_comments/new.html.erb
+++ b/app/views/org_document_comments/new.html.erb
@@ -37,35 +37,6 @@
<%= form_tag organization_org_document_comments_path(:organization_id => @organization.id, :field_id => params[:field_id]), :id => 'new_org_document_form' do |f| %>
-
-
-
-
-
-
-
-
-
- <%#= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
-
-
-
-
-
-
-
-
- <%= render :partial => 'org_document_comments/attachment', :locals => {:container => nil} %>
-
-
-
-
-
-
+ <%= render :partial => "form" %>
<% end %>
diff --git a/app/views/org_subfields/create.js.erb b/app/views/org_subfields/create.js.erb
index 5cc6d5c91..952ed7b2c 100644
--- a/app/views/org_subfields/create.js.erb
+++ b/app/views/org_subfields/create.js.erb
@@ -1,10 +1,9 @@
<% if @res %>
$("#org_subfield_list").html("");
- $("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',
- :locals => {:subfields => @organization.org_subfields.order("priority") }) %>");
+ $("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)}) %>");
$("#sub_field_left_lists").html("");
$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
- $("#org_excellent_teachers").html("<%= escape_javascript(render :partial => 'organizations/setting_excellent_teachers') %>");
+ $("#org_custom_admin").html("<%= escape_javascript(render :partial => 'organizations/org_custom_admin') %>");
<% end %>
$("#subfield_name").val("");
$("#sub_dir").val("");
\ No newline at end of file
diff --git a/app/views/org_subfields/destroy.js.erb b/app/views/org_subfields/destroy.js.erb
index c14eeae8f..f61e1c100 100644
--- a/app/views/org_subfields/destroy.js.erb
+++ b/app/views/org_subfields/destroy.js.erb
@@ -1,6 +1,5 @@
$("#org_subfield_list").html("");
-$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',
- :locals => {:subfields => @organization.org_subfields.order("priority") }) %>");
+$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)}) %>");
$("#sub_field_left_lists").html("");
$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
-$("#org_excellent_teachers").html("<%= escape_javascript(render :partial => 'organizations/setting_excellent_teachers') %>");
\ No newline at end of file
+$("#org_custom_admin").html("<%= escape_javascript(render :partial => 'organizations/org_custom_admin') %>");
diff --git a/app/views/org_subfields/update.js.erb b/app/views/org_subfields/update.js.erb
index 06982ccfc..c030b7767 100644
--- a/app/views/org_subfields/update.js.erb
+++ b/app/views/org_subfields/update.js.erb
@@ -1,3 +1,4 @@
$("#subfield_show_<%= @subfield.id %>").html("<%= @subfield.name %>");
$("#sub_field_left_lists").html("");
-$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
\ No newline at end of file
+$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
+$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)}) %>");
\ No newline at end of file
diff --git a/app/views/org_subfields/update_priority.js.erb b/app/views/org_subfields/update_priority.js.erb
index 475649aac..043e8acbd 100644
--- a/app/views/org_subfields/update_priority.js.erb
+++ b/app/views/org_subfields/update_priority.js.erb
@@ -1,2 +1,2 @@
-$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',:locals => {:subfields => @organization.org_subfields.order("priority")}) %>");
-$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
\ No newline at end of file
+$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)}) %>");
+$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
diff --git a/app/views/organizations/_link_subfield_more.html.erb b/app/views/organizations/_link_subfield_more.html.erb
index cb4a82ed1..0bf6cb530 100644
--- a/app/views/organizations/_link_subfield_more.html.erb
+++ b/app/views/organizations/_link_subfield_more.html.erb
@@ -1,9 +1,9 @@
<% if !field.subfield_subdomain_dir.nil? %>
<% if !request.local? and Secdomain.where("sub_type=2 and pid=?", @organization.id).count > 0 and Secdomain.where("sub_type=2 and pid=?", @organization.id).map(&:subname).include?(request.subdomain) %>
- <%= link_to "更多", show_subfield_without_id_path(:sub_dir_name => field.subfield_subdomain_dir.name), :class => "more" , :target => "_blank" %>
+ <%= link_to "更多", show_subfield_without_id_path(:sub_dir_name => field.subfield_subdomain_dir.name), :class => "f12 fontGrey2 fr" , :target => "_blank" %>
<% else %>
- <%= link_to "更多", show_org_subfield_organization_path(:id => @organization.id, :sub_dir_name => field.subfield_subdomain_dir.name), :class => "more" , :target => "_blank" %>
+ <%= link_to "更多", show_org_subfield_organization_path(:id => @organization.id, :sub_dir_name => field.subfield_subdomain_dir.name), :class => "f12 fontGrey2 fr" , :target => "_blank" %>
<% end %>
<% else %>
- <%= link_to "更多", organization_path(@organization, :org_subfield_id => field.id), :class => "more" , :target => "_blank" %>
+ <%= link_to "更多", organization_path(@organization, :org_subfield_id => field.id), :class => "f12 fontGrey2 fr" , :target => "_blank" %>
<% end %>
\ No newline at end of file
diff --git a/app/views/organizations/_math_js.html.erb b/app/views/organizations/_math_js.html.erb
new file mode 100644
index 000000000..7ac522061
--- /dev/null
+++ b/app/views/organizations/_math_js.html.erb
@@ -0,0 +1,11 @@
+
+
+
\ No newline at end of file
diff --git a/app/views/organizations/_org2_footer.html.erb b/app/views/organizations/_org2_footer.html.erb
new file mode 100644
index 000000000..9ff7051c1
--- /dev/null
+++ b/app/views/organizations/_org2_footer.html.erb
@@ -0,0 +1,12 @@
+
+
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_avater_swap.html.erb b/app/views/organizations/_org_avater_swap.html.erb
new file mode 100644
index 000000000..70bdf3b1b
--- /dev/null
+++ b/app/views/organizations/_org_avater_swap.html.erb
@@ -0,0 +1,8 @@
+<% if @org_logo_attchment.blank? || !User.current.logged? %>
+
+<% else %>
+
+<% end %>
+<% if User.current.admin_of_org?(@organization) %>
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/organizations/_org_container.html.erb b/app/views/organizations/_org_container.html.erb
new file mode 100644
index 000000000..59ac4d95c
--- /dev/null
+++ b/app/views/organizations/_org_container.html.erb
@@ -0,0 +1,24 @@
+<% containers.each do |container| %>
+
+<% end %>
+
diff --git a/app/views/organizations/_org_custom_admin.html.erb b/app/views/organizations/_org_custom_admin.html.erb
new file mode 100644
index 000000000..2f454819c
--- /dev/null
+++ b/app/views/organizations/_org_custom_admin.html.erb
@@ -0,0 +1,30 @@
+<% if allow_to_create?(@organization, "Comptec") %>
+
+
+ 教师
+
+<% end %>
+<% if allow_to_create?(@organization, "Compstu") %>
+
+
+ 学生
+
+<% end %>
+<% if allow_to_create?(@organization, "Comppro") %>
+
+
+ 热门项目
+
+<% end %>
+<% if allow_to_create?(@organization, "Compcou") %>
+
+
+ 精品课程
+
+<% end %>
+<% if allow_to_create?(@organization, "Compact") %>
+
+
+ 最新动态
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/organizations/_org_custom_header.html.erb b/app/views/organizations/_org_custom_header.html.erb
new file mode 100644
index 000000000..cc6920f33
--- /dev/null
+++ b/app/views/organizations/_org_custom_header.html.erb
@@ -0,0 +1,96 @@
+
+
+
+
+ <% subfield_content.each do |field| %>
+ <% if is_default_field?(field) %>
+ <% case field.name %>
+ <% when 'activity' %>
+
+ <%= link_to "首页", organization_path(@organization), :class => "por_index_act" %>
+
+ <% when 'course' %>
+ <% when 'project' %>
+ <% end %>
+
+ <% else %>
+ <% if field.field_type == "Post" && field.hide == 0 %>
+
+ <% if !field.subfield_subdomain_dir.nil? %>
+ <% if !request.local? and Secdomain.where("sub_type=2 and pid=?", @organization.id).count > 0 and Secdomain.where("sub_type=2 and pid=?", @organization.id).map(&:subname).include?(request.subdomain) %>
+ <%= link_to field.name, show_subfield_without_id_path(:sub_dir_name => field.subfield_subdomain_dir.name), :class => "sn-link-white", :target => "_blank" %>
+ <% else %>
+ <%= link_to field.name, show_org_subfield_organization_path(:id => @organization.id, :sub_dir_name => field.subfield_subdomain_dir.name), :class => "sn-link-white", :target => "_blank" %>
+ <% end %>
+ <% else %>
+ <%= link_to field.name, organization_path(@organization, :org_subfield_id => field.id), :class => "sn-link-white", :target => "_blank" %>
+ <% end %>
+
+
+
+
+ <% field.sub_domains.each do |subdomain| %>
+ <%=link_to subdomain.name, org_subfield_sub_domain_sub_document_comments_path(subdomain, :org_subfield_id => field.id), :class => "sn-link-grey" %>
+ |
+ <% end %>
+
+
+ <% elsif field.field_type == "Resource" && field.hide == 0 %>
+
+ <%= link_to field.name, org_subfield_files_path(field), :class => "sn-link-white", :target => "_blank" %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+
+ <% if User.current.admin_of_org?(@organization) %>
+
配置
+ <% end %>
+
+
+
+
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_custom_left1.html.erb b/app/views/organizations/_org_custom_left1.html.erb
new file mode 100644
index 000000000..2d97fdbe2
--- /dev/null
+++ b/app/views/organizations/_org_custom_left1.html.erb
@@ -0,0 +1,170 @@
+
+ <% if acts.blank? %>
+
<%= field.name %>
+
该模块暂时没有相关内容
+ <% else %>
+
<%= field.name %>
+ <%= render :partial => 'organizations/link_subfield_more', :locals => {:field => field} %>
+
+
+ <% if acts.count > 1 %>
+ <% acts[1..2].each do |activity| %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+
+ <%= link_to "热门推荐 #{document.title}".html_safe, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), class: 'por_hot_title link-black', :target => "_blank", :title => document.title %>
+ <%= time_from_now(document.created_at) %>
+ <%= link_to document.creator.show_name, user_path(document.creator), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => document.id, :content=> document.content, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% else activity.container_type == 'OrgSubfield' %>
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where("id=#{activity.org_act_id}").count > 0 %>
+ <% message = activity.org_act %>
+ <% content = message.parent_id.nil? ? message.content : message.parent.content %>
+ <% title = message.parent_id.nil? ? message.subject : message.parent.subject %>
+ <% if message.board.org_subfield_id %>
+
+ <%= link_to "热门推荐 #{title}".html_safe, board_message_url_in_org(message.board.id,message.id), class: 'por_hot_title link-black', :target => "_blank", :title => title %>
+ <%= time_from_now(message.created_on) %>
+ <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% else %>
+
+ <%= link_to "热门推荐 #{title}".html_safe, board_message_path(message.board.id,message.id), class: 'por_hot_title link-black', :target => "_blank", :title => title %>
+ <%= time_from_now(message.created_on) %>
+ <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where("id=?", activity.org_act_id).count > 0 %>
+ <% news = activity.org_act %>
+
+ <%= link_to "热门推荐 #{news.title}".html_safe, news_path(news), class: 'por_hot_title link-black', :target => "_blank", :title => news.title %>
+ <%= time_from_now(news.created_on) %>
+ <%= link_to news.author.show_name, user_path(news.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => news.id, :content=> news.description, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+ <% end %>
+
+ <% if acts.count > 3 %>
+ <% activity = acts[3] %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+
+ <%= link_to document.title, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), class: 'por_hot_title link-black', :target => "_blank", :title => document.title %>
+ <%= time_from_now(document.created_at) %>
+ <%= link_to document.creator.show_name, user_path(document.creator), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => document.id, :content=> document.content, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% else activity.container_type == 'OrgSubfield' %>
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where("id=#{activity.org_act_id}").count > 0 %>
+ <% message = activity.org_act %>
+ <% content = message.parent_id.nil? ? message.content : message.parent.content %>
+ <% title = message.parent_id.nil? ? message.subject : message.parent.subject %>
+ <% if message.board.org_subfield_id %>
+
+ <%= link_to title, board_message_url_in_org(message.board.id,message.id), class: 'por_hot_title link-black', :target => "_blank", :title => title %>
+ <%= time_from_now(message.created_on) %>
+ <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% else %>
+
+ <%= link_to title, board_message_path(message.board.id,message.id), class: 'por_hot_title link-black', :target => "_blank", :title => title %>
+ <%= time_from_now(message.created_on) %>
+ <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where("id=?", activity.org_act_id).count > 0 %>
+ <% news = activity.org_act %>
+
+ <%= link_to news.title, news_path(news), class: 'por_hot_title link-black', :target => "_blank", :title => news.title %>
+ <%= time_from_now(news.created_on) %>
+ <%= link_to news.author.show_name, user_path(news.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => news.id, :content=> news.description, :maxheight => 60, :maxwordsnum => 80, :maxwidth => 0, :cl => "por_hot_txt"} %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+
+
+
+ <%# if acts.count > 3 %>
+ <% activity = acts.first %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+
+ <% if get_image_path_from_content(document.content).nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-1.jpg", :width => "299", :height => "246"), org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{get_image_path_from_content(document.content)}", :width => "299", :height => "246"), org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => "_blank" %>
+ <% end %>
+ <%= link_to document.title, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :class => 'por_hot_title link-black_r', :target => "_blank", :title => document.title %>
+
<%= time_from_now(document.created_at) %> <%= link_to document.creator.show_name, user_path(document.creator), :class => "por_hot_name link-blue", :target => "_blank" %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => document.id, :content=> document.content, :maxheight => 80, :maxwordsnum => 90, :maxwidth => 0, :cl => "por_hot_txt_r"} %>
+
+ <% else activity.container_type == 'OrgSubfield' %>
+
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where("id=#{activity.org_act_id}").count > 0 %>
+ <% message = activity.org_act %>
+ <% content = message.parent_id.nil? ? message.content : message.parent.content %>
+ <% title = message.parent_id.nil? ? message.subject : message.parent.subject %>
+ <% if message.board.org_subfield_id %>
+
+ <% if get_image_path_from_content(content).nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-1.jpg", :width => "299", :height => "246"), board_message_url_in_org(message.board.id, message.id), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{get_image_path_from_content(content)}", :width => "299", :height => "246"), board_message_url_in_org(message.board.id, message.id), :target => "_blank" %>
+ <% end %>
+ <%= link_to title, board_message_url_in_org(message.board.id, message.id), :class => 'por_hot_title link-black_r', :target => "_blank", :title => title %>
+
<%= time_from_now(message.created_on) %> <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 80, :maxwordsnum => 90, :maxwidth => 0, :cl => "por_hot_txt_r"} %>
+
+ <% else %>
+
+ <% if get_image_path_from_content(document.content).nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-1.jpg", :width => "299", :height => "246"), board_message_path(message.board.id, message.id), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{get_image_path_from_content(content)}", :width => "299", :height => "246"), board_message_path(message.board.id, message.id), :target => "_blank" %>
+ <% end %>
+ <%= link_to title, board_message_path(message.board.id, message.id), :class => 'por_hot_title link-black_r', :target => "_blank", :title => title %>
+
<%= time_from_now(message.created_on) %> <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 80, :maxwordsnum => 90, :maxwidth => 0, :cl => "por_hot_txt_r"} %>
+
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where("id=?", activity.org_act_id).count > 0 %>
+ <% news = activity.org_act %>
+ <% path = get_image_path_from_content(news.description) %>
+
+ <% if path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-1.jpg", :width => "299", :height => "246"), news_path(news), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{path}", :width => "299", :height => "246"), news_path(news), :target => "_blank" %>
+ <% end %>
+ <%= link_to news.title, news_path(news), :class => 'por_hot_title link-black_r', :target => "_blank", :title => news.title %>
+
<%= time_from_now(news.created_on) %> <%= link_to news.author.show_name, user_path(news.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => news.id, :content=> news.description, :maxheight => 80, :maxwordsnum => 90, :maxwidth => 0, :cl => "por_hot_txt_r"} %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+
+ <%# end %>
+
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_custom_left2.html.erb b/app/views/organizations/_org_custom_left2.html.erb
new file mode 100644
index 000000000..53169506e
--- /dev/null
+++ b/app/views/organizations/_org_custom_left2.html.erb
@@ -0,0 +1,212 @@
+
+<% if is_default_field?(field) %>
+ <% case field.name %>
+ <% when 'course' %>
+
课程动态
+ <% if @course_acts.blank? %>
+
该模块暂时没有相关内容
+ <% else %>
+ <% @course_acts.first(4).each do |act| %>
+ <% if act.org_act_type == "HomeworkCommon" %>
+ <% activity = act.org_act %>
+ <% iamge_path = get_image_path_from_content(activity.description) %>
+
+ <%= link_to activity.name.to_s, student_work_index_url_in_org(activity.id), :target => '_blank', :class => "por_course_title link-black", :title => activity.name.to_s %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), student_work_index_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), student_work_index_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now(activity.updated_at) %>
+
+ <% elsif act.org_act_type == "Message" %>
+ <% activity = act.org_act %>
+ <% iamge_path = get_image_path_from_content(activity.content) %>
+
+ <%= link_to activity.parent_id.nil? ? activity.subject : activity.parent.subject, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "por_course_title link-black", :title => activity.parent_id.nil? ? activity.subject : activity.parent.subject %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now activity.updated_on %>
+
+ <% elsif act.org_act_type == "News" %>
+ <% activity = News.find(act.org_act_id) %>
+ <% iamge_path = get_image_path_from_content(activity.description) %>
+
+ <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "por_course_title link-black", :title => activity.title %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), news_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), news_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now activity.created_on %>
+
+ <% elsif act.org_act_type == "Poll" %>
+ <% activity = act.org_act %>
+ <% has_commit = has_commit_poll?(activity.id ,User.current)%>
+ <% poll_name = activity.polls_name.empty? ? l(:label_poll_new) : activity.polls_name%>
+ <% iamge_path = get_image_path_from_content(activity.polls_description) %>
+ <% if ( activity.polls_status==2) %>
+
+ <% if has_commit %>
+ <%= link_to poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => '_blank', :class => "por_course_title link-black", :title => poll_name %>
+ <% else %>
+ <%= link_to poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => '_blank', :class => "por_course_title link-black", :title => poll_name %>
+ <% end %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.polls_description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now activity.published_at %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+ <% end %>
+ <% when 'project' %>
+
项目动态
+ <% if @project_acts.blank? %>
+
该模块暂时没有相关内容
+ <% else %>
+ <% @project_acts.first(4).each do |act| %>
+ <% if act.org_act_type == "Issue" %>
+ <% activity = act.org_act %>
+ <% iamge_path = get_image_path_from_content(activity.description) %>
+
+ <%= link_to activity.subject, issue_url_in_org(activity.id), :target => '_blank', :class => "por_course_title link-black", :title => activity.subject %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), issue_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), issue_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now activity.updated_on %>
+
+ <% elsif act.org_act_type == "Message" %>
+ <% activity = act.org_act %>
+ <% iamge_path = get_image_path_from_content(activity.content) %>
+ <% subject = activity.parent_id.nil? ? activity.subject : activity.parent.subject %>
+
+ <%= link_to subject, board_message_url_in_org(activity.board_id, activity.id), :target => '_blank', :class => "por_course_title link-black", :title => subject %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.content, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now activity.updated_on %>
+
+ <% elsif act.org_act_type == "News" %>
+ <% activity = act.org_act %>
+ <% iamge_path = get_image_path_from_content(activity.description) %>
+
+ <%= link_to activity.title.to_s, news_url_in_org(activity.id), :target => '_blank', :class => "por_course_title link-black", :title => activity.title %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), news_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), news_url_in_org(activity.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => activity.id, :content=> activity.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now activity.created_on %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+ <% end %>
+<% else %>
+ <% if field.field_type == "Post" %>
+ <% org_acts = get_subfield_acts field %>
+ <% if org_acts.blank? %>
+
<%= field.name %>
+
该模块暂时没有相关内容
+ <% else %>
+
<%= field.name %>
+ <%= render :partial => 'organizations/link_subfield_more', :locals => {:field => field} %>
+
+ <% org_acts.first(4).each do |activity| %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+ <% org_subfield_id = params[:org_subfield_id] %>
+ <% iamge_path = get_image_path_from_content(document.content) %>
+
+ <%= link_to document.title, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => '_blank', :class => "por_course_title link-black", :title => document.title %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => document.id, :content=> document.content, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now document.created_at %>
+
+ <% else activity.container_type == 'OrgSubfield' %>
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where(:id => activity.org_act_id).count > 0 %>
+ <% message = activity.org_act %>
+ <% title = message.parent_id.nil? ? message.subject : message.parent.subject %>
+ <% content = message.parent_id.nil? ? message.content : message.parent.content%>
+ <% iamge_path = get_image_path_from_content(content) %>
+ <% if message.board.org_subfield_id %>
+
+ <%= link_to title, board_message_url_in_org(message.board.id, message.id), :target => '_blank', :class => "por_course_title link-black", :title => title %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), board_message_url_in_org(message.board.id, message.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), board_message_url_in_org(message.board.id, message.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now message.created_on %>
+
+ <% else %>
+
+ <%= link_to title, board_message_path(message.board, message.id), :target => '_blank', :class => "por_course_title link-black", :title => title %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), board_message_path(message.board.id, message.id), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), board_message_path(message.board.id, message.id), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> content, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now message.created_on %>
+
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where(:id => activity.org_act_id).count > 0 %>
+ <% news = activity.org_act %>
+ <% iamge_path = get_image_path_from_content(news.description) %>
+
+ <%= link_to news.title, news_path(news), :target => '_blank', :class => "por_course_title link-black", :title => news.title %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-2.jpg", :width => "140", :height => "100"), news_path(news), :target => "_blank", :class =>"fl" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "140", :height => "100"), news_path(news), :target => "_blank", :class =>"fl" %>
+ <% end %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => news.id, :content=> news.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= time_from_now news.created_on %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+ <% end %>
+ <% elsif 'Compcou' %>
+
<%= field.name %>
+ <% if @excellent_courses.blank? %>
+
该模块暂时没有相关内容
+ <% else %>
+ <% @excellent_courses.first(4).each do |course| %>
+
+ <%= link_to course.name, course_path(course.id), :target => '_blank', :class => "por_course_title link-black", :title => course.name %>
+ <%= link_to image_tag(url_to_avatar(course),:width => "140", :height => "100"), course_path(course), :target => "_blank", :class => "fl" %>
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => course.id, :content=> course.description, :maxheight => 80, :maxwordsnum => 56, :maxwidth => 0, :cl => "por_course_txt fl"} %>
+ <%= current_time_and_term course %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+<% end %>
+
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_custom_left3.html.erb b/app/views/organizations/_org_custom_left3.html.erb
new file mode 100644
index 000000000..bcfac4933
--- /dev/null
+++ b/app/views/organizations/_org_custom_left3.html.erb
@@ -0,0 +1,150 @@
+
+ <% if acts.blank? %>
+
<%= field.name %>
+
该模块暂时没有相关内容
+ <% else %>
+
<%= field.name %>
+ <%= render :partial => 'organizations/link_subfield_more', :locals => {:field => field} %>
+
+
+
+ <% activity = acts.first %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+ <% if get_image_path_from_content(document.content).nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-3.jpg", :width => "299", :height => "246"), org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{get_image_path_from_content(document.content)}", :width => "299", :height => "246"), org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => "_blank" %>
+ <% end %>
+ <%= link_to document.title, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), :target => '_blank', :class => "por_post_title link-black", :title => document.title %>
+
+ <%= time_from_now(document.created_at) %>
+ <%= link_to document.creator.show_name, user_path(document.creator), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => acts.first.org_act.id, :content=> acts.first.org_act.content, :maxheight => 40, :maxwordsnum => 60, :maxwidth => 0, :cl => "por_post_txt"} %>
+ <% else activity.container_type == 'OrgSubfield' %>
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where("id=#{activity.org_act_id}").count > 0 %>
+ <% message = activity.org_act %>
+ <% content = message.parent_id.nil? ? message.content : message.parent.content %>
+ <% title = message.parent_id.nil? ? message.subject : message.parent.subject %>
+ <% iamge_path = get_image_path_from_content(content) %>
+ <% if message.board.org_subfield_id %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-3.jpg", :width => "299", :height => "246"), board_message_url_in_org(message.board.id,message.id), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "299", :height => "246"), board_message_url_in_org(message.board.id,message.id), :target => "_blank" %>
+ <% end %>
+ <%= link_to title, board_message_url_in_org(message.board.id,message.id), :target => '_blank', :class => "por_post_title link-black", :title => title %>
+
+ <%= time_from_now(message.created_on) %>
+ <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> message.content, :maxheight => 40, :maxwordsnum => 60, :maxwidth => 0, :cl => "por_post_txt"} %>
+ <% else %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-3.jpg", :width => "299", :height => "246"), board_message_path(message.board, message), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "299", :height => "246"), board_message_path(message.board, message), :target => "_blank" %>
+ <% end %>
+ <%= link_to title, board_message_path(message.board, message), :target => '_blank', :class => "por_post_title link-black", :title => title %>
+
+ <%= time_from_now(message.created_on) %>
+ <%= link_to message.author.show_name, user_path(message.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => message.id, :content=> message.content, :maxheight => 40, :maxwordsnum => 60, :maxwidth => 0, :cl => "por_post_txt"} %>
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where("id=?", activity.org_act_id).count > 0 %>
+ <% news = News.find(activity.org_act_id) %>
+ <% iamge_path = get_image_path_from_content(news.description) %>
+ <% if iamge_path.nil? %>
+ <%= link_to image_tag("/images/default_blank/mo-3.jpg", :width => "299", :height => "246"), news_path(news), :target => "_blank" %>
+ <% else %>
+ <%= link_to image_tag("/files/uploads/image#{iamge_path}", :width => "299", :height => "246"), news_path(news), :target => "_blank" %>
+ <% end %>
+ <%= link_to news.title, news_path(news), :target => '_blank', :class => "por_post_title link-black", :title => news.title %>
+
+ <%= time_from_now(news.created_on) %>
+ <%= link_to news.author.show_name, user_path(news.author), :class => "por_hot_name link-blue", :target => "_blank" %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => news.id, :content=> news.description, :maxheight => 40, :maxwordsnum => 60, :maxwidth => 0, :cl => "por_post_txt"} %>
+ <% end %>
+ <% end %>
+
+ <% unless acts[1..5].nil? %>
+ <% acts[1..5].each do |activity| %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+
+ <%= link_to " #{document.title}".html_safe, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), class: 'por_hidden_w390 link-black', :target => "_blank" %>
+
+ <% else activity.container_type == 'OrgSubfield' %>
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where("id=#{activity.org_act_id}").count > 0 %>
+ <% message = Message.find(activity.org_act_id) %>
+ <% if message.board.org_subfield_id %>
+
+ <% if message.parent_id.nil? %>
+ <%= link_to " #{message.subject}".html_safe, board_message_url_in_org(message.board.id, message.id), class: 'por_hidden_w390 link-black', :target => "_blank" %>
+ <% else %>
+ <%= link_to " #{message.parent.subject}".html_safe, board_message_url_in_org(message.board.id, message.id), class: 'por_hidden_w390 link-black', :target => "_blank" %>
+ <% end %>
+
+ <% else %>
+
+ <% if message.parent_id.nil? %>
+ <%= link_to " #{message.subject}".html_safe, board_message_path(message.board,message), class: 'por_hidden_w390 link-black', :target => "_blank" %>
+ <% else %>
+ <%= link_to " #{message.parent.subject}".html_safe, board_message_path(message.board, message), class: 'por_hidden_w390 link-black', :target => "_blank" %>
+ <% end %>
+
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where("id=?", activity.org_act_id).count > 0 %>
+ <% news = News.find(activity.org_act_id) %>
+ <% iamge_path = get_image_path_from_content(news.description) %>
+
+ <%= link_to " #{news.title}".html_safe, news_path(news), class: 'por_hidden_w390 link-black', :target => "_blank" %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+ <% end %>
+
+
+ <% unless acts[6..19].nil? %>
+
+
+ <% acts[6..19].each do |activity| %>
+ <% if activity.container_type == 'Organization' && activity.org_act_type == 'OrgDocumentComment' && activity.org_act_id != @organization.home_id %>
+ <% document = activity.org_act %>
+ <%= link_to " #{document.title}".html_safe, org_document_comment_path(:id => document.id, :organization_id => document.organization.id), class: 'por_hidden_w270 link-black', :target => "_blank" %>
+ <% else activity.container_type == 'OrgSubfield' %>
+ <% if activity.org_act_type == 'Message' and activity.org_act_id and Message.where("id=#{activity.org_act_id}").count > 0 %>
+ <% message = Message.find(activity.org_act_id) %>
+ <% if message.board.org_subfield_id %>
+ <% if message.parent_id.nil? %>
+ <%= link_to " #{message.subject}".html_safe, board_message_url_in_org(message.board.id, message.id), class: 'por_hidden_w270 link-black', :target => "_blank" %>
+ <% else %>
+ <%= link_to " #{message.parent.subject}".html_safe, board_message_url_in_org(message.board.id, message.id), class: 'por_hidden_w270 link-black', :target => "_blank" %>
+ <% end %>
+ <% else %>
+ <% if message.parent_id.nil? %>
+ <%= link_to " #{message.subject}".html_safe, board_message_path(message.board,message), class: 'por_hidden_w270 link-black', :target => "_blank" %>
+ <% else %>
+ <%= link_to " #{message.parent.subject}".html_safe, board_message_path(message.board, message), class: 'por_hidden_w270 link-black', :target => "_blank" %>
+ <% end %>
+ <% end %>
+ <% end %>
+ <% if activity.org_act_type == 'News' and News.where("id=?", activity.org_act_id).count > 0 %>
+ <% news = News.find(activity.org_act_id) %>
+ <% iamge_path = get_image_path_from_content(news.description) %>
+ <%= link_to " #{news.title}".html_safe, news_path(news), class: 'por_hidden_w270 link-black', :target => "_blank" %>
+ <% end %>
+ <% end %>
+ <% end %>
+
+
+ <% end %>
+
+ <% end %>
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_custom_right1.html.erb b/app/views/organizations/_org_custom_right1.html.erb
new file mode 100644
index 000000000..9d710ba54
--- /dev/null
+++ b/app/views/organizations/_org_custom_right1.html.erb
@@ -0,0 +1,37 @@
+
+
<%= field.name %>
+ <% if @acts.blank? %>
+
该模块暂时没有相关内容
+ <% else %>
+
+ <% @acts.each do |obj| %>
+ <% user = org_user_by_type(obj) %>
+ <% title = org_title_by_type(obj) %>
+ <% content = org_content_by_type(obj) %>
+ <% time = org_time_by_type(obj) %>
+
+ <%= link_to image_tag(url_to_avatar(user),:width => "43", :height => "43", :class => "por_users_img"), user_path(user), :target => "_blank", :class => "fl" %>
+
+
+ <%= link_to user.show_name, user_path(user), :class => "por_hot_name link-blue fl", :target => "_blank" %>
+ :
+ <% if obj.act_type == "Message" %>
+ <%= link_to title, board_message_path(obj.act.board.id, obj.act.id) %>
+ <% elsif obj.act_type == "News" %>
+ <%= link_to title, news_path(obj.act.id) %>
+ <% elsif obj.act_type == "HomeworkCommon" %>
+ <%= link_to title, student_work_index_url_in_org(obj.act.id) %>
+ <% elsif obj.act_type == "Issue" %>
+ <%= link_to title, issue_path(obj.act.id) %>
+ <% end %>
+
+
<%= time_from_now(time) %>
+
+
+
+
+
+ <% end %>
+
+ <% end %>
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_custom_right2.html.erb b/app/views/organizations/_org_custom_right2.html.erb
new file mode 100644
index 000000000..2555372df
--- /dev/null
+++ b/app/views/organizations/_org_custom_right2.html.erb
@@ -0,0 +1,22 @@
+
+
热点项目
+ <% if containers.blank? %>
+
该模块暂时没有相关内容
+ <% else %>
+ <% container = containers.first %>
+
+ <%= link_to " #{container.name}".html_safe, project_path(container), :class => "por_hidden_w205 link-black fl", :title => container.name, :target => "_blank" %>
+ 活跃度<%= static_project_score(container.project_score) %>
+
+ <%=render :partial =>"organizations/organization_content_extension", :locals => {:user_activity_id => container.id, :content=> container.description, :maxheight => 40, :maxwordsnum => 48, :maxwidth => 0, :cl => "por_project_p"} %>
+
+
+ <% containers[1..4].each do |container| %>
+
+ <%= link_to " #{container.name}".html_safe, project_path(container), :class => "por_hidden_w205 link-black fl", :title => container.name, :target => "_blank" %>
+ 活跃度<%= static_project_score(container.project_score) %>
+
+
+ <% end %>
+ <% end %>
+
diff --git a/app/views/organizations/_org_custom_right3.html.erb b/app/views/organizations/_org_custom_right3.html.erb
new file mode 100644
index 000000000..a461a38dc
--- /dev/null
+++ b/app/views/organizations/_org_custom_right3.html.erb
@@ -0,0 +1,105 @@
+<% if field.field_type == "Resource" %>
+
+
<%= field.name %><%= link_to "更多>", org_subfield_files_path(field), :target => "_blank", :class => "f12 fontGrey2 fr" %>
+
+
+ <% get_attach_org2(field).each do |attach| %>
+
+ <%= link_to image_tag(url_to_avatar(attach.author),:width => "43", :height => "43", :class => "por_teachers_img fl mr15"), user_path(attach.author), :target => "_blank", :class => "fl" %>
+
+
+ <%= link_to attach.author, user_path(attach.author), :class => " por_teachers_name link-black fl", :target => "_blank" %>
+
+ <%= link_to truncate(attach.filename,length: 20, 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;" %>
+
+
+
+ 类型:<%= attach.tag_list[0] %>
+ 下载:<%= attach.downloads %>
+ 引用:<%= attach.quotes.nil? ? 0 : attach.quotes %>
+
+
+
+
+ <% end %>
+
+
+
+<% elsif field.field_type == "Comptec" || field.field_type == "Compstu" %>
+
+
+
+
+ <% excellent_teachers.each do |teacher| %>
+
+ <%= link_to image_tag(url_to_avatar(teacher), :width => "43", :height => "43", :class => "por_teachers_img fl mr15"), user_path(teacher), :alt => "用户头像", :target => '_blank', :class => "fl" %>
+
+ <%=link_to teacher.try(:realname) ? teacher.try(:realname) :teacher.try(:login), user_path(teacher), :class => "por_teachers_name link-black fl", :target => '_blank' %>
+
<%= teacher.my_workplace %>
+
+
+ <% unless teacher.my_blogs_count == 0 %>
+ 博客 <%= teacher.my_blogs_count %>
+ <% end %>
+ <% unless teacher.courses.count == 0 %>
+ 课程 <%= teacher.courses.count %>
+ <% end %>
+ <% unless teacher.my_students == 0 %>
+ 学生 <%= teacher.my_students %>
+ <% end %>
+
+
+
+
+ <% end %>
+
+
+
+
+ <% excellent_students.each do |student| %>
+
+ <%= link_to image_tag(url_to_avatar(student), :width => "43", :height => "43", :class => "por_teachers_img fl mr15"), user_path(student), :alt => "用户头像", :target => '_blank', :class => "fl" %>
+
+ <%=link_to student.try(:realname) ? student.try(:realname) :student.try(:login), user_path(student), :class => "por_teachers_name link-black fl", :target => '_blank' %>
+
<%= student.my_workplace %>
+
+
+ <% unless student.my_blogs_count == 0 %>
+ 博客 <%= student.my_blogs_count %>
+ <% end %>
+ <% unless student.courses.count == 0 %>
+ 课程 <%= student.courses.count %>
+ <% end %>
+
+
+
+
+ <% end %>
+
+
+
+
+
+<% end %>
diff --git a/app/views/organizations/_org_field_menu.html.erb b/app/views/organizations/_org_field_menu.html.erb
new file mode 100644
index 000000000..792bea87e
--- /dev/null
+++ b/app/views/organizations/_org_field_menu.html.erb
@@ -0,0 +1,44 @@
+
+ <% subfield_content.each do |field| %>
+ <% if is_default_field?(field) %>
+ <% case field.name %>
+ <% when 'activity' %>
+
+ <%= link_to "首页", organization_path(@organization), :class => "sn-link-white" %>
+
+ <% when 'course' %>
+
+ 课程动态
+
+ <% when 'project' %>
+
+ 项目动态
+
+ <% end %>
+ <% else %>
+ <% if field.field_type == "Post" && field.hide == 0 %>
+
+ <%= field.name %>
+
+
+
+
+ <% field.sub_domains.each do |subdomain| %>
+ <%=link_to subdomain.name, org_subfield_sub_domain_sub_document_comments_path(subdomain, :org_subfield_id => field.id), :class => "sn-link-grey" %>
+ |
+ <% end %>
+
+
+ <% elsif field.field_type == "Resource" && field.hide == 0 %>
+
+ <%= field.name %>
+
+ <% end %>
+ <% end %>
+ <% end %>
+ <% if User.current.admin_of_org?(@organization) %>
+
+ 配置
+
+ <% end %>
+
\ No newline at end of file
diff --git a/app/views/organizations/_org_left_subfield_list.html.erb b/app/views/organizations/_org_left_subfield_list.html.erb
index 4340213a4..30234c300 100644
--- a/app/views/organizations/_org_left_subfield_list.html.erb
+++ b/app/views/organizations/_org_left_subfield_list.html.erb
@@ -91,7 +91,7 @@
<% end %>
<% else %>
- <% if field.field_type == "Post" || field.field_type == "Complex" || field.field_type == "Compstu" || field.field_type == "Comptec" %>
+ <% if field.field_type == "Post" || field.field_type == "Complex" %>
- <%= render :partial => 'organizations/org_subdomain',:locals=>{:subdomains => field.sub_domains.reorder('priority').uniq.limit(5), :org_subfield_id => field.id} %>
+ <%= render :partial => 'organizations/org_subdomain',:locals=>{:subdomains => field.sub_domains.reorder('priority').uniq, :org_subfield_id => field.id} %>
-
<% unless (field.sub_domains.count == 0 || !if_hidden_subdomain(field)) %>
<% end %>
- <% else %>
+ <% elsif field.field_type == "Comptec" && User.current.admin? %>
+
+ <% elsif field.field_type == "Compstu" && User.current.admin? %>
+
+ <% elsif field.field_type == "Compstu" && User.current.admin? %>
+
+ <% elsif field.field_type == "Comppro" && User.current.admin? %>
+
+ <% elsif field.field_type == "Compcou" && User.current.admin? %>
+
+ <% elsif field.field_type == "Compact" && User.current.admin? %>
+
+ <% elsif field.field_type == "Resource" %>
- <% if User.current.admin? %>
-
允许设置名师榜 :
- class="ml3" />
-
- <% end %>
+
+
+
+
+
保存
<% end %>
@@ -162,8 +162,8 @@
资源
-
- <%= render :partial => 'organizations/setting_excellent_teachers' %>
+
+ <%= render :partial => 'organizations/org_custom_admin' %>
新增
@@ -172,7 +172,7 @@
- <%= render :partial => 'organizations/subfield_list', :locals => {:subfields => @organization.org_subfields.order("priority")} %>
+ <%= render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)} %>
@@ -184,7 +184,7 @@
function add_org_subfield_subdomain(){
if ($("#subfield_name_subdomain").val().trim() != "")
$("#add_subfield_form_subdomain").submit();
- $("#org_subfield_list").html('<%= escape_javascript(render(:partial => 'organizations/subfield_list', :locals => {:subfields => @organization.org_subfields.order("priority")} )) %>');
+ $("#org_subfield_list").html('<%= escape_javascript(render(:partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)})) %>');
}
var $is_exist = false;
function apply_subdomain(id, domain){
diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb
index d93ead84b..72e95ded9 100644
--- a/app/views/organizations/show.html.erb
+++ b/app/views/organizations/show.html.erb
@@ -1,66 +1,71 @@
-<%= javascript_include_tag "jquery.infinitescroll.js" %>
+<%# 区分两种模式 params[:org_subfield_id] 不为空的时候则跳到栏目%>
+<% if @organization.switch_type && params[:org_subfield_id].nil? %>
+ <%= render :partial => 'show_custom' %>
+<% else %>
+ <%= javascript_include_tag "jquery.infinitescroll.js" %>
-<%= content_for(:header_tags) do %>
- <%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
-<% end %>
+ <%= content_for(:header_tags) do %>
+ <%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
+ <% end %>
-<% if params[:show_homepage].nil? and User.current.logged? %>
-
+ <% end %>
+ <% if !@organization.home_id.nil? and OrgDocumentComment.where("id = ?", @organization.home_id).count > 0 and params[:org_subfield_id].nil? %>
+
+ <% act = OrgActivity.where("org_act_type = 'OrgDocumentComment' and org_act_id =?", @organization.home_id).first %>
+ <%= render :partial => 'show_home_page', :locals => {:document => OrgDocumentComment.find(@organization.home_id), :home_id => @organization.home_id, :act => act} %>
+ <% end %>
+ <% if @org_activities %>
+ <%= render :partial => 'organizations/org_activities',
+ :locals => {:org_activities => @org_activities,
+ :page=> @page,
+ :org => @organization,
+ :org_act_count=> @org_activities.count} %>
+ <% end %>
<% end %>
@@ -70,3 +75,4 @@
+
diff --git a/app/views/organizations/students.html.erb b/app/views/organizations/students.html.erb
new file mode 100644
index 000000000..770967210
--- /dev/null
+++ b/app/views/organizations/students.html.erb
@@ -0,0 +1,30 @@
+
+