Merge branch 'dev_hjq' of https://git.trustie.net/jacknudt/trustieforge into dev_hjq
Conflicts: public/stylesheets/org.cssdev_hjq
commit
b0b4527ea1
@ -1,24 +1,32 @@
|
|||||||
class OrgSubfieldsController < ApplicationController
|
class OrgSubfieldsController < ApplicationController
|
||||||
def create
|
def create
|
||||||
@subfield = OrgSubfield.create(:name => params[:name])
|
@subfield = OrgSubfield.create(:name => params[:name])
|
||||||
@organization = Organization.find(params[:organization_id])
|
@organization = Organization.find(params[:organization_id])
|
||||||
@organization.org_subfields << @subfield
|
@organization.org_subfields << @subfield
|
||||||
@subfield.update_attributes(:priority => @subfield.id, :field_type => params[:field_type])
|
@subfield.update_attributes(:priority => @subfield.id, :field_type => params[:field_type])
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def show
|
||||||
@subfield = OrgSubfield.find(params[:id])
|
@org_subfield = OrgSubfield.find(params[:id])
|
||||||
@organization = Organization.find(@subfield.organization_id)
|
@organization = @org_subfield.organization.id
|
||||||
@subfield.destroy
|
@messages = []
|
||||||
end
|
@messages << @org_subfield.org_document_comments
|
||||||
|
@messages << @org_subfield.messages
|
||||||
def update
|
@messages.sort{|a, b| b.updated_at <=> a.updated_at}
|
||||||
@subfield = OrgSubfield.find(params[:id])
|
respond_to do |format|
|
||||||
@organization = Organization.find(@subfield.organization_id)
|
format.html{render :layout => 'base_org'}
|
||||||
@subfield.update_attributes(:name => params[:name])
|
end
|
||||||
end
|
end
|
||||||
|
def destroy
|
||||||
def show
|
@subfield = OrgSubfield.find(params[:id])
|
||||||
|
@organization = Organization.find(@subfield.organization_id)
|
||||||
end
|
@subfield.destroy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
@subfield = OrgSubfield.find(params[:id])
|
||||||
|
@organization = Organization.find(@subfield.organization_id)
|
||||||
|
@subfield.update_attributes(:name => params[:name])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
@ -1,284 +1,284 @@
|
|||||||
# encoding: utf-8
|
# encoding: utf-8
|
||||||
class OrganizationsController < ApplicationController
|
class OrganizationsController < ApplicationController
|
||||||
|
|
||||||
|
|
||||||
helper :sort
|
helper :sort
|
||||||
include SortHelper
|
include SortHelper
|
||||||
helper :custom_fields
|
helper :custom_fields
|
||||||
include CustomFieldsHelper
|
include CustomFieldsHelper
|
||||||
include AvatarHelper
|
include AvatarHelper
|
||||||
include WordsHelper
|
include WordsHelper
|
||||||
include GitlabHelper
|
include GitlabHelper
|
||||||
include UserScoreHelper
|
include UserScoreHelper
|
||||||
|
|
||||||
include PollHelper
|
include PollHelper
|
||||||
helper :user_score
|
helper :user_score
|
||||||
helper :journals
|
helper :journals
|
||||||
|
|
||||||
# added by liuping 关注
|
# added by liuping 关注
|
||||||
|
|
||||||
helper :watchers
|
helper :watchers
|
||||||
helper :activities
|
helper :activities
|
||||||
|
|
||||||
### added by william
|
### added by william
|
||||||
include ActsAsTaggableOn::TagsHelper
|
include ActsAsTaggableOn::TagsHelper
|
||||||
|
|
||||||
# fq
|
# fq
|
||||||
helper :words
|
helper :words
|
||||||
helper :project_score
|
helper :project_score
|
||||||
helper :issues
|
helper :issues
|
||||||
include UsersHelper
|
include UsersHelper
|
||||||
before_filter :find_organization, :only => [:show, :members]
|
before_filter :find_organization, :only => [:show, :members]
|
||||||
layout 'base_org'
|
layout 'base_org'
|
||||||
def index
|
def index
|
||||||
|
|
||||||
end
|
end
|
||||||
def new
|
def new
|
||||||
@organization = Organization.new
|
@organization = Organization.new
|
||||||
render :layout => 'new_base'
|
render :layout => 'new_base'
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
@organization.destroy
|
@organization.destroy
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html{ redirect_to admin_organization_path }
|
format.html{ redirect_to admin_organization_path }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@organization = Organization.new
|
@organization = Organization.new
|
||||||
@organization.name = params[:organization][:name]
|
@organization.name = params[:organization][:name]
|
||||||
@organization.description = params[:organization][:description]
|
@organization.description = params[:organization][:description]
|
||||||
@organization.is_public = params[:organization][:is_public]
|
@organization.is_public = params[:organization][:is_public]
|
||||||
@organization.creator_id = User.current.id
|
@organization.creator_id = User.current.id
|
||||||
member = OrgMember.new(:user_id => User.current.id)
|
member = OrgMember.new(:user_id => User.current.id)
|
||||||
|
|
||||||
@organization.org_members << member
|
@organization.org_members << member
|
||||||
if @organization.save
|
if @organization.save
|
||||||
OrgMemberRole.create(:org_member_id => member.id, :role_id => 11)
|
OrgMemberRole.create(:org_member_id => member.id, :role_id => 11)
|
||||||
redirect_to organization_path(@organization)
|
redirect_to organization_path(@organization)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
|
if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
if params[:org_subfield_id]
|
if params[:org_subfield_id]
|
||||||
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
||||||
@org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
|
@org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
|
||||||
@org_activities = OrgActivity.where("org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
else
|
else
|
||||||
project_ids = @organization.projects.map(&:id) << 0
|
project_ids = @organization.projects.map(&:id) << 0
|
||||||
course_ids = @organization.courses.map(&:id) << 0
|
course_ids = @organization.courses.map(&:id) << 0
|
||||||
course_types = "('Message','News','HomeworkCommon','Poll','Course')"
|
course_types = "('Message','News','HomeworkCommon','Poll','Course')"
|
||||||
case params[:type]
|
case params[:type]
|
||||||
when nil
|
when nil
|
||||||
@org_activities = OrgActivity.where("(container_id =? and container_type =?) " +
|
@org_activities = OrgActivity.where("(container_id =? and container_type =?) " +
|
||||||
"or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+
|
"or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+
|
||||||
"or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))",
|
"or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))",
|
||||||
@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
|
@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'project_issue'
|
when 'project_issue'
|
||||||
@org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'project_message'
|
when 'project_message'
|
||||||
@org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'org'
|
when 'org'
|
||||||
@org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'course_homework'
|
when 'course_homework'
|
||||||
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'HomeworkCommon' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'HomeworkCommon' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'course_news'
|
when 'course_news'
|
||||||
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'News' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'News' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'course_message'
|
when 'course_message'
|
||||||
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Message' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Message' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
when 'course_poll'
|
when 'course_poll'
|
||||||
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Poll' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Poll' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@page = params[:page]
|
@page = params[:page]
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render_403
|
render_403
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
@organization.name = params[:organization][:name]
|
@organization.name = params[:organization][:name]
|
||||||
@organization.description = params[:organization][:description]
|
@organization.description = params[:organization][:description]
|
||||||
@organization.domain = params[:organization][:domain]
|
@organization.domain = params[:organization][:domain]
|
||||||
@organization.is_public = params[:organization][:is_public] == 'on' ? 1 : 0
|
@organization.is_public = params[:organization][:is_public] == 'on' ? 1 : 0
|
||||||
#@organization.name = params[:organization][:name]
|
#@organization.name = params[:organization][:name]
|
||||||
@organization.save
|
@organization.save
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to setting_organization_path(@organization)}
|
format.html { redirect_to setting_organization_path(@organization)}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_uniq
|
def check_uniq
|
||||||
@check = false;
|
@check = false;
|
||||||
@org_name = params[:org_name].strip
|
@org_name = params[:org_name].strip
|
||||||
@config_page = params[:config_page]
|
@config_page = params[:config_page]
|
||||||
sameName = @config_page ? Organization.where('name = ? and id != ?',params[:org_name],params[:org_id].to_i).count == 0 : Organization.where('name = ?',params[:org_name]).count == 0
|
sameName = @config_page ? Organization.where('name = ? and id != ?',params[:org_name],params[:org_id].to_i).count == 0 : Organization.where('name = ?',params[:org_name]).count == 0
|
||||||
if sameName == true
|
if sameName == true
|
||||||
@check = true
|
@check = true
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_organization
|
def find_organization
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
end
|
end
|
||||||
|
|
||||||
def setting
|
def setting
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
|
|
||||||
if User.current.admin? || User.current.admin_of_org?(@organization)
|
if User.current.admin? || User.current.admin_of_org?(@organization)
|
||||||
else
|
else
|
||||||
render_403
|
render_403
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def clear_org_avatar_temp
|
def clear_org_avatar_temp
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_homepage
|
def set_homepage
|
||||||
@org = Organization.find(params[:id])
|
@org = Organization.find(params[:id])
|
||||||
@org.home_id = params[:home_id]
|
@org.home_id = params[:home_id]
|
||||||
@org.save
|
@org.save
|
||||||
# respond_to do |format|
|
# respond_to do |format|
|
||||||
# format.html {redirect_to organization_path(org)}
|
# format.html {redirect_to organization_path(org)}
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
def cancel_homepage
|
def cancel_homepage
|
||||||
@org = Organization.find(params[:id])
|
@org = Organization.find(params[:id])
|
||||||
@org.home_id = nil
|
@org.home_id = nil
|
||||||
@org.save
|
@org.save
|
||||||
end
|
end
|
||||||
|
|
||||||
def autocomplete_search
|
def autocomplete_search
|
||||||
@project = Project.find(params[:project_id])
|
@project = Project.find(params[:project_id])
|
||||||
#@flag = params[:flag] || false
|
#@flag = params[:flag] || false
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def members
|
def members
|
||||||
if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
|
if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
|
||||||
@members = OrgMember.where("organization_id =?", @organization.id)
|
@members = OrgMember.where("organization_id =?", @organization.id)
|
||||||
else
|
else
|
||||||
render_403
|
render_403
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def more_org_projects
|
def more_org_projects
|
||||||
@organization = Organization.find params[:id]
|
@organization = Organization.find params[:id]
|
||||||
@page = params[:page]
|
@page = params[:page]
|
||||||
@org_projects = @organization.projects.reorder('created_at').uniq.page((params[:page].to_i || 1) +1).per(5)
|
@org_projects = @organization.projects.reorder('created_at').uniq.page((params[:page].to_i || 1) +1).per(5)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def more_org_courses
|
def more_org_courses
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
@page = params[:page]
|
@page = params[:page]
|
||||||
@org_courses = @organization.courses.reorder('created_at').uniq.page((params[:page].to_i || 1) + 1 ).per(5)
|
@org_courses = @organization.courses.reorder('created_at').uniq.page((params[:page].to_i || 1) + 1 ).per(5)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def join_course_menu
|
def join_course_menu
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_courses
|
def search_courses
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
condition = '%%'
|
condition = '%%'
|
||||||
if !params[:name].nil?
|
if !params[:name].nil?
|
||||||
condition = "%#{params[:name].strip}%".gsub(" ","")
|
condition = "%#{params[:name].strip}%".gsub(" ","")
|
||||||
end
|
end
|
||||||
sql = "select courses.* from courses inner join members on courses.id = members.course_id where members.user_id = #{User.current.id} and courses.name like '#{condition}'"+
|
sql = "select courses.* from courses inner join members on courses.id = members.course_id where members.user_id = #{User.current.id} and courses.name like '#{condition}'"+
|
||||||
"and courses.id not in (select distinct org_courses.course_id from org_courses where org_courses.organization_id = #{@organization.id})"
|
"and courses.id not in (select distinct org_courses.course_id from org_courses where org_courses.organization_id = #{@organization.id})"
|
||||||
#user_courses = Course.find_by_sql(sql)
|
#user_courses = Course.find_by_sql(sql)
|
||||||
@courses = Course.find_by_sql(sql)
|
@courses = Course.find_by_sql(sql)
|
||||||
# @added_course_ids = @organization.courses.map(&:id)
|
# @added_course_ids = @organization.courses.map(&:id)
|
||||||
# @courses = []
|
# @courses = []
|
||||||
# user_courses.each do |course|
|
# user_courses.each do |course|
|
||||||
# if !@added_course_ids.include?(course.id)
|
# if !@added_course_ids.include?(course.id)
|
||||||
# @courses << course
|
# @courses << course
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
def join_courses
|
def join_courses
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
course_ids = params[:courseNames]
|
course_ids = params[:courseNames]
|
||||||
course_ids.each do |id|
|
course_ids.each do |id|
|
||||||
OrgCourse.create(:organization_id => @organization.id, :course_id => id.to_i, :created_at => Time.now)
|
OrgCourse.create(:organization_id => @organization.id, :course_id => id.to_i, :created_at => Time.now)
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def join_project_menu
|
def join_project_menu
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def logout
|
def logout
|
||||||
logout_user
|
logout_user
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {redirect_to organization_path(params[:id])}
|
format.html {redirect_to organization_path(params[:id])}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_projects
|
def search_projects
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
condition = '%%'
|
condition = '%%'
|
||||||
if !params[:name].nil?
|
if !params[:name].nil?
|
||||||
condition = "%#{params[:name].strip}%".gsub(" ","")
|
condition = "%#{params[:name].strip}%".gsub(" ","")
|
||||||
end
|
end
|
||||||
sql = "select projects.* from projects inner join members on projects.id = members.project_id where members.user_id = #{User.current.id} and projects.status != 9 and projects.name like '#{condition}'" +
|
sql = "select projects.* from projects inner join members on projects.id = members.project_id where members.user_id = #{User.current.id} and projects.status != 9 and projects.name like '#{condition}'" +
|
||||||
" and projects.id not in (select org_projects.project_id from org_projects where organization_id = #{@organization.id})"
|
" and projects.id not in (select org_projects.project_id from org_projects where organization_id = #{@organization.id})"
|
||||||
#user_projects = Course.find_by_sql(sql)
|
#user_projects = Course.find_by_sql(sql)
|
||||||
@projects = Course.find_by_sql(sql)
|
@projects = Course.find_by_sql(sql)
|
||||||
# @added_course_ids = @organization.projects.map(&:id)
|
# @added_course_ids = @organization.projects.map(&:id)
|
||||||
# @projects = []
|
# @projects = []
|
||||||
# user_projects.each do |project|
|
# user_projects.each do |project|
|
||||||
# if !@added_course_ids.include?(project.id)
|
# if !@added_course_ids.include?(project.id)
|
||||||
# @projects << project
|
# @projects << project
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
def join_projects
|
def join_projects
|
||||||
@organization = Organization.find(params[:id])
|
@organization = Organization.find(params[:id])
|
||||||
project_ids = params[:projectNames]
|
project_ids = params[:projectNames]
|
||||||
project_ids.each do |id|
|
project_ids.each do |id|
|
||||||
OrgProject.create(:organization_id => @organization.id, :project_id => id.to_i, :created_at => Time.now)
|
OrgProject.create(:organization_id => @organization.id, :project_id => id.to_i, :created_at => Time.now)
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,20 +1,26 @@
|
|||||||
class OrgDocumentComment < ActiveRecord::Base
|
class OrgDocumentComment < ActiveRecord::Base
|
||||||
attr_accessible :content, :creator_id, :organization_id, :parent_id, :reply_id, :title,:sticky,:locked
|
attr_accessible :content, :creator_id, :organization_id, :parent_id, :reply_id, :title,:sticky,:locked
|
||||||
include Redmine::SafeAttributes
|
include Redmine::SafeAttributes
|
||||||
belongs_to :organization
|
belongs_to :organization
|
||||||
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
|
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
|
||||||
has_many :editor_of_documents, :dependent => :destroy
|
has_many :editor_of_documents, :dependent => :destroy
|
||||||
acts_as_tree :order => "#{OrgDocumentComment.table_name}.sticky asc, #{OrgDocumentComment.table_name}.created_at desc"
|
acts_as_tree :order => "#{OrgDocumentComment.table_name}.sticky asc, #{OrgDocumentComment.table_name}.created_at desc"
|
||||||
has_many :org_acts, :class_name => 'OrgActivity',:as =>:org_act ,:dependent => :destroy
|
acts_as_attachable
|
||||||
after_create :document_save_as_org_activity
|
has_many :org_acts, :class_name => 'OrgActivity',:as =>:org_act ,:dependent => :destroy
|
||||||
|
after_create :document_save_as_org_activity
|
||||||
def document_save_as_org_activity
|
|
||||||
if(self.parent().nil?)
|
def document_save_as_org_activity
|
||||||
self.org_acts << OrgActivity.new(:user_id => User.current.id, :container_id => self.organization.id, :container_type => 'Organization')
|
if(self.parent().nil?)
|
||||||
else
|
self.org_acts << OrgActivity.new(:user_id => User.current.id, :container_id => self.organization.id, :container_type => 'Organization')
|
||||||
act = OrgActivity.where("org_act_type='OrgDocumentComment' and org_act_id =?", self.root.id).first
|
else
|
||||||
act.update_attributes(:updated_at => self.updated_at)
|
act = OrgActivity.where("org_act_type='OrgDocumentComment' and org_act_id =?", self.root.id).first
|
||||||
end
|
act.update_attributes(:updated_at => self.updated_at)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
def project
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
class OrgSubfield < ActiveRecord::Base
|
class OrgSubfield < ActiveRecord::Base
|
||||||
belongs_to :organization, :foreign_key => :organization_id
|
belongs_to :organization, :foreign_key => :organization_id
|
||||||
has_many :org_document_comments, :dependent => :destroy
|
has_many :org_document_comments, :dependent => :destroy
|
||||||
has_many :files
|
has_many :files
|
||||||
acts_as_attachable
|
has_many :org_subfield_messages, :dependent => :destroy
|
||||||
|
has_many :messages, :through => :org_subfield_messages
|
||||||
def project
|
acts_as_attachable
|
||||||
end
|
|
||||||
|
def project
|
||||||
|
end
|
||||||
end
|
end
|
@ -0,0 +1,3 @@
|
|||||||
|
class OrgSubfieldMessage < ActiveRecord::Base
|
||||||
|
# attr_accessible :title, :body
|
||||||
|
end
|
@ -1,11 +1,65 @@
|
|||||||
<%= form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'},:html => {:nhname=>'form', :multipart => true, :id => 'message-form', :name=>'message-form'} do |f| %>
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: true, prettify: false) %>
|
||||||
<%= render :partial => 'form_project', :locals => {:f => f, :topic => @message} %>
|
<% end %>
|
||||||
<li>
|
|
||||||
<div class="ml55 fl" nhname="toolbar_container"></div>
|
<%= error_messages_for 'message' %>
|
||||||
<a href="javascript:void(0)" nhname="cancelbtn" class="grey_btn fr ml10"><%= l(:button_cancel) %></a>
|
<div class="resources mt10">
|
||||||
|
<div id="new_course_topic">
|
||||||
<a href="javascript:void(0)" nhname="submitbtn" class="blue_btn fr " style="margin-left: 55px"><%= l(:button_submit)%></a>
|
<div class="homepagePostBrief c_grey">
|
||||||
<div class="cl"></div>
|
<div>
|
||||||
</li>
|
<input type="text" name="message[subject]" id="message_subject" class="InputBox w713" maxlength="255" onfocus="$('#topic_editor').show()" onkeyup="regexTopicSubject();" placeholder="发布帖子,请先输入帖子标题" value="<%= topic.subject%>" >
|
||||||
<% end %>
|
<p id="subjectmsg"></p>
|
||||||
|
</div>
|
||||||
|
<div id="topic_editor" style="display: none;">
|
||||||
|
<%if User.current.member_of?(project)%>
|
||||||
|
<div class="mt10">
|
||||||
|
<%= f.check_box :sticky, :value => topic.sticky%>
|
||||||
|
<%= label_tag 'message_sticky', l(:label_board_sticky) %>
|
||||||
|
<%= f.check_box :locked, :value => topic.locked%>
|
||||||
|
<%= label_tag 'message_locked', l(:label_board_locked) %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<div class="mt10">
|
||||||
|
<div id="message_quote" class="wiki" style="width: 92%;word-break: break-all;word-wrap: break-word;margin-left: 40px;"></div>
|
||||||
|
<%= text_area :quote,:quote,:style => 'display:none' %>
|
||||||
|
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
||||||
|
|
||||||
|
<%= f.kindeditor :content, :editor_id => 'message_content_editor',
|
||||||
|
:owner_id => topic.nil? ? 0: topic.id,
|
||||||
|
:owner_type => OwnerTypeHelper::MESSAGE,
|
||||||
|
:width => '100%',
|
||||||
|
:height => 300,
|
||||||
|
:minHeight=>300,
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:input_html => { :id => 'message_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 },
|
||||||
|
at_id: topic.id, at_type: topic.class.to_s
|
||||||
|
%>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<p id="message_content_span"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'attachments/form_course', :locals => {:container => topic, :isReply => @isReply} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt5">
|
||||||
|
<%if !edit_mode %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="message_content_editor.sync();$('#message-form').submit();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="reset_topic();">取消</a>
|
||||||
|
<% else %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="message_content_editor.sync();$('#message-form').submit();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<%= link_to "取消",board_message_url(topic.board, topic.root, :r => (topic.parent_id && topic.id)), :class => "fr mr10 mt3"%>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -0,0 +1,70 @@
|
|||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: false, prettify: false) %>
|
||||||
|
<%= javascript_include_tag "init_activity_KindEditor" %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
/*回复框*/
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar {display: none; width: 400px; border: none; background: none; padding: 0px 0px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon {line-height: 26px; font-size: 14px; padding-left: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon-url {background-image: url(/images/public_icon.png)}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {padding: 0px 0px; line-height: 26px; font-size: 14px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons {background-position: 0px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons:hover {background-position: -79px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {border: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-inline-block {display: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-container {float: left;}
|
||||||
|
</style>
|
||||||
|
<% if topics%>
|
||||||
|
<% topics.each do |topic| %>
|
||||||
|
<script>
|
||||||
|
function expand_reply(container, btnid) {
|
||||||
|
var target = $(container);
|
||||||
|
var btn = $(btnid);
|
||||||
|
if (btn.data('init') == '0') {
|
||||||
|
btn.data('init', 1);
|
||||||
|
btn.html('收起回复');
|
||||||
|
target.show();
|
||||||
|
} else {
|
||||||
|
btn.data('init', 0);
|
||||||
|
btn.html('展开更多');
|
||||||
|
target.hide();
|
||||||
|
target.eq(0).show();
|
||||||
|
target.eq(1).show();
|
||||||
|
target.eq(2).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function expand_reply_input(id) {
|
||||||
|
$(id).toggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
init_activity_KindEditor_data(<%= topic.id%>, null, "87%");
|
||||||
|
showNormalImage('activity_description_<%= topic.id %>');
|
||||||
|
/*var description_images=$("div#activity_description_<%#= topic.id %>").find("img");
|
||||||
|
if (description_images.length>0) {
|
||||||
|
for (var i=0; i<description_images.length; i++){
|
||||||
|
var image=$(description_images[i]);
|
||||||
|
var element=$("<a></a>").attr("href",image.attr('src'));
|
||||||
|
image.wrap(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('#activity_description_<%#= topic.id %> a').colorbox({rel:'nofollow', close: "关闭", returnFocus: false});*/
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<% if topic %>
|
||||||
|
<%= render :partial => 'users/project_message', :locals => {:activity => topic,:user_activity_id =>topic.id} %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if topics.count == 10 %>
|
||||||
|
<div id="show_more_course_topic" class="loadMore mt10 f_grey">展开更多<%= link_to "", boards_topic_path(@board, :project_id => @board.project.id ,:page => page), :id => "more_topic_link", :remote => "true", :class => "none" %></div>
|
||||||
|
<% end %>
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$("#show_more_course_topic").mouseover(function () {
|
||||||
|
$("#more_topic_link").click();
|
||||||
|
});
|
||||||
|
</script>
|
@ -0,0 +1,60 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$(".resourcePopupClose").click(function(){
|
||||||
|
$(".shareDP").css("display","none");
|
||||||
|
});
|
||||||
|
$(".sectionRow").toggle(
|
||||||
|
function(){
|
||||||
|
$(this).next().css("display","block");
|
||||||
|
},
|
||||||
|
function(){
|
||||||
|
$(this).next().css("display","none");
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
function join_org(){
|
||||||
|
if ($("#org_subfield_list input[type='checkbox']:checked").size() == 0)
|
||||||
|
{
|
||||||
|
alert("您还没有选择栏目!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$("#join-form").submit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class="relateText fl mb10">转发到</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="sectionWrap fl">
|
||||||
|
|
||||||
|
<div class="pl10 fontGrey3 sectionRow">
|
||||||
|
<span class="shareArrow"></span>我的组织
|
||||||
|
</div>
|
||||||
|
<ul class="fontGrey3 sectionContent" id="sectionContent3">
|
||||||
|
<% organizations.each do |org| %>
|
||||||
|
<li><span><%= link_to org.name, messages_get_subfield_on_click_org_path(:organization_id => org.id), :remote => true %></span></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<%= form_tag url_for(:controller => 'messages', :action => 'join_org_subfields', :id => id), :id => 'join-form', :remote => true %>
|
||||||
|
<div id="org_subfield_list">
|
||||||
|
<%= render :partial => 'show_org_subfields', :locals => {:org => nil} %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="courseSendCancel mr2" style="float:right;"><a href="javascript:void(0);" onclick="hideModal();" class="sendSourceText">取消</a></div>
|
||||||
|
<div class="courseSendSubmit" style="float:right;"><a href="javascript:void(0);" onclick="join_org();" class="sendSourceText">确定</a></div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,13 @@
|
|||||||
|
<ul class="columnWrap fr">
|
||||||
|
<!--<span class="fontBlue pl10">请在左侧选择要转发的位置</span>-->
|
||||||
|
<% if !org.nil? %>
|
||||||
|
<span class="fontBlue pl10">组织:<%= org.name %></span>
|
||||||
|
<% org.org_subfields.where("field_type='Post'").each do |subfield| %>
|
||||||
|
<li>
|
||||||
|
<label><input type="checkbox" name='org_subfields[]' value='<%= subfield.id %>' class="mt3 fl mr5"/><span><%= subfield.name %></span></label>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<span class="fontBlue pl10">请在左侧选择要转发的位置</span>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
@ -0,0 +1,2 @@
|
|||||||
|
$("#org_subfield_list").html("");
|
||||||
|
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'show_org_subfields', :locals => {:org => @org}) %>");
|
@ -0,0 +1,11 @@
|
|||||||
|
$('#topnav_course_menu').hide();
|
||||||
|
|
||||||
|
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'join_org_subfield_menu', :locals => {:organizations => @organizations, :id => @message.id}) %>');
|
||||||
|
showModal('ajax-modal', '430px');
|
||||||
|
$('#ajax-modal').siblings().hide();
|
||||||
|
$('#ajax-modal').before(
|
||||||
|
"<a href='javascript:' onclick='hideModal();' class='resourceClose' style='margin-left: 410px;'></a>");
|
||||||
|
//$('#ajax-modal').css('position','absolute')
|
||||||
|
$('#ajax-modal').css("top","").css("left","");
|
||||||
|
$('#ajax-modal').parent().addClass("resourceSharePopup");
|
||||||
|
|
@ -0,0 +1,2 @@
|
|||||||
|
hideModal();
|
||||||
|
alert("转发成功!");
|
@ -0,0 +1,79 @@
|
|||||||
|
<style type="text/css">
|
||||||
|
input.is_public,input.is_public_checkbox{height:12px;}
|
||||||
|
input.is_public_checkbox{margin-left:4px;margin-right:4px;}
|
||||||
|
</style>
|
||||||
|
<div class="fl">
|
||||||
|
<span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||||
|
<% if defined?(container) && container && container.saved_attachments %>
|
||||||
|
<% container.attachments.each_with_index do |attachment, i| %>
|
||||||
|
<span id="attachments_p<%= i %>" class="attachment">
|
||||||
|
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly => 'readonly') %><%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style => "display: inline-block;") %><span class="ispublic-label"><%= l(:field_is_public) %>:</span>
|
||||||
|
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, attachment.is_public == 1 ? true : false, :class => 'is_public') %>
|
||||||
|
<%= if attachment.id.nil?
|
||||||
|
#待补充代码
|
||||||
|
else
|
||||||
|
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||||
|
|
||||||
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
</span>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% end %>
|
||||||
|
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
||||||
|
<span id="attachments_p<%= i %>" class="attachment">
|
||||||
|
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly => 'readonly') %>
|
||||||
|
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style => "display: inline-block;") %>
|
||||||
|
<span class="ispublic-label"><%= l(:field_is_public) %>:</span>
|
||||||
|
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, attachment.is_public == 1 ? true : false, :class => 'is_public') %>
|
||||||
|
<%= if attachment.id.nil?
|
||||||
|
#待补充代码
|
||||||
|
else
|
||||||
|
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||||
|
|
||||||
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
</span>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</span>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<span class="add_attachment" style="font-weight:normal;">
|
||||||
|
<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
|
||||||
|
<!--%= link_to image_tag(),"javascript:void(0)", :onclick => "_file.click()"%-->
|
||||||
|
<%#= button_tag "文件浏览", :type=>"button", :onclick=>"$('#_file').click();",:onmouseover => 'this.focus()',:class => 'sub_btn' %>
|
||||||
|
<a href="javascript:void(0);" onclick="_file.click();" class="AnnexBtn fl mr15">上传附件</a>
|
||||||
|
<%= file_field_tag 'attachments[dummy][file]',
|
||||||
|
:id => '_file',
|
||||||
|
:class => 'file_selector',
|
||||||
|
:multiple => true,
|
||||||
|
:onchange => 'addInputFiles(this);',
|
||||||
|
:style => ie8? ? '' : 'display:none',
|
||||||
|
:data => {
|
||||||
|
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
||||||
|
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
|
||||||
|
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
||||||
|
:upload_path => uploads_path(:format => 'js'),
|
||||||
|
:description_placeholder => l(:label_optional_description),
|
||||||
|
:field_is_public => l(:field_is_public),
|
||||||
|
:are_you_sure => l(:text_are_you_sure),
|
||||||
|
:file_count => l(:label_file_count),
|
||||||
|
:lebel_file_uploding => l(:lebel_file_uploding),
|
||||||
|
:delete_all_files => l(:text_are_you_sure_all)
|
||||||
|
} %>
|
||||||
|
<span id="upload_file_count">
|
||||||
|
<%= l(:label_no_file_uploaded) %>
|
||||||
|
</span>
|
||||||
|
(<%= l(:label_max_size) %>:
|
||||||
|
<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<% content_for :header_tags do %>
|
||||||
|
<%= javascript_include_tag 'attachments' %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
@ -1,50 +1,55 @@
|
|||||||
<%= content_for(:header_tags) do %>
|
<%= content_for(:header_tags) do %>
|
||||||
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function check_org_title(title)
|
function check_org_title(title)
|
||||||
{
|
{
|
||||||
if($("#document_title").val().trim() == "")
|
if($("#document_title").val().trim() == "")
|
||||||
{
|
{
|
||||||
$("#doc_title_hint").html("<span class='c_red'>标题不能为空</span>").show();
|
$("#doc_title_hint").html("<span class='c_red'>标题不能为空</span>").show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$("#doc_title_hint").hide();
|
$("#doc_title_hint").hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<div class="homepageRightBanner mb5" style="margin-bottom:5px;">
|
<div class="homepageRightBanner mb5" style="margin-bottom:5px;">
|
||||||
<div class="NewsBannerName">编辑文章</div>
|
<div class="NewsBannerName">编辑文章</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
<%= 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| %>
|
<%= 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| %>
|
||||||
<div class="resources">
|
<div class="resources">
|
||||||
<div>
|
<div>
|
||||||
<input class="postDetailInput fl mr15" style="margin-bottom:15px;" name="org_document_comment[title]" id="document_title" style="resize:none;" onfocus = "$('#org_document_editor').show();" onblur="check_org_title();" value="<%= @org_document.title %>" />
|
<input class="postDetailInput fl mr15" style="margin-bottom:15px;" name="org_document_comment[title]" id="document_title" style="resize:none;" onfocus = "$('#org_document_editor').show();" onblur="check_org_title();" value="<%= @org_document.title %>" />
|
||||||
</div>
|
</div>
|
||||||
<div id="doc_title_hint"></div>
|
<div id="doc_title_hint"></div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div id="org_document_editor" >
|
<div id="org_document_editor" >
|
||||||
<div class="mt10">
|
<div class="mt10">
|
||||||
<%= kindeditor_tag 'org_document_comment[content]',@org_document.content, :editor_id => 'org_document_description_editor', :height => "150px" %>
|
<%= kindeditor_tag 'org_document_comment[content]',@org_document.content, :editor_id => 'org_document_description_editor', :height => "150px" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
<p id="homework_course_id_span" class="c_red mt5"></p>
|
<div class="cl"></div>
|
||||||
<div class="cl"></div>
|
|
||||||
|
<div class="mt10">
|
||||||
<div class="mt5">
|
<div class="fl" id="topic_attachments">
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="org_document_description_editor.sync();$('#new_org_document_form').submit();">确定</a>
|
<%= render :partial => 'org_document_comments/attachment', :locals => {:container => @org_document} %>
|
||||||
<span class="fr mr10 mt3">或</span>
|
</div>
|
||||||
<a href="javascript:void(0);" onclick="location=document.referrer;" class="fr mr10 mt3">取消</a>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
<div class="mt5">
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="org_document_description_editor.sync();$('#new_org_document_form').submit();">确定</a>
|
||||||
</div>
|
<span class="fr mr10 mt3">或</span>
|
||||||
</div>
|
<a href="javascript:void(0);" onclick="location=document.referrer;" class="fr mr10 mt3">取消</a>
|
||||||
<% end %>
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
@ -1,56 +1,60 @@
|
|||||||
<%= content_for(:header_tags) do %>
|
<%= content_for(:header_tags) do %>
|
||||||
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function check_org_title()
|
function check_org_title()
|
||||||
{
|
{
|
||||||
if($("#document_title").val().trim() == "")
|
if($("#document_title").val().trim() == "")
|
||||||
{
|
{
|
||||||
$("#doc_title_hint").html("<span class='c_red'>标题不能为空</span>").show();
|
$("#doc_title_hint").html("<span class='c_red'>标题不能为空</span>").show();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$("#doc_title_hint").hide();
|
$("#doc_title_hint").hide();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function create_org_document()
|
function create_org_document()
|
||||||
{
|
{
|
||||||
if(check_org_title() == true)
|
if(check_org_title() == true)
|
||||||
{
|
{
|
||||||
org_document_description_editor.sync();
|
org_document_description_editor.sync();
|
||||||
$('#new_org_document_form').submit();
|
$('#new_org_document_form').submit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function cancel_create_org_document(){
|
function cancel_create_org_document(){
|
||||||
location.href = document.referrer;
|
location.href = document.referrer;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<%= form_tag organization_org_document_comments_path(:organization_id => @organization.id, :field_id => params[:field_id]), :id => 'new_org_document_form' do |f| %>
|
<%= form_tag organization_org_document_comments_path(:organization_id => @organization.id, :field_id => params[:field_id]), :id => 'new_org_document_form' do |f| %>
|
||||||
<div class="resources">
|
<div class="resources">
|
||||||
<div>
|
<div>
|
||||||
<textarea class="postDetailInput fl mr15" style="margin-bottom:15px;" name="org_document_comment[title]" id="document_title" style="resize:none;" onfocus = "$('#org_document_editor').show();" placeholder="请输入文章标题"></textarea>
|
<textarea class="postDetailInput fl mr15" style="margin-bottom:15px;" name="org_document_comment[title]" id="document_title" style="resize:none;" onfocus = "$('#org_document_editor').show();" placeholder="请输入文章标题"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div id="doc_title_hint"></div>
|
<div id="doc_title_hint"></div>
|
||||||
<div id="org_document_editor" class="mt15" >
|
<div id="org_document_editor" class="mt15" >
|
||||||
<div class="mt10">
|
<div class="mt10">
|
||||||
<%= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
|
<%= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
|
<div class="cl"></div>
|
||||||
<p id="homework_course_id_span" class="c_red mt5"></p>
|
<div class="mt10">
|
||||||
<div class="cl"></div>
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'org_document_comments/attachment', :locals => {:container => nil} %>
|
||||||
<div class="mt5">
|
</div>
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="create_org_document();">确定</a>
|
</div>
|
||||||
<span class="fr mr10 mt3">或</span>
|
<div class="cl"></div>
|
||||||
<a href="javascript:void(0);" onclick="cancel_create_org_document();" class="fr mr10 mt3">取消</a>
|
|
||||||
<div class="cl"></div>
|
<div class="mt5">
|
||||||
</div>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="create_org_document();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
</div>
|
<a href="javascript:void(0);" onclick="cancel_create_org_document();" class="fr mr10 mt3">取消</a>
|
||||||
</div>
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<% end %>
|
<% end %>
|
@ -1,70 +1,80 @@
|
|||||||
<% unless org_activities.nil? %>
|
<% unless org_activities.nil? %>
|
||||||
<% org_activities.each do |act| %>
|
<% org_activities.each do |act| %>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function() {
|
||||||
init_activity_KindEditor_data(<%= act.id%>, null, "87%", "<%=act.class.to_s%>");
|
init_activity_KindEditor_data(<%= act.id%>, null, "87%", "<%=act.class.to_s%>");
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<% if act.container_type == 'Organization' %>
|
<% if act.container_type == 'Organization' %>
|
||||||
<% if act.org_act_type == 'CreateOrganization' %>
|
<% if act.org_act_type == 'CreateOrganization' %>
|
||||||
<div class="resources mt10">
|
<div class="resources mt10">
|
||||||
<div class="homepagePostBrief">
|
<div class="homepagePostBrief">
|
||||||
<div class="homepagePostPortrait">
|
<div class="homepagePostPortrait">
|
||||||
<a href="javascript:void(0);"><%= image_tag(url_to_avatar(User.find(act.user_id)), :width => "45", :height => "45") %></a>
|
<a href="javascript:void(0);"><%= image_tag(url_to_avatar(User.find(act.user_id)), :width => "45", :height => "45") %></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDes">
|
<div class="homepagePostDes">
|
||||||
<div class="homepagePostTo"><%= link_to User.find(act.user_id), user_path(act.user_id) %> 创建了 <a href="<%= organization_path(@organization)%>" class="newsBlue ml10"><%= Organization.find(act.org_act_id).name %>
|
<div class="homepagePostTo"><%= link_to User.find(act.user_id), user_path(act.user_id) %> 创建了 <a href="<%= organization_path(@organization)%>" class="newsBlue ml10"><%= Organization.find(act.org_act_id).name %>
|
||||||
| 组织</a></div>
|
| 组织</a></div>
|
||||||
<div class="homepagePostDate"> 创建时间:<%= format_activity_day(act.created_at) %> <%= format_time(act.created_at, false) %> </div>
|
<div class="homepagePostDate"> 创建时间:<%= format_activity_day(act.created_at) %> <%= format_time(act.created_at, false) %> </div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if act.org_act_type == 'OrgDocumentComment' && act.org_act_id != @organization.home_id %>
|
<% if act.org_act_type == 'OrgDocumentComment' && act.org_act_id != @organization.home_id %>
|
||||||
<%= render :partial => 'show_org_document', :locals => {:document => act.org_act, :act => act, :flag => 2, :org_subfield_id => params[:org_subfield_id]} %>
|
<%= render :partial => 'show_org_document', :locals => {:document => act.org_act, :act => act, :flag => 2, :org_subfield_id => params[:org_subfield_id]} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if act.container_type == 'Project' %>
|
<% if act.container_type == 'Project' %>
|
||||||
<% case act.org_act_type.to_s %>
|
<% case act.org_act_type.to_s %>
|
||||||
<% when 'Issue' %>
|
<% when 'Issue' %>
|
||||||
<%= render :partial => 'organizations/org_project_issue', :locals => {:activity => Issue.find(act.org_act_id),:user_activity_id =>act.id} %>
|
<%= render :partial => 'organizations/org_project_issue', :locals => {:activity => Issue.find(act.org_act_id),:user_activity_id =>act.id} %>
|
||||||
<% when 'Message' %>
|
<% when 'Message' %>
|
||||||
<%= render :partial => 'organizations/project_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %>
|
<%= render :partial => 'organizations/project_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %>
|
||||||
<% when 'ProjectCreateInfo'%>
|
<% when 'ProjectCreateInfo'%>
|
||||||
<%= render :partial => 'organizations/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %>
|
<%= render :partial => 'organizations/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if act.container_type == 'Course' %>
|
<% if act.container_type == 'Course' %>
|
||||||
<% case act.org_act_type.to_s %>
|
<% case act.org_act_type.to_s %>
|
||||||
<% when 'HomeworkCommon' %>
|
<% when 'HomeworkCommon' %>
|
||||||
<%= render :partial => 'org_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %>
|
<%= render :partial => 'org_course_homework', :locals => {:activity => HomeworkCommon.find(act.org_act_id),:user_activity_id =>act.id,:course_activity => 0} %>
|
||||||
<% when 'News' %>
|
<% when 'News' %>
|
||||||
<%= render :partial => 'org_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %>
|
<%= render :partial => 'org_course_news', :locals => {:activity => News.find(act.org_act_id),:user_activity_id =>act.id} %>
|
||||||
<% when 'Message'%>
|
<% when 'Message'%>
|
||||||
<%= render :partial => 'org_course_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %>
|
<%= render :partial => 'org_course_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %>
|
||||||
<% when 'Poll' %>
|
<% when 'Poll' %>
|
||||||
<%= render :partial => 'org_course_poll', :locals => {:activity => Poll.find(act.org_act_id), :user_activity_id => act.id} %>
|
<%= render :partial => 'org_course_poll', :locals => {:activity => Poll.find(act.org_act_id), :user_activity_id => act.id} %>
|
||||||
<% when 'Course'%>
|
<% when 'Course'%>
|
||||||
<%= render :partial => 'org_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %>
|
<%= render :partial => 'org_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% if act.container_type == 'OrgSubfield' %>
|
||||||
<!--<ul class="wlist" style=" border:none; padding-top: 15px;">-->
|
<% if act.org_act_type == 'Message' %>
|
||||||
<%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
<% message = Message.find(act.org_act_id) %>
|
||||||
<!--</ul>-->
|
<% if !message.board.course_id.nil? %>
|
||||||
<% end %>
|
<%= render :partial => 'org_course_message', :locals => {:activity => message,:user_activity_id =>act.id} %>
|
||||||
|
<% else %>
|
||||||
<% if org_act_count == 10 %>
|
<%= render :partial => 'organizations/project_message', :locals => {:activity => message,:user_activity_id =>act.id} %>
|
||||||
<div id="show_more_activities" class="loadMore mt10 f_grey">展开更多<%=link_to "", organization_path(org,:page => page.to_i + 1, :show_homepage =>params[:show_homepage],:type => params[:type]),:id => "more_org_activities_link",:remote => "true",:class => "none" %></div>
|
<% end %>
|
||||||
<%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
<% end %>
|
||||||
<% end%>
|
<% end %>
|
||||||
|
<% end %>
|
||||||
<script>
|
<!--<ul class="wlist" style=" border:none; padding-top: 15px;">-->
|
||||||
$(function(){
|
<%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
||||||
$("#show_more_activities").mouseover(function(){
|
<!--</ul>-->
|
||||||
$("#more_org_activities_link").click();
|
<% end %>
|
||||||
})
|
|
||||||
})
|
<% if org_act_count == 10 %>
|
||||||
|
<div id="show_more_activities" class="loadMore mt10 f_grey">展开更多<%=link_to "", organization_path(org,:page => page.to_i + 1, :show_homepage =>params[:show_homepage],:type => params[:type]),:id => "more_org_activities_link",:remote => "true",:class => "none" %></div>
|
||||||
|
<%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
$("#show_more_activities").mouseover(function(){
|
||||||
|
$("#more_org_activities_link").click();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
@ -1,42 +1,43 @@
|
|||||||
<div class="homepageLeftMenuBlock">
|
<div class="homepageLeftMenuBlock">
|
||||||
<%= link_to "动态",organization_path(organization), :class => "homepageMenuText" %>
|
<%= link_to "动态",organization_path(organization), :class => "homepageMenuText" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepageLeftMenuBlock">
|
<div class="homepageLeftMenuBlock">
|
||||||
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuProjects').slideToggle();">项目</a>
|
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuProjects').slideToggle();">项目</a>
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? %>
|
||||||
<%=link_to "", join_project_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联项目"%>
|
<%=link_to "", join_project_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联项目"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepageLeftMenuCourses" id="homepageLeftMenuProjects" style="display:<%= organization.projects.count == 0?'none':'' %>">
|
<div class="homepageLeftMenuCourses" id="homepageLeftMenuProjects" style="display:<%= organization.projects.count == 0?'none':'' %>">
|
||||||
<ul >
|
<ul >
|
||||||
<%= render :partial => 'layouts/org_projects',:locals=>{:projects=>organization.projects.reorder('created_at').uniq.limit(5),:org_id=>organization.id,:page=>1}%>
|
|
||||||
</ul>
|
<%= render :partial => 'layouts/org_projects',:locals=>{:projects=>organization.projects.reorder('created_at').uniq.limit(5),:org_id=>organization.id,:page=>1}%>
|
||||||
</div>
|
</ul>
|
||||||
<div class="homepageLeftMenuBlock">
|
</div>
|
||||||
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuCourses').slideToggle();">课程</a>
|
<div class="homepageLeftMenuBlock">
|
||||||
<% if User.current.logged? %>
|
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuCourses').slideToggle();">课程</a>
|
||||||
<%=link_to "", join_course_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联课程"%>
|
<% if User.current.logged? %>
|
||||||
<% end %>
|
<%=link_to "", join_course_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联课程"%>
|
||||||
</div>
|
<% end %>
|
||||||
<div class="homepageLeftMenuCourses" id="homepageLeftMenuCourses" style="display:<%= organization.courses.count == 0 ?'none':'' %>">
|
</div>
|
||||||
<ul >
|
<div class="homepageLeftMenuCourses" id="homepageLeftMenuCourses" style="display:<%= organization.courses.count == 0 ?'none':'' %>">
|
||||||
<%= render :partial => 'layouts/org_courses',:locals=>{:courses=>organization.courses.reorder('created_at').uniq.limit(5),:org_id=>organization.id,:page=>1}%>
|
<ul >
|
||||||
</ul>
|
<%= render :partial => 'layouts/org_courses',:locals=>{:courses=>organization.courses.reorder('created_at').uniq.limit(5),:org_id=>organization.id,:page=>1}%>
|
||||||
</div>
|
</ul>
|
||||||
<% organization.org_subfields.each do |field| %>
|
</div>
|
||||||
<div class="homepageLeftMenuBlock">
|
<% organization.org_subfields.each do |field| %>
|
||||||
<% if field.field_type == "Post" %>
|
<div class="homepageLeftMenuBlock">
|
||||||
<%= link_to "#{field.name}", organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText" %>
|
<% if field.field_type == "Post" %>
|
||||||
<%=link_to "", new_organization_org_document_comment_path(organization, :field_id => field.id), :method => "get", :class => "homepageMenuSetting fr", :title => "发布帖子"%>
|
<%= link_to "#{field.name}", organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText" %>
|
||||||
<% else %>
|
<%=link_to "", new_organization_org_document_comment_path(organization, :field_id => field.id), :method => "get", :class => "homepageMenuSetting fr", :title => "发布帖子"%>
|
||||||
<%= link_to "#{field.name}", org_subfield_files_path(field), :class => "homepageMenuText" %>
|
<% else %>
|
||||||
<% if User.current.member_of_org?organization %>
|
<%= link_to "#{field.name}", org_subfield_files_path(field), :class => "homepageMenuText" %>
|
||||||
<%= link_to "", subfield_upload_file_org_subfield_files_path(field.id, :in_org => 1),:method => "post", :remote => true, :class => "homepageMenuSetting fr", :title => "上传资源" %>
|
<% if User.current.member_of_org?organization %>
|
||||||
<!--<a class="homepageMenuSetting fr" title="上传资源" href="javascript:void(0);" onclick="org_subfield_files_upload(<%#= field.id %>);"> </a>-->
|
<%= link_to "", subfield_upload_file_org_subfield_files_path(field.id, :in_org => 1),:method => "post", :remote => true, :class => "homepageMenuSetting fr", :title => "上传资源" %>
|
||||||
<% end %>
|
<!--<a class="homepageMenuSetting fr" title="上传资源" href="javascript:void(0);" onclick="org_subfield_files_upload(<%#= field.id %>);"> </a>-->
|
||||||
<!--<a href="javascript:void(0);" class="homepageMenuText"><%#= field.name %></a>-->
|
<% end %>
|
||||||
<% end %>
|
<!--<a href="javascript:void(0);" class="homepageMenuText"><%#= field.name %></a>-->
|
||||||
</div>
|
<% end %>
|
||||||
<div class="homepageLeftMenuCourses" id="homepageLeftMenuField_<%= field.id %>" style="display:none;">
|
</div>
|
||||||
</div>
|
<div class="homepageLeftMenuCourses" id="homepageLeftMenuField_<%= field.id %>" style="display:none;">
|
||||||
|
</div>
|
||||||
<% end %>
|
<% end %>
|
@ -1,119 +1,119 @@
|
|||||||
<div class="resources mt10" id="user_activity_<%= user_activity_id%>">
|
<div class="resources mt10" id="user_activity_<%= user_activity_id%>">
|
||||||
<div class="homepagePostBrief">
|
<div class="homepagePostBrief">
|
||||||
<div class="homepagePostPortrait">
|
<div class="homepagePostPortrait">
|
||||||
<%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %>
|
<%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDes">
|
<div class="homepagePostDes">
|
||||||
<div class="homepagePostTo break_word mt-4">
|
<div class="homepagePostTo break_word mt-4">
|
||||||
<% if activity.try(:author).try(:realname) == ' ' %>
|
<% if activity.try(:author).try(:realname) == ' ' %>
|
||||||
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
|
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %>
|
<%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
TO
|
TO
|
||||||
<%= link_to activity.project.name.to_s+" | 项目讨论区",project_boards_path(activity.project), :class => "newsBlue ml15 mr5"%>
|
<%= link_to activity.project.name.to_s+" | 项目讨论区",project_boards_path(activity.project), :class => "newsBlue ml15 mr5"%>
|
||||||
<!--<a href="javascript:void(0);" class="newsBlue ml15 mr5"><%= activity.project.name %>(项目讨论区)</a>-->
|
<!--<a href="javascript:void(0);" class="newsBlue ml15 mr5"><%= activity.project.name %>(项目讨论区)</a>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostTitle break_word">
|
<div class="homepagePostTitle break_word">
|
||||||
<% if activity.parent_id.nil? %>
|
<% if activity.parent_id.nil? %>
|
||||||
<%= link_to activity.subject.to_s.html_safe, project_boards_path(activity.project,:parent_id =>activity.id, :topic_id => activity.id), :class=> "postGrey"
|
<%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey"
|
||||||
%>
|
%>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to activity.parent.subject.to_s.html_safe, project_boards_path(activity.project,:parent_id =>activity.parent_id, :topic_id => activity.id), :class=> "postGrey"
|
<%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey"
|
||||||
%>
|
%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDate">
|
<div class="homepagePostDate">
|
||||||
时间:<%= format_time(activity.created_on) %>
|
时间:<%= format_time(activity.created_on) %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostIntro break_word upload_img list_style maxh360 lh18 table_maxWidth" id="activity_description_<%= user_activity_id%>">
|
<div class="homepagePostIntro break_word upload_img list_style maxh360 lh18 table_maxWidth" id="activity_description_<%= user_activity_id%>">
|
||||||
<div id="intro_content_<%= user_activity_id%>">
|
<div id="intro_content_<%= user_activity_id%>">
|
||||||
<% if activity.parent_id.nil? %>
|
<% if activity.parent_id.nil? %>
|
||||||
<%= activity.content.to_s.html_safe%>
|
<%= activity.content.to_s.html_safe%>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= activity.parent.content.to_s.html_safe%>
|
<%= activity.parent.content.to_s.html_safe%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div id="intro_content_show_<%= user_activity_id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[展开]</a></div>
|
<div id="intro_content_show_<%= user_activity_id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[展开]</a></div>
|
||||||
<div id="intro_content_hide_<%= user_activity_id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[收起]</a></div>
|
<div id="intro_content_hide_<%= user_activity_id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[收起]</a></div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<% count = 0 %>
|
<% count = 0 %>
|
||||||
<% if activity.parent %>
|
<% if activity.parent %>
|
||||||
<% count=activity.parent.children.count%>
|
<% count=activity.parent.children.count%>
|
||||||
<% else %>
|
<% else %>
|
||||||
<% count=activity.children.count%>
|
<% count=activity.children.count%>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="homepagePostReply">
|
<div class="homepagePostReply">
|
||||||
<div class="topBorder" style="display: <%= count>0 ? 'none': '' %>"></div>
|
<div class="topBorder" style="display: <%= count>0 ? 'none': '' %>"></div>
|
||||||
<div class="homepagePostReplyBanner" style="display: <%= count>0 ? '': 'none' %>">
|
<div class="homepagePostReplyBanner" style="display: <%= count>0 ? '': 'none' %>">
|
||||||
<div class="homepagePostReplyBannerCount" onclick="expand_reply_input('#reply_input_<%= user_activity_id %>');">回复(
|
<div class="homepagePostReplyBannerCount" onclick="expand_reply_input('#reply_input_<%= user_activity_id %>');">回复(
|
||||||
<%=count %>
|
<%=count %>
|
||||||
)</div>
|
)</div>
|
||||||
<div class="homepagePostReplyBannerTime"><%#=format_date(activity.updated_on)%></div>
|
<div class="homepagePostReplyBannerTime"><%#=format_date(activity.updated_on)%></div>
|
||||||
<%if count>3 %>
|
<%if count>3 %>
|
||||||
<div class="homepagePostReplyBannerMore"><a id="reply_btn_<%=user_activity_id%>" onclick="expand_reply('#reply_div_<%= user_activity_id %> li','#reply_btn_<%=user_activity_id%>')" data-count="<%= count %>" data-init="0" class=" replyGrey" href="javascript:void(0)" value="show_help" >展开更多</a></div>
|
<div class="homepagePostReplyBannerMore"><a id="reply_btn_<%=user_activity_id%>" onclick="expand_reply('#reply_div_<%= user_activity_id %> li','#reply_btn_<%=user_activity_id%>')" data-count="<%= count %>" data-init="0" class=" replyGrey" href="javascript:void(0)" value="show_help" >展开更多</a></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% activity= activity.parent_id.nil? ? activity : activity.parent %>
|
<% activity= activity.parent_id.nil? ? activity : activity.parent %>
|
||||||
<% replies_all_i = 0 %>
|
<% replies_all_i = 0 %>
|
||||||
<% if count > 0 %>
|
<% if count > 0 %>
|
||||||
<div class="" id="reply_div_<%= user_activity_id %>">
|
<div class="" id="reply_div_<%= user_activity_id %>">
|
||||||
<ul>
|
<ul>
|
||||||
<% activity.children.reorder("created_on desc").each do |reply| %>
|
<% activity.children.reorder("created_on desc").each do |reply| %>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
showNormalImage('reply_content_<%= reply.id %>');
|
showNormalImage('reply_content_<%= reply.id %>');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<% replies_all_i=replies_all_i+1 %>
|
<% replies_all_i=replies_all_i+1 %>
|
||||||
<li class="homepagePostReplyContainer" nhname="reply_rec" style="display:<%= replies_all_i>3 ? 'none' : '' %>">
|
<li class="homepagePostReplyContainer" nhname="reply_rec" style="display:<%= replies_all_i>3 ? 'none' : '' %>">
|
||||||
<div class="homepagePostReplyPortrait">
|
<div class="homepagePostReplyPortrait">
|
||||||
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_path(reply.author_id), :alt => "用户头像" %>
|
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_path(reply.author_id), :alt => "用户头像" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostReplyDes">
|
<div class="homepagePostReplyDes">
|
||||||
<div class="homepagePostReplyPublisher mt-4">
|
<div class="homepagePostReplyPublisher mt-4">
|
||||||
<% if reply.try(:author).try(:realname) == ' ' %>
|
<% if reply.try(:author).try(:realname) == ' ' %>
|
||||||
<%= link_to reply.try(:author), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
|
<%= link_to reply.try(:author), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to reply.try(:author).try(:realname), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
|
<%= link_to reply.try(:author).try(:realname), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= format_time(reply.created_on) %>
|
<%= format_time(reply.created_on) %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostReplyContent break_word list_style upload_img table_maxWidth" id="reply_content_<%= reply.id %>">
|
<div class="homepagePostReplyContent break_word list_style upload_img table_maxWidth" id="reply_content_<%= reply.id %>">
|
||||||
<%= reply.content.html_safe %></div>
|
<%= reply.content.html_safe %></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
|
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
|
||||||
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %></div>
|
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %></div>
|
||||||
<div class="homepagePostReplyInputContainer mb10">
|
<div class="homepagePostReplyInputContainer mb10">
|
||||||
<div nhname='new_message_<%= user_activity_id%>' style="display:none;">
|
<div nhname='new_message_<%= user_activity_id%>' style="display:none;">
|
||||||
<%= form_for('new_form',:url => {:controller=>'messages',:action => 'reply', :id => activity.id, :board_id => activity.board_id, :is_board => 'true'},:method => "post", :remote => true) do |f|%>
|
<%= form_for('new_form',:url => {:controller=>'messages',:action => 'reply', :id => activity.id, :board_id => activity.board_id, :is_board => 'true'},:method => "post", :remote => true) do |f|%>
|
||||||
<input type="hidden" name="quote[quote]" value="">
|
<input type="hidden" name="quote[quote]" value="">
|
||||||
<input type="hidden" name="user_activity_id" value="<%=user_activity_id%>">
|
<input type="hidden" name="user_activity_id" value="<%=user_activity_id%>">
|
||||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= user_activity_id%>' name="reply[content]"></textarea>
|
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= user_activity_id%>' name="reply[content]"></textarea>
|
||||||
<div nhname='toolbar_container_<%= user_activity_id%>' style="float:left;padding-top:3px; margin-left: 5px;"></div>
|
<div nhname='toolbar_container_<%= user_activity_id%>' style="float:left;padding-top:3px; margin-left: 5px;"></div>
|
||||||
<a id="new_message_submit_btn_<%= user_activity_id%>" href="javascript:void(0)" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
<a id="new_message_submit_btn_<%= user_activity_id%>" href="javascript:void(0)" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<p nhname='contentmsg_<%= user_activity_id%>'></p>
|
<p nhname='contentmsg_<%= user_activity_id%>'></p>
|
||||||
<% end%>
|
<% end%>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@ -0,0 +1,10 @@
|
|||||||
|
class CreateOrgSubfieldMessages < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :org_subfield_messages do |t|
|
||||||
|
t.integer :org_subfield_id
|
||||||
|
t.integer :message_id
|
||||||
|
t.string :message_type
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
|||||||
|
FactoryGirl.define do
|
||||||
|
factory :org_subfield_board, :class => 'OrgSubfieldBoards' do
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,6 @@
|
|||||||
|
FactoryGirl.define do
|
||||||
|
factory :org_subfield_message, :class => 'OrgSubfieldMessage' do
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgSubfieldBoards, :type => :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgSubfieldMessage, :type => :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
Loading…
Reference in new issue