commit
						d2c7d12cd9
					
				@ -1,284 +1,303 @@
 | 
				
			||||
# encoding: utf-8
 | 
				
			||||
class OrganizationsController < ApplicationController
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  helper :sort
 | 
				
			||||
  include SortHelper
 | 
				
			||||
  helper :custom_fields
 | 
				
			||||
  include CustomFieldsHelper
 | 
				
			||||
  include AvatarHelper
 | 
				
			||||
  include WordsHelper
 | 
				
			||||
  include GitlabHelper
 | 
				
			||||
  include UserScoreHelper
 | 
				
			||||
 | 
				
			||||
  include PollHelper
 | 
				
			||||
  helper :user_score
 | 
				
			||||
  helper :journals
 | 
				
			||||
 | 
				
			||||
  # added by liuping 关注
 | 
				
			||||
 | 
				
			||||
  helper :watchers
 | 
				
			||||
  helper :activities
 | 
				
			||||
 | 
				
			||||
  ### added by william
 | 
				
			||||
  include ActsAsTaggableOn::TagsHelper
 | 
				
			||||
 | 
				
			||||
  #  fq
 | 
				
			||||
  helper :words
 | 
				
			||||
  helper :project_score
 | 
				
			||||
  helper :issues
 | 
				
			||||
  include UsersHelper
 | 
				
			||||
  before_filter :find_organization, :only => [:show, :members]
 | 
				
			||||
  layout 'base_org'
 | 
				
			||||
  def index
 | 
				
			||||
 | 
				
			||||
  end
 | 
				
			||||
  def new
 | 
				
			||||
    @organization = Organization.new
 | 
				
			||||
    render :layout => 'new_base'
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def edit
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def destroy
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    @organization.destroy
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.html{ redirect_to admin_organization_path }
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def create
 | 
				
			||||
    @organization = Organization.new
 | 
				
			||||
    @organization.name = params[:organization][:name]
 | 
				
			||||
    @organization.description = params[:organization][:description]
 | 
				
			||||
    @organization.is_public = params[:organization][:is_public]
 | 
				
			||||
    @organization.creator_id = User.current.id
 | 
				
			||||
    member = OrgMember.new(:user_id => User.current.id)
 | 
				
			||||
 | 
				
			||||
    @organization.org_members << member
 | 
				
			||||
    if @organization.save
 | 
				
			||||
      OrgMemberRole.create(:org_member_id => member.id, :role_id => 11)
 | 
				
			||||
      redirect_to organization_path(@organization)
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def show
 | 
				
			||||
    if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
 | 
				
			||||
      @organization = Organization.find(params[:id])
 | 
				
			||||
      if params[:org_subfield_id]
 | 
				
			||||
        @org_subfield = OrgSubfield.find(params[:org_subfield_id])
 | 
				
			||||
        @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
 | 
				
			||||
        @org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
      else
 | 
				
			||||
        project_ids = @organization.projects.map(&:id) << 0
 | 
				
			||||
        course_ids = @organization.courses.map(&:id) << 0
 | 
				
			||||
        course_types = "('Message','News','HomeworkCommon','Poll','Course')"
 | 
				
			||||
        case params[:type]
 | 
				
			||||
          when nil
 | 
				
			||||
            @org_activities  = OrgActivity.where("(container_id =? and container_type =?) " +
 | 
				
			||||
                                                     "or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+
 | 
				
			||||
                                                     "or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))",
 | 
				
			||||
                                                 @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'project_issue'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'project_message'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'org'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_homework'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'HomeworkCommon' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_news'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'News' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_message'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Message' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_poll'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Poll' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
        end
 | 
				
			||||
      end
 | 
				
			||||
      @page = params[:page]
 | 
				
			||||
      respond_to do |format|
 | 
				
			||||
        format.html
 | 
				
			||||
        format.js
 | 
				
			||||
      end
 | 
				
			||||
    else
 | 
				
			||||
      render_403
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def update
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    @organization.name = params[:organization][:name]
 | 
				
			||||
    @organization.description = params[:organization][:description]
 | 
				
			||||
    @organization.domain = params[:organization][:domain]
 | 
				
			||||
    @organization.is_public = params[:organization][:is_public] == 'on' ? 1 : 0
 | 
				
			||||
    #@organization.name = params[:organization][:name]
 | 
				
			||||
    @organization.save
 | 
				
			||||
     respond_to do |format|
 | 
				
			||||
       format.html { redirect_to setting_organization_path(@organization)}
 | 
				
			||||
     end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def check_uniq
 | 
				
			||||
    @check = false;
 | 
				
			||||
    @org_name = params[:org_name].strip
 | 
				
			||||
    @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
 | 
				
			||||
    if sameName == true
 | 
				
			||||
      @check = true
 | 
				
			||||
    end
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def find_organization
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def setting
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
 | 
				
			||||
    if User.current.admin? || User.current.admin_of_org?(@organization)
 | 
				
			||||
    else
 | 
				
			||||
      render_403
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  def clear_org_avatar_temp
 | 
				
			||||
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def set_homepage
 | 
				
			||||
    @org = Organization.find(params[:id])
 | 
				
			||||
    @org.home_id = params[:home_id]
 | 
				
			||||
    @org.save
 | 
				
			||||
    # respond_to do |format|
 | 
				
			||||
    #   format.html {redirect_to organization_path(org)}
 | 
				
			||||
    # end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def cancel_homepage
 | 
				
			||||
    @org = Organization.find(params[:id])
 | 
				
			||||
    @org.home_id = nil
 | 
				
			||||
    @org.save
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def autocomplete_search
 | 
				
			||||
    @project = Project.find(params[:project_id])
 | 
				
			||||
    #@flag = params[:flag] || false
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def members
 | 
				
			||||
    if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
 | 
				
			||||
      @members = OrgMember.where("organization_id =?", @organization.id)
 | 
				
			||||
    else
 | 
				
			||||
      render_403
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def  more_org_projects
 | 
				
			||||
    @organization = Organization.find params[:id]
 | 
				
			||||
    @page = params[:page]
 | 
				
			||||
    @org_projects = @organization.projects.reorder('created_at').uniq.page((params[:page].to_i || 1) +1).per(5)
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def more_org_courses
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    @page = params[:page]
 | 
				
			||||
    @org_courses = @organization.courses.reorder('created_at').uniq.page((params[:page].to_i || 1) + 1 ).per(5)
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_course_menu
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def search_courses
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    condition = '%%'
 | 
				
			||||
    if !params[:name].nil?
 | 
				
			||||
      condition = "%#{params[:name].strip}%".gsub(" ","")
 | 
				
			||||
    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}'"+
 | 
				
			||||
        "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)
 | 
				
			||||
    @courses = Course.find_by_sql(sql)
 | 
				
			||||
    # @added_course_ids = @organization.courses.map(&:id)
 | 
				
			||||
    # @courses = []
 | 
				
			||||
    # user_courses.each do |course|
 | 
				
			||||
    #   if !@added_course_ids.include?(course.id)
 | 
				
			||||
    #     @courses << course
 | 
				
			||||
    #   end
 | 
				
			||||
    # end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_courses
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    course_ids = params[:courseNames]
 | 
				
			||||
    course_ids.each do |id|
 | 
				
			||||
      OrgCourse.create(:organization_id => @organization.id, :course_id => id.to_i, :created_at => Time.now)
 | 
				
			||||
    end
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_project_menu
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def logout
 | 
				
			||||
    logout_user
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.html {redirect_to organization_path(params[:id])}
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def search_projects
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    condition = '%%'
 | 
				
			||||
    if !params[:name].nil?
 | 
				
			||||
      condition = "%#{params[:name].strip}%".gsub(" ","")
 | 
				
			||||
    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}'" +
 | 
				
			||||
          " 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)
 | 
				
			||||
    @projects = Course.find_by_sql(sql)
 | 
				
			||||
    # @added_course_ids = @organization.projects.map(&:id)
 | 
				
			||||
    # @projects = []
 | 
				
			||||
    # user_projects.each do |project|
 | 
				
			||||
    #   if !@added_course_ids.include?(project.id)
 | 
				
			||||
    #     @projects << project
 | 
				
			||||
    #   end
 | 
				
			||||
    # end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_projects
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    project_ids = params[:projectNames]
 | 
				
			||||
    project_ids.each do |id|
 | 
				
			||||
      OrgProject.create(:organization_id => @organization.id, :project_id => id.to_i, :created_at => Time.now)
 | 
				
			||||
    end
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
# encoding: utf-8
 | 
				
			||||
class OrganizationsController < ApplicationController
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  helper :sort
 | 
				
			||||
  include SortHelper
 | 
				
			||||
  helper :custom_fields
 | 
				
			||||
  include CustomFieldsHelper
 | 
				
			||||
  include AvatarHelper
 | 
				
			||||
  include WordsHelper
 | 
				
			||||
  include GitlabHelper
 | 
				
			||||
  include UserScoreHelper
 | 
				
			||||
 | 
				
			||||
  include PollHelper
 | 
				
			||||
  helper :user_score
 | 
				
			||||
  helper :journals
 | 
				
			||||
  helper :attachments
 | 
				
			||||
  # added by liuping 关注
 | 
				
			||||
 | 
				
			||||
  helper :watchers
 | 
				
			||||
  helper :activities
 | 
				
			||||
 | 
				
			||||
  ### added by william
 | 
				
			||||
  include ActsAsTaggableOn::TagsHelper
 | 
				
			||||
 | 
				
			||||
  #  fq
 | 
				
			||||
  helper :words
 | 
				
			||||
  helper :project_score
 | 
				
			||||
  helper :issues
 | 
				
			||||
  include UsersHelper
 | 
				
			||||
  before_filter :find_organization, :only => [:show, :members]
 | 
				
			||||
  layout 'base_org'
 | 
				
			||||
  def index
 | 
				
			||||
 | 
				
			||||
  end
 | 
				
			||||
  def new
 | 
				
			||||
    @organization = Organization.new
 | 
				
			||||
    render :layout => 'new_base'
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def edit
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def destroy
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    @organization.destroy
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.html{ redirect_to admin_organization_path }
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def create
 | 
				
			||||
    @organization = Organization.new
 | 
				
			||||
    @organization.name = params[:organization][:name]
 | 
				
			||||
    @organization.description = params[:organization][:description]
 | 
				
			||||
    @organization.is_public = params[:organization][:is_public]
 | 
				
			||||
    @organization.creator_id = User.current.id
 | 
				
			||||
    member = OrgMember.new(:user_id => User.current.id)
 | 
				
			||||
 | 
				
			||||
    @organization.org_members << member
 | 
				
			||||
    if @organization.save
 | 
				
			||||
      OrgMemberRole.create(:org_member_id => member.id, :role_id => 11)
 | 
				
			||||
      redirect_to organization_path(@organization)
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def show
 | 
				
			||||
    if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
 | 
				
			||||
      @organization = Organization.find(params[:id])
 | 
				
			||||
      if params[:org_subfield_id]
 | 
				
			||||
        @org_subfield = OrgSubfield.find(params[:org_subfield_id])
 | 
				
			||||
        @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
 | 
				
			||||
        @org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
      else
 | 
				
			||||
        project_ids = @organization.projects.map(&:id) << 0
 | 
				
			||||
        course_ids = @organization.courses.map(&:id) << 0
 | 
				
			||||
        course_types = "('Message','News','HomeworkCommon','Poll','Course')"
 | 
				
			||||
        case params[:type]
 | 
				
			||||
          when nil
 | 
				
			||||
            @org_activities  = OrgActivity.where("(container_id =? and container_type =?) " +
 | 
				
			||||
                                                     "or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+
 | 
				
			||||
                                                     "or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))",
 | 
				
			||||
                                                 @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'project_issue'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'project_message'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'org'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_homework'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'HomeworkCommon' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_news'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'News' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_message'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Message' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
          when 'course_poll'
 | 
				
			||||
            @org_activities = OrgActivity.where("container_type = 'Course' and org_act_type = 'Poll' and container_id in (#{course_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10)
 | 
				
			||||
        end
 | 
				
			||||
      end
 | 
				
			||||
      @page = params[:page]
 | 
				
			||||
      respond_to do |format|
 | 
				
			||||
        format.html
 | 
				
			||||
        format.js
 | 
				
			||||
      end
 | 
				
			||||
    else
 | 
				
			||||
      render_403
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def update
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    @organization.name = params[:organization][:name]
 | 
				
			||||
    @organization.description = params[:organization][:description]
 | 
				
			||||
    @organization.domain = params[:organization][:domain]
 | 
				
			||||
    @organization.is_public = params[:organization][:is_public] == 'on' ? 1 : 0
 | 
				
			||||
    #@organization.name = params[:organization][:name]
 | 
				
			||||
    @organization.save
 | 
				
			||||
     respond_to do |format|
 | 
				
			||||
       format.html { redirect_to setting_organization_path(@organization)}
 | 
				
			||||
     end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def check_uniq
 | 
				
			||||
    @check = false;
 | 
				
			||||
    @org_name = params[:org_name].strip
 | 
				
			||||
    @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
 | 
				
			||||
    if sameName == true
 | 
				
			||||
      @check = true
 | 
				
			||||
    end
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def find_organization
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def setting
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
 | 
				
			||||
    if User.current.admin? || User.current.admin_of_org?(@organization)
 | 
				
			||||
    else
 | 
				
			||||
      render_403
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  def clear_org_avatar_temp
 | 
				
			||||
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def set_homepage
 | 
				
			||||
    @org = Organization.find(params[:id])
 | 
				
			||||
    @org.home_id = params[:home_id]
 | 
				
			||||
    @org.save
 | 
				
			||||
    # respond_to do |format|
 | 
				
			||||
    #   format.html {redirect_to organization_path(org)}
 | 
				
			||||
    # end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def cancel_homepage
 | 
				
			||||
    @org = Organization.find(params[:id])
 | 
				
			||||
    @org.home_id = nil
 | 
				
			||||
    @org.save
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def autocomplete_search
 | 
				
			||||
    @project = Project.find(params[:project_id])
 | 
				
			||||
    #@flag = params[:flag] || false
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def members
 | 
				
			||||
    if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
 | 
				
			||||
      @members = OrgMember.where("organization_id =?", @organization.id)
 | 
				
			||||
    else
 | 
				
			||||
      render_403
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def  more_org_projects
 | 
				
			||||
    @organization = Organization.find params[:id]
 | 
				
			||||
    @page = params[:page]
 | 
				
			||||
    @org_projects = @organization.projects.reorder('created_at').uniq.page((params[:page].to_i || 1) +1).per(5)
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def more_org_courses
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    @page = params[:page]
 | 
				
			||||
    @org_courses = @organization.courses.reorder('created_at').uniq.page((params[:page].to_i || 1) + 1 ).per(5)
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_course_menu
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def search_courses
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    condition = '%%'
 | 
				
			||||
    if !params[:name].nil?
 | 
				
			||||
      condition = "%#{params[:name].strip}%".gsub(" ","")
 | 
				
			||||
    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}'"+
 | 
				
			||||
        "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)
 | 
				
			||||
    @courses = Course.find_by_sql(sql)
 | 
				
			||||
    # @added_course_ids = @organization.courses.map(&:id)
 | 
				
			||||
    # @courses = []
 | 
				
			||||
    # user_courses.each do |course|
 | 
				
			||||
    #   if !@added_course_ids.include?(course.id)
 | 
				
			||||
    #     @courses << course
 | 
				
			||||
    #   end
 | 
				
			||||
    # end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_courses
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    course_ids = params[:courseNames]
 | 
				
			||||
    course_ids.each do |id|
 | 
				
			||||
      OrgCourse.create(:organization_id => @organization.id, :course_id => id.to_i, :created_at => Time.now)
 | 
				
			||||
    end
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_project_menu
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def logout
 | 
				
			||||
    logout_user
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.html {redirect_to organization_path(params[:id])}
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def search_projects
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    condition = '%%'
 | 
				
			||||
    if !params[:name].nil?
 | 
				
			||||
      condition = "%#{params[:name].strip}%".gsub(" ","")
 | 
				
			||||
    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}'" +
 | 
				
			||||
          " 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)
 | 
				
			||||
    @projects = Course.find_by_sql(sql)
 | 
				
			||||
    # @added_course_ids = @organization.projects.map(&:id)
 | 
				
			||||
    # @projects = []
 | 
				
			||||
    # user_projects.each do |project|
 | 
				
			||||
    #   if !@added_course_ids.include?(project.id)
 | 
				
			||||
    #     @projects << project
 | 
				
			||||
    #   end
 | 
				
			||||
    # end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def join_projects
 | 
				
			||||
    @organization = Organization.find(params[:id])
 | 
				
			||||
    project_ids = params[:projectNames]
 | 
				
			||||
    project_ids.each do |id|
 | 
				
			||||
      OrgProject.create(:organization_id => @organization.id, :project_id => id.to_i, :created_at => Time.now)
 | 
				
			||||
    end
 | 
				
			||||
    respond_to do |format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def hide_org_subfield
 | 
				
			||||
    @org_subfield = OrgSubfield.find(params[:org_subfield_id])
 | 
				
			||||
    @org_subfield.update_attribute(:hide, 1)
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def show_org_subfield
 | 
				
			||||
    @org_subfield = OrgSubfield.find(params[:org_subfield_id])
 | 
				
			||||
    @org_subfield.update_attribute(:hide, 0)
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def org_resources_subfield
 | 
				
			||||
    @org = Organization.find(params[:id])
 | 
				
			||||
    @subfield = @org.org_subfields.where('field_type = "Resource" ')
 | 
				
			||||
    respond_to do | format|
 | 
				
			||||
      format.js
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
end
 | 
				
			||||
 | 
				
			||||
@ -1,2 +1,3 @@
 | 
				
			||||
module OrgSubfieldsHelper
 | 
				
			||||
  include OrganizationsHelper
 | 
				
			||||
end
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,3 @@
 | 
				
			||||
class AttachmentHistory < ActiveRecord::Base
 | 
				
			||||
  belongs_to :attachment,foreign_key: 'attachment_id'
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,54 @@
 | 
				
			||||
<!--<div class="resourceUploadPopup">-->
 | 
				
			||||
<span class="uploadDialogText">更新资源版本</span>
 | 
				
			||||
<!--<div class="resourcePopupClose"> <a href="javascript:void(0);" class="resourceClose" onclick="closeModal();"></a></div>-->
 | 
				
			||||
<div class="uploadBoxContainer mt0">
 | 
				
			||||
  <div>
 | 
				
			||||
    <div>当前版本
 | 
				
			||||
            <span class="attachment" >
 | 
				
			||||
              <input readonly="readonly" name="attachments[1][filename]" value="<%=@attachment.filename%>" class="upload_filename readonly" type="text">
 | 
				
			||||
            </span>
 | 
				
			||||
    </div>
 | 
				
			||||
    <% unless @attachment_histories.empty? %>
 | 
				
			||||
 | 
				
			||||
    <div >历史版本</div>
 | 
				
			||||
    <div style="max-height: 95px;overflow-y:auto; background-color: #e3e3e3;" class="mb10 p10">
 | 
				
			||||
    <% @attachment_histories.each do |history| %>
 | 
				
			||||
        <span class="attachment">
 | 
				
			||||
          <input readonly="readonly" name="attachments_versions_<%= history.id%>" value="<%=history.filename%>" class="upload_filename readonly" type="text">
 | 
				
			||||
          <span>版本号:<%= history.version %></span>
 | 
				
			||||
        </span>
 | 
				
			||||
 | 
				
			||||
    <% end %>
 | 
				
			||||
    </div>
 | 
				
			||||
    <% end %>
 | 
				
			||||
 | 
				
			||||
  </div>
 | 
				
			||||
  <%= form_tag(upload_attachment_version_path, :multipart => true,:remote => !ie8?,:name=>"upload_form",:id=>'upload_form') do %>
 | 
				
			||||
      <%= hidden_field_tag :old_attachment_id,@attachment.id %>
 | 
				
			||||
      <div>
 | 
				
			||||
        <span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
 | 
				
			||||
        </span>
 | 
				
			||||
      </div>
 | 
				
			||||
      <div class="uploadBox">
 | 
				
			||||
        <input type="hidden" name="attachment_type" value="1">
 | 
				
			||||
        <%= render :partial => 'attachments/upload_attachment_new_version' %>
 | 
				
			||||
        <div class="cl"></div>
 | 
				
			||||
        <!--<a href="javascript:void(0);" class=" fr grey_btn mr40" onclick="closeModal();"><%#= l(:button_cancel)%></a>-->
 | 
				
			||||
        <!--<a id="submit_resource" href="javascript:void(0);" class="blue_btn fr" onclick="submit_resource();"><%#= l(:button_confirm)%></a>-->
 | 
				
			||||
      </div>
 | 
				
			||||
      <div class="uploadResourceIntr">
 | 
				
			||||
        <div class="uploadResourceName fl"><span id="upload_file_count">(未选择文件)</span></div>
 | 
				
			||||
        <div class="uploadResourceIntr2 fl">您可以上传小于<span class="c_red">50MB</span>的文件</div>
 | 
				
			||||
      </div>
 | 
				
			||||
      </div>
 | 
				
			||||
      <div class="cl"></div>
 | 
				
			||||
      <div style="margin-top: 10px" >
 | 
				
			||||
        <div class="courseSendSubmit">
 | 
				
			||||
          <!--<a href="javascript:void(0);" class="sendSourceText" onclick="">确定</a>-->
 | 
				
			||||
          <%= submit_tag '确定',:onclick=>'upload_attachment_version(event);',:onfocus=>'this.blur()',:id=>'upload_files_submit_btn',:class=>'sendSourceText' %>
 | 
				
			||||
        </div>
 | 
				
			||||
        <div class="courseSendCancel"><a href="javascript:void(0);" id="upload_files_cancle_btn" class="sendSourceText" onclick="hideModal();">取消</a></div>
 | 
				
			||||
      </div>
 | 
				
			||||
  <% end %>
 | 
				
			||||
  <div class="cl"></div>
 | 
				
			||||
  <!--</div>-->
 | 
				
			||||
@ -0,0 +1,23 @@
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
<!--<button name="button" class="sub_btn" onclick="_file.click()" onmouseover="this.focus()" style="<%#= ie8? ? 'display:none' : ''%>" type="button" ><%#= l(:label_browse) %></button>-->
 | 
				
			||||
<a href="javascript:void(0);" class="uploadIcon f14" name="button"   onclick="_file.click()" onmouseover="" style="<%= ie8? ? 'display:none' : ''%>">
 | 
				
			||||
  <span class="chooseFile">选择文件</span></a>
 | 
				
			||||
<%= file_field_tag 'attachments[dummy][file]',
 | 
				
			||||
                   :id => '_file',
 | 
				
			||||
                   :class => ie8? ? '':'file_selector',
 | 
				
			||||
                   :multiple => true,
 | 
				
			||||
                   :onchange => 'addInputFiles(this,"'+'upload_files_submit_btn'+'");',
 | 
				
			||||
                   :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',:old_attachment_id=>@attachment.id),
 | 
				
			||||
                           :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)
 | 
				
			||||
                   } %>
 | 
				
			||||
@ -0,0 +1,7 @@
 | 
				
			||||
$("#ajax-modal").html('<%= escape_javascript( render :partial => 'attachments/show_attachment_history' )%>');
 | 
				
			||||
showModal('ajax-modal', '452px');
 | 
				
			||||
$('#ajax-modal').siblings().remove();
 | 
				
			||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal();' style='margin-left: 435px;' class='resourceClose'></a>");
 | 
				
			||||
$('#ajax-modal').parent().css("top","40%").css("left","46%");
 | 
				
			||||
$('#ajax-modal').parent().addClass("resourceUploadPopup");
 | 
				
			||||
$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px");
 | 
				
			||||
@ -1,2 +1,12 @@
 | 
				
			||||
<% if @attachment.container_type == 'Course' %>
 | 
				
			||||
$("#is_public_<%= @attachment.id %>").html("<%= escape_javascript(link_to (@attachment.is_public? ? "设为私有":"设为公开"), update_file_dense_attachments_path(:attachmentid=>@attachment.id,:newtype=>(@attachment.is_public? ? 0:1)),
 | 
				
			||||
                                                              :remote=>true,:class=>"postOptionLink",:method => :post) %>");
 | 
				
			||||
<%else%>
 | 
				
			||||
$("#is_public_<%= @attachment.id %>").html("<%= escape_javascript(link_to (@attachment.is_public? ? "公开":"私有"), update_file_dense_attachments_path(:attachmentid=>@attachment.id,:newtype=>(@attachment.is_public? ? 0:1)),
 | 
				
			||||
                                                              :remote=>true,:class=>"f_l re_open",:method => :post) %>");
 | 
				
			||||
<%end %>
 | 
				
			||||
<%if @attachment.is_public? %>
 | 
				
			||||
    $("#image_private_<%= @attachment.id%>").html('')
 | 
				
			||||
<%else%>
 | 
				
			||||
$("#image_private_<%= @attachment.id%>").html('<span class="img_private ml5">私有</span>')
 | 
				
			||||
<%end%>
 | 
				
			||||
@ -0,0 +1,7 @@
 | 
				
			||||
<% if @flag %>
 | 
				
			||||
    hideModal();
 | 
				
			||||
    alert('更新成功')
 | 
				
			||||
    $(".re_search").submit();
 | 
				
			||||
<%else%>
 | 
				
			||||
    $("#upload_file_count").html('(更新失败)')
 | 
				
			||||
<%end %>
 | 
				
			||||
@ -0,0 +1,16 @@
 | 
				
			||||
<script type="text/javascript">
 | 
				
			||||
    $(function(){
 | 
				
			||||
        $("#RSide").removeAttr("id");
 | 
				
			||||
        $("#Container").css("width","1000px");
 | 
				
			||||
        $("#message_subject").focus();
 | 
				
			||||
    });
 | 
				
			||||
</script>
 | 
				
			||||
<div class="homepageRight mt0 ml10">
 | 
				
			||||
  <div class="homepageRightBanner">
 | 
				
			||||
    <div class="NewsBannerName">
 | 
				
			||||
      编辑帖子
 | 
				
			||||
    </div>
 | 
				
			||||
  </div>
 | 
				
			||||
  <%= render :partial => 'boards/org_subfield_new',
 | 
				
			||||
             :locals => {:f => f, :edit_mode => edit_mode, :topic => topic, :org_subfield => org_subfield} %>
 | 
				
			||||
</div>
 | 
				
			||||
@ -0,0 +1,74 @@
 | 
				
			||||
<%= content_for(:header_tags) do %>
 | 
				
			||||
    <%= import_ke(enable_at: true, prettify: false) %>
 | 
				
			||||
<% end %>
 | 
				
			||||
 | 
				
			||||
<%= error_messages_for 'message' %>
 | 
				
			||||
<div class="resources mt10">
 | 
				
			||||
  <div id="new_course_topic">
 | 
				
			||||
    <div class="homepagePostBrief c_grey">
 | 
				
			||||
      <div>
 | 
				
			||||
        <input  type="text" name="message[subject]" id="message_subject" class="InputBox  w713" maxlength="255" onfocus="$('#topic_editor').show()" onkeyup="regexTopicSubject();" placeholder="发布帖子,请先输入帖子标题" value="<%= topic.subject%>" >
 | 
				
			||||
        <p id="subjectmsg"></p>
 | 
				
			||||
      </div>
 | 
				
			||||
      <div id="topic_editor" style="display: none;">
 | 
				
			||||
        <%if User.current.member_of_org?(org_subfield.organization)%>
 | 
				
			||||
            <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="submit_topic();">确定</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="submit_topic();">确定</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>
 | 
				
			||||
    <%#= render :partial => 'course_new_topic', :locals => {:f => f,  :topic => @message} %>
 | 
				
			||||
    <!--<li>
 | 
				
			||||
      <div class="ml55 fl" nhname="toolbar_container"></div>
 | 
				
			||||
      <a href="javascript:void(0);"  nhname="cancelbtn" class="grey_btn fr ml10"><%#= l(:button_cancel) %></a>
 | 
				
			||||
      <a href="javascript:void(0);" nhname="submitbtn" class="blue_btn fr " style="margin-left: 55px">
 | 
				
			||||
        <%#= l(:button_submit)%>
 | 
				
			||||
      </a>
 | 
				
			||||
      <div class="cl"></div>
 | 
				
			||||
    </li>-->
 | 
				
			||||
  </div>
 | 
				
			||||
</div>
 | 
				
			||||
@ -1,79 +1,90 @@
 | 
				
			||||
<% delete_allowed = User.current.allowed_to?(:manage_files, course) %>
 | 
				
			||||
<div class="re_con_top">
 | 
				
			||||
  <p class="f_l  c_blue f_b f_14">共有 <%= all_attachments.count%> 个资源</p>
 | 
				
			||||
  <p class="f_r" style="color: #808080">
 | 
				
			||||
    <% if order == "asc" %>
 | 
				
			||||
        按 <%= link_to "时间",params.merge(:sort=>"created_on:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"created_on"} %> / 
 | 
				
			||||
        <%= link_to "下载次数",params.merge(:sort=>"downloads:desc"),:class => "f_b c_grey",:remote => @is_remote  %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"downloads"} %> / 
 | 
				
			||||
        <%= link_to "引用次数",params.merge(:sort=>"quotes:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"quotes"} %> 排序
 | 
				
			||||
    <% else %>
 | 
				
			||||
        按 <%= link_to "时间",params.merge(:sort=>"created_on:asc"),:class => "f_b c_grey" ,:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"created_on"} %> / 
 | 
				
			||||
        <%= link_to "下载次数",params.merge(:sort=>"downloads:asc"),:class => "f_b c_grey",:remote => @is_remote  %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"downloads"} %>  / 
 | 
				
			||||
        <%= link_to "引用次数",params.merge(:sort=>"quotes:asc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"quotes"} %> 排序
 | 
				
			||||
    <% end %>
 | 
				
			||||
  </p>
 | 
				
			||||
</div>
 | 
				
			||||
<div class="cl"></div>
 | 
				
			||||
 | 
				
			||||
<div class="files_tag" id="files_tag">
 | 
				
			||||
  <%= render :partial => "files/tag_yun", :locals => {:tag_list => @tag_list,:course => course,:tag_name => @tag_name}%>
 | 
				
			||||
</div>
 | 
				
			||||
<div class="cl"></div>
 | 
				
			||||
 | 
				
			||||
<div class="for_img_thumbnails">
 | 
				
			||||
<% delete_allowed = User.current.allowed_to?(:manage_files, course) %>
 | 
				
			||||
  <% curse_attachments.each do |file| %>
 | 
				
			||||
      <% if file.is_public? || User.current.member_of_course?(course) || User.current.admin? %>
 | 
				
			||||
          <div class="re_con_box" id="container_files_<%= file.id %>">
 | 
				
			||||
            <div class="">
 | 
				
			||||
              <%= link_to truncate(file.filename,length: 35, omission: '...'),
 | 
				
			||||
              download_named_attachment_path(file.id, file.filename),
 | 
				
			||||
              :title => file.filename+"\n"+file.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;",:class => "c_dblue f_14 f_b f_l"  %>
 | 
				
			||||
              <% if User.current.logged? %>
 | 
				
			||||
                  <% if (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %>
 | 
				
			||||
                      <%= link_to("选入我的其他课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select c_lorange",:remote => true) if has_course?(User.current,file) %>
 | 
				
			||||
         <div class="resources mt10"><!--资源库内容开始--->
 | 
				
			||||
              <div class="homepagePostBrief">
 | 
				
			||||
                <div class="homepagePostPortrait">
 | 
				
			||||
                  <%= link_to image_tag(url_to_avatar(file.author), :width => 50, :height => 50), user_path(file.author) %>
 | 
				
			||||
                </div>
 | 
				
			||||
                <div class="homepagePostDes">
 | 
				
			||||
                  <div class="homepagePostTitle break_word mt-4">
 | 
				
			||||
                    <%= link_to truncate(file.filename,length: 35, omission: '...'),
 | 
				
			||||
                                download_named_attachment_path(file.id, file.filename),
 | 
				
			||||
                                :title => file.filename+"\n"+file.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;",:class => "linkBlue f_14 f_b"  %>
 | 
				
			||||
                    <%= file_preview_eye(file, class: 'preview') %>
 | 
				
			||||
                    <span id="image_private_<%= file.id%>">
 | 
				
			||||
                        <% if file.is_public? == false%>
 | 
				
			||||
                            <span class="img_private ml5">私有</span>
 | 
				
			||||
                        <%end %>
 | 
				
			||||
                    </span>
 | 
				
			||||
                  </div>
 | 
				
			||||
                  <div class="mt5">
 | 
				
			||||
                    <span class="fontGrey2 mr15 fl">上传时间:<%= format_date(file.created_on)%></span>
 | 
				
			||||
                    <% if file.tag_list.length > 0%>
 | 
				
			||||
                        <span class="fontGrey2 fl mr15">上传类型:<%= file.tag_list[0] %></span>
 | 
				
			||||
                    <% end %>
 | 
				
			||||
                    <p class="f_l mb5 fontGrey2">文件大小:<%= number_to_human_size(file.filesize) %></p>
 | 
				
			||||
                    <p class="fl ml15 fontGrey2">下载<%= file.downloads%>  |  引用<%= file.quotes.nil? ? 0:file.quotes  %> </p>
 | 
				
			||||
                  </div>
 | 
				
			||||
                  <div class="cl"></div>
 | 
				
			||||
                  <div class="tag_h">
 | 
				
			||||
                    <!-- container_type = 1 代表是课程里的资源 -->
 | 
				
			||||
                    <%= render :partial => 'tags/tag_new', :locals => {:obj => file, :object_flag => "6",:tag_name => @tag_name} %>
 | 
				
			||||
                    <%= render :partial => 'tags/tag_add', :locals => {:obj => file, :object_flag => "6",:tag_name => @tag_name} %>
 | 
				
			||||
                  </div>
 | 
				
			||||
                  <div class="homepagePostSetting">
 | 
				
			||||
 | 
				
			||||
                            <ul>
 | 
				
			||||
                              <li class="homepagePostSettingIcon">
 | 
				
			||||
                                <% if User.current.logged? %>
 | 
				
			||||
 | 
				
			||||
                      <% if delete_allowed  && file.container_id == @course.id && file.container_type == "Course"  %>
 | 
				
			||||
                        <% if @course.is_public? %>
 | 
				
			||||
                          <span id="is_public_<%= file.id %>">
 | 
				
			||||
                            <%= link_to (file.is_public? ? "公开":"私有"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"f_l re_open c_blue",:method => :post  %>
 | 
				
			||||
                          </span>
 | 
				
			||||
                        <% else %>
 | 
				
			||||
                          <span id="is_public_<%= file.id %>">
 | 
				
			||||
                            <span class="f_l re_open c_blue">私有</span>
 | 
				
			||||
                          </span>
 | 
				
			||||
                        <% end %>
 | 
				
			||||
                                    <% if (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %>
 | 
				
			||||
                                        <% if (delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course"  %>
 | 
				
			||||
                                            <ul class="homepagePostSettiongText">
 | 
				
			||||
 | 
				
			||||
                      <% else %>
 | 
				
			||||
                          <!--  <#%= link_to (file.is_public? ? "公开":"私有"),"javascript:void(0)",:class=>"f_l re_open" %> -->
 | 
				
			||||
                      <% end %>
 | 
				
			||||
                  <% else %>
 | 
				
			||||
                      <%= link_to("选入我的课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select c_lorange",:remote => true) if has_course?(User.current,file) %>
 | 
				
			||||
                  <% end %>
 | 
				
			||||
                  <%= file_preview_tag(file, class: 'f_l re_open') %>
 | 
				
			||||
              <% else %>
 | 
				
			||||
              <% end %>
 | 
				
			||||
            </div>
 | 
				
			||||
            <div class="cl"></div>
 | 
				
			||||
            <div class="mt5">
 | 
				
			||||
              <p class="f_l mb5 c_grey02">文件大小:<%= number_to_human_size(file.filesize) %></p>
 | 
				
			||||
              <%= link_to( l(:button_delete), attachment_path(file),
 | 
				
			||||
                           :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if (delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course"%>
 | 
				
			||||
              <p class="f_r c_grey02" ><%= time_tag(file.created_on).html_safe %><%= l(:label_bids_published_ago) %>  |  下载<%= file.downloads %>  |  引用<%= file.quotes.nil? ? 0:file.quotes  %> </p>
 | 
				
			||||
            </div>
 | 
				
			||||
            <div class="cl"></div>
 | 
				
			||||
            <div class="tag_h">
 | 
				
			||||
              <!-- container_type = 1 代表是课程里的资源 -->
 | 
				
			||||
              <%= render :partial => 'tags/tag_new', :locals => {:obj => file, :object_flag => "6",:tag_name => @tag_name} %>
 | 
				
			||||
              <%= render :partial => 'tags/tag_add', :locals => {:obj => file, :object_flag => "6",:tag_name => @tag_name} %>
 | 
				
			||||
            </div>
 | 
				
			||||
            <div class="cl"></div>
 | 
				
			||||
          </div><!---re_con_box end-->
 | 
				
			||||
                                              <li><%= link_to("发       送".html_safe, 'javascript:void(0)',:class => "postOptionLink",:onclick=>"show_send('#{file.id}')")  %></li>
 | 
				
			||||
                                              <li><%= link_to '更新版本',attachments_versions_path(file),:class => "postOptionLink",:remote=>true %></li>
 | 
				
			||||
                                              <% if @course.is_public? %>
 | 
				
			||||
                                                  <li>
 | 
				
			||||
                                                    <span id="is_public_<%= file.id %>">
 | 
				
			||||
                                                        <%= link_to (file.is_public? ? "设为私有":"设为公开"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"postOptionLink",:method => :post  %>
 | 
				
			||||
                                                    </span>
 | 
				
			||||
                                                  </li>
 | 
				
			||||
                                              <%end%>
 | 
				
			||||
                                                  <li>
 | 
				
			||||
                                                    <%= link_to( '删除资源', attachment_path(file),
 | 
				
			||||
                                                                 :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "postOptionLink") if (delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course" && file.destroyable %>
 | 
				
			||||
                                                  </li>
 | 
				
			||||
                                            </ul>
 | 
				
			||||
 | 
				
			||||
                                        <% end %>
 | 
				
			||||
                                    <%else%>
 | 
				
			||||
                                        <ul class="resourceSendO">
 | 
				
			||||
                                          <li><%= link_to("发  送".html_safe, 'javascript:void(0)',:class => "postOptionLink2",:onclick=>"show_send('#{file.id}')")  %></li>
 | 
				
			||||
                                        </ul>
 | 
				
			||||
                                    <% end %>
 | 
				
			||||
                                <% end %>
 | 
				
			||||
                              </li>
 | 
				
			||||
                            </ul>
 | 
				
			||||
 | 
				
			||||
                  </div>
 | 
				
			||||
                  <div class="cl"></div>
 | 
				
			||||
                </div>
 | 
				
			||||
                <div class="cl"></div>
 | 
				
			||||
              </div>
 | 
				
			||||
         </div>
 | 
				
			||||
      <% else %>
 | 
				
			||||
          <div class="re_con_box"><span class='fr mr10 pr_join_span '><%= file.filename %>是私有资源</span></div>
 | 
				
			||||
      <% end %>
 | 
				
			||||
  <% end %>
 | 
				
			||||
</div>
 | 
				
			||||
<ul class="wlist">
 | 
				
			||||
  <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => @is_remote, :flag => true%>
 | 
				
			||||
</ul>
 | 
				
			||||
<div class="cl"></div>
 | 
				
			||||
 | 
				
			||||
<% if curse_attachments.count == 10%>
 | 
				
			||||
    <% if params[:action] == 'search' %>
 | 
				
			||||
        <%=link_to "点击展开更多",  search_course_files_path({:course_id => course.id,:page => @obj_pages.nil? ? @feedback_pages.page + 1 : @obj_pages.page + 1}.merge(params)),:id => "show_more_attachments",:remote => "true",:class => "loadMore mt10 f_grey" %>
 | 
				
			||||
    <%else%>
 | 
				
			||||
    <!-- 全站搜索的时候 返回的页码对象是obj_pages,而站内搜索返回的页码对象是feedback_pages -->
 | 
				
			||||
        <%=link_to "点击展开更多",  course_files_path({:course_id => course.id,:page => @obj_pages.nil? ? @feedback_pages.page + 1 : @obj_pages.page + 1}.merge(params)),:id => "show_more_attachments",:remote => "true",:class => "loadMore mt10 f_grey" %>
 | 
				
			||||
    <%end%>
 | 
				
			||||
<% end%>
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,4 @@
 | 
				
			||||
 | 
				
			||||
<% if @course %>
 | 
				
			||||
$("#show_more_attachments").replaceWith("<%= escape_javascript( render :partial => 'files/course_list',:locals => {course: @course,all_attachments: @all_attachments,sort:@sort,order:@order,curse_attachments:@obj_attachments}   )%>");
 | 
				
			||||
<%end %>
 | 
				
			||||
@ -1 +1,6 @@
 | 
				
			||||
$("#course_list").html("<%= escape_javascript(render :partial => 'course_list',:locals => {course: @course,all_attachments: @result,sort:@sort,order:@order,curse_attachments:@searched_attach})%>");
 | 
				
			||||
<% if (@obj_pages &&( @obj_pages.page > 1)) || (@feedback_pages && (@feedback_pages.page > 1)) %> //搜索的时候有时候是需要加载下一页,有时候是直接替换当前 #course_list。这个根据 page来判定
 | 
				
			||||
    $("#show_more_attachments").replaceWith("<%= escape_javascript( render :partial => 'files/course_list',:locals => {course: @course,all_attachments:  @result,sort:@sort,order:@order,curse_attachments:@searched_attach}   )%>");
 | 
				
			||||
<% else %>
 | 
				
			||||
    $("#course_list").html("<%= escape_javascript(render :partial => 'files/course_list',:locals => {course: @course,all_attachments: @result,sort:@sort,order:@order,curse_attachments:@searched_attach})%>");
 | 
				
			||||
    $("#attachment_count").html("<%= @result.count%>")
 | 
				
			||||
<% end %>
 | 
				
			||||
@ -1 +1,2 @@
 | 
				
			||||
$("#course_list").html("<%= escape_javascript(render :partial => 'course_list',:locals => {course: @course,all_attachments: @result,sort:@sort,order:@order,curse_attachments:@searched_attach})%>");
 | 
				
			||||
$("#course_list").html("<%= escape_javascript(render :partial => 'course_list',:locals => {course: @course,all_attachments: @result,sort:@sort,order:@order,curse_attachments:@searched_attach})%>");
 | 
				
			||||
$("#attachment_count").html("<%= @result.count%>")
 | 
				
			||||
@ -1,6 +1,8 @@
 | 
				
			||||
<%if @project%>
 | 
				
			||||
    $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>");
 | 
				
			||||
    $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:is_course=>@is_course,:is_board=>@is_board}) %>");
 | 
				
			||||
<%elsif @course%>
 | 
				
			||||
    $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>");
 | 
				
			||||
    $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:is_course=>@is_course,:is_board=>@is_board}) %>");
 | 
				
			||||
<% elsif @org_subfield %>
 | 
				
			||||
    $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'organizations/org_subfield_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>");
 | 
				
			||||
<%end%>
 | 
				
			||||
init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%", "UserActivity");
 | 
				
			||||
@ -1,5 +1,7 @@
 | 
				
			||||
$("#org_subfield_list").html("");
 | 
				
			||||
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',:locals => {:subfields => @organization.org_subfields }) %>");
 | 
				
			||||
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',
 | 
				
			||||
    :locals => {:default_fields => @organization.org_subfields.where("field_type='default'"),
 | 
				
			||||
    :subfields => @organization.org_subfields.where("field_type != 'default'") }) %>");
 | 
				
			||||
$("#sub_field_left_lists").html("");
 | 
				
			||||
$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
 | 
				
			||||
$("#subfield_name").val("");
 | 
				
			||||
@ -1,4 +1,6 @@
 | 
				
			||||
$("#org_subfield_list").html("");
 | 
				
			||||
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',:locals => {:subfields => @organization.org_subfields }) %>");
 | 
				
			||||
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',
 | 
				
			||||
    :locals => {:default_fields => @organization.org_subfields.where("field_type='default'"),
 | 
				
			||||
    :subfields => @organization.org_subfields.where("field_type != 'default'") }) %>");
 | 
				
			||||
$("#sub_field_left_lists").html("");
 | 
				
			||||
$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
 | 
				
			||||
@ -0,0 +1,118 @@
 | 
				
			||||
<div class="resources mt10" id="user_activity_<%= user_activity_id%>">
 | 
				
			||||
  <div class="homepagePostBrief">
 | 
				
			||||
    <div class="homepagePostPortrait">
 | 
				
			||||
      <%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %>
 | 
				
			||||
    </div>
 | 
				
			||||
    <div class="homepagePostDes">
 | 
				
			||||
      <div class="homepagePostTo break_word mt-4">
 | 
				
			||||
        <% if activity.try(:author).try(:realname) == ' ' %>
 | 
				
			||||
            <%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
 | 
				
			||||
        <% else %>
 | 
				
			||||
            <%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %>
 | 
				
			||||
        <% end %>
 | 
				
			||||
        TO
 | 
				
			||||
        <%= link_to activity.board.org_subfield.name.to_s+" | 帖子栏目讨论区",org_subfield_boards_path(activity.board.org_subfield), :class => "newsBlue ml15 mr5"%>
 | 
				
			||||
        <!--<a href="javascript:void(0);" class="newsBlue ml15 mr5"><%= activity.board.org_subfield.name %>(项目讨论区)</a>-->
 | 
				
			||||
      </div>
 | 
				
			||||
      <div class="homepagePostTitle break_word">
 | 
				
			||||
        <% if activity.parent_id.nil? %>
 | 
				
			||||
            <%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey"
 | 
				
			||||
            %>
 | 
				
			||||
        <% else %>
 | 
				
			||||
            <%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey"
 | 
				
			||||
            %>
 | 
				
			||||
        <% end %>
 | 
				
			||||
      </div>
 | 
				
			||||
      <div class="homepagePostDate">
 | 
				
			||||
        时间:<%= format_time(activity.created_on) %>
 | 
				
			||||
      </div>
 | 
				
			||||
      <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%>">
 | 
				
			||||
          <% if activity.parent_id.nil? %>
 | 
				
			||||
              <%= activity.content.to_s.html_safe%>
 | 
				
			||||
          <% else %>
 | 
				
			||||
              <%= activity.parent.content.to_s.html_safe%>
 | 
				
			||||
          <% end %>
 | 
				
			||||
        </div>
 | 
				
			||||
      </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_hide_<%= user_activity_id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[收起]</a></div>
 | 
				
			||||
      <div class="cl"></div>
 | 
				
			||||
    </div>
 | 
				
			||||
    <div class="cl"></div>
 | 
				
			||||
  </div>
 | 
				
			||||
  <% count = 0 %>
 | 
				
			||||
  <% if activity.parent %>
 | 
				
			||||
      <% count=activity.parent.children.count%>
 | 
				
			||||
  <% else %>
 | 
				
			||||
      <% count=activity.children.count%>
 | 
				
			||||
  <% end %>
 | 
				
			||||
  <div class="homepagePostReply">
 | 
				
			||||
    <div class="topBorder" style="display: <%= count>0 ? 'none': '' %>"></div>
 | 
				
			||||
    <div class="homepagePostReplyBanner" style="display: <%= count>0 ? '': 'none' %>">
 | 
				
			||||
      <div class="homepagePostReplyBannerCount" onclick="expand_reply_input('#reply_input_<%= user_activity_id %>');">回复(
 | 
				
			||||
        <%=count %>
 | 
				
			||||
        )</div>
 | 
				
			||||
      <div class="homepagePostReplyBannerTime"><%#=format_date(activity.updated_on)%></div>
 | 
				
			||||
      <%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>
 | 
				
			||||
      <% end %>
 | 
				
			||||
    </div>
 | 
				
			||||
 | 
				
			||||
    <% activity= activity.parent_id.nil? ? activity : activity.parent %>
 | 
				
			||||
    <% replies_all_i = 0 %>
 | 
				
			||||
    <% if count > 0 %>
 | 
				
			||||
        <div class="" id="reply_div_<%= user_activity_id %>">
 | 
				
			||||
          <ul>
 | 
				
			||||
            <% activity.children.reorder("created_on desc").each do |reply| %>
 | 
				
			||||
                <script type="text/javascript">
 | 
				
			||||
                    $(function(){
 | 
				
			||||
                        showNormalImage('reply_content_<%= reply.id %>');
 | 
				
			||||
                    });
 | 
				
			||||
                </script>
 | 
				
			||||
                <% replies_all_i=replies_all_i+1 %>
 | 
				
			||||
                <li class="homepagePostReplyContainer" nhname="reply_rec" style="display:<%= replies_all_i>3 ? 'none' : '' %>">
 | 
				
			||||
                  <div class="homepagePostReplyPortrait">
 | 
				
			||||
                    <%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_path(reply.author_id), :alt => "用户头像" %>
 | 
				
			||||
                  </div>
 | 
				
			||||
                  <div class="homepagePostReplyDes">
 | 
				
			||||
                    <div class="homepagePostReplyPublisher mt-4">
 | 
				
			||||
                      <% if reply.try(:author).try(:realname) == ' ' %>
 | 
				
			||||
                          <%= link_to reply.try(:author), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
 | 
				
			||||
                      <% else %>
 | 
				
			||||
                          <%= link_to reply.try(:author).try(:realname), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
 | 
				
			||||
                      <% end %>
 | 
				
			||||
                      <%= format_time(reply.created_on) %>
 | 
				
			||||
                    </div>
 | 
				
			||||
                    <div class="homepagePostReplyContent break_word list_style upload_img table_maxWidth" id="reply_content_<%= reply.id %>">
 | 
				
			||||
                      <%= reply.content.html_safe %></div>
 | 
				
			||||
                  </div>
 | 
				
			||||
                  <div class="cl"></div>
 | 
				
			||||
                </li>
 | 
				
			||||
            <% end %>
 | 
				
			||||
          </ul>
 | 
				
			||||
        </div>
 | 
				
			||||
    <% end %>
 | 
				
			||||
 | 
				
			||||
    <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="homepagePostReplyInputContainer mb10">
 | 
				
			||||
        <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|%>
 | 
				
			||||
              <input type="hidden" name="quote[quote]" value="">
 | 
				
			||||
              <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>
 | 
				
			||||
              <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>
 | 
				
			||||
              <div class="cl"></div>
 | 
				
			||||
              <p nhname='contentmsg_<%= user_activity_id%>'></p>
 | 
				
			||||
          <% end%>
 | 
				
			||||
        </div>
 | 
				
			||||
        <div class="cl"></div>
 | 
				
			||||
      </div>
 | 
				
			||||
      <div class="cl"></div>
 | 
				
			||||
    </div>
 | 
				
			||||
 | 
				
			||||
  </div>
 | 
				
			||||
</div>
 | 
				
			||||
@ -0,0 +1,2 @@
 | 
				
			||||
$("#hide_<%= @org_subfield.id %>").text("设为可见");
 | 
				
			||||
$("#org_subfield_<%= @org_subfield.id %>").css("display", "none");
 | 
				
			||||
@ -0,0 +1,2 @@
 | 
				
			||||
$(".columnContent").html('<%= escape_javascript( render :partial => 'users/org_resources_subfield',:locals => {:subfield=>@subfield})%>')
 | 
				
			||||
$(".orgDirection").text('目标地址:'+'<%= @org.name.html_safe%>')
 | 
				
			||||
@ -0,0 +1,16 @@
 | 
				
			||||
<script type="text/javascript">
 | 
				
			||||
    $(function(){
 | 
				
			||||
        $("#RSide").removeAttr("id");
 | 
				
			||||
        $("#Container").css("width","1000px");
 | 
				
			||||
        $("#message_subject").focus();
 | 
				
			||||
    });
 | 
				
			||||
</script>
 | 
				
			||||
<div class="homepageRight mt0 ml10">
 | 
				
			||||
  <div class="homepageRightBanner">
 | 
				
			||||
    <div class="NewsBannerName">
 | 
				
			||||
      编辑帖子
 | 
				
			||||
    </div>
 | 
				
			||||
  </div>
 | 
				
			||||
  <%= render :partial => 'boards/course_new',
 | 
				
			||||
             :locals => {:f => f, :edit_mode => edit_mode, :topic => topic, :course => course} %>
 | 
				
			||||
</div>
 | 
				
			||||
@ -0,0 +1,2 @@
 | 
				
			||||
$("#hide_<%= @org_subfield.id %>").text("设为隐藏");
 | 
				
			||||
$("#org_subfield_<%= @org_subfield.id %>").css("display", "block");
 | 
				
			||||
@ -1,19 +1,25 @@
 | 
				
			||||
<ul class="hworkUl">
 | 
				
			||||
  <li class="hworkList340 hworkH30 width505">
 | 
				
			||||
    <span class="HomeworkNameTitle f14 fb fl">作品名称</span>
 | 
				
			||||
    <% if @homework.homework_type != 3 %>
 | 
				
			||||
        <span class="HomeworkStuTitle f14 fb fl">姓名</span>
 | 
				
			||||
        <span class="HomeworkStuTitle f14 fb fl">学号</span>
 | 
				
			||||
    <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %>
 | 
				
			||||
        <span class="HomeworkStuTitle f14 fb fl">关联项目</span>
 | 
				
			||||
    <% end %>
 | 
				
			||||
  </li>
 | 
				
			||||
 | 
				
			||||
  <li class="hworkList130 hworkH30 fb ml10">
 | 
				
			||||
    时间
 | 
				
			||||
  </li>
 | 
				
			||||
 | 
				
			||||
  <li class="hworkList50 hworkH30 fb mr10 ml10">
 | 
				
			||||
    我的评分
 | 
				
			||||
  </li>
 | 
				
			||||
<ul class="hworkUl">
 | 
				
			||||
  <li class="hworkList340 hworkH30 w455">
 | 
				
			||||
    <span class="HomeworkNameTitle f14 fb fl w235">作品名称</span>
 | 
				
			||||
    <% if @homework.homework_type != 3 %>
 | 
				
			||||
        <span class="HomeworkStuTitle f14 fb fl">姓名</span>
 | 
				
			||||
        <span class="HomeworkStuTitle f14 fb fl">学号</span>
 | 
				
			||||
    <% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %>
 | 
				
			||||
        <span class="HomeworkStuTitle f14 fb fl">关联项目</span>
 | 
				
			||||
    <% end %>
 | 
				
			||||
  </li>
 | 
				
			||||
 | 
				
			||||
  <li class="hworkList130 hworkH30 fb ml10">
 | 
				
			||||
    时间
 | 
				
			||||
  </li>
 | 
				
			||||
 | 
				
			||||
  <% if @homework.homework_type == 2%>
 | 
				
			||||
      <li class="hworkList50 hworkH30 fb">
 | 
				
			||||
        系统
 | 
				
			||||
      </li>
 | 
				
			||||
  <% end%>
 | 
				
			||||
 | 
				
			||||
  <li class="hworkList50 hworkH30 fb mr10 ml10" style="float: right;">
 | 
				
			||||
    我的评分
 | 
				
			||||
  </li>
 | 
				
			||||
</ul>
 | 
				
			||||
@ -0,0 +1,10 @@
 | 
				
			||||
<li style="background-color:#f1f1f1; color:#555555; padding-top:2px; padding-bottom:2px;">请选择栏目:</li>
 | 
				
			||||
<% unless subfield.nil? || subfield.empty? %>
 | 
				
			||||
    <% subfield.each do |field| %>
 | 
				
			||||
        <li>
 | 
				
			||||
        <label>
 | 
				
			||||
        <input type="radio" name="subfield" onclick="subfield_click();" value="<%= field.id %>" class="mt3 fl mr5" />
 | 
				
			||||
        <span><%= field.name %></span></label>
 | 
				
			||||
        </li>
 | 
				
			||||
    <%end %>
 | 
				
			||||
<%end %>
 | 
				
			||||
@ -0,0 +1,58 @@
 | 
				
			||||
<div >
 | 
				
			||||
    <div class="relateText fl mb10 mr5">发送到</div>
 | 
				
			||||
    <div class="resourcesSendTo mr15">
 | 
				
			||||
      <select class="resourcesSendType" onclick="chooseSendType('<%= send_id%>','<%= send_ids%>');">
 | 
				
			||||
        <option value="1">课程</option>
 | 
				
			||||
        <option value="2">项目</option>
 | 
				
			||||
        <option value="3" selected>组织</option>
 | 
				
			||||
      </select>
 | 
				
			||||
    </div>
 | 
				
			||||
  <%= form_tag  search_user_org_user_path(user),:method => 'get',
 | 
				
			||||
                :remote=>true,:id=>'search_user_org_form' do %>
 | 
				
			||||
      <%= hidden_field_tag(:send_id, send_id) %>
 | 
				
			||||
      <%= hidden_field_tag(:send_ids, send_ids) %>
 | 
				
			||||
    <input type="text" name="serach" id="search_org_input" value="<%=@search %>" placeholder="输入名称搜索" class="orgSendSearch mt15" />
 | 
				
			||||
      <script>
 | 
				
			||||
          observeSearchfieldOnInput('search_org_input','<%= search_user_org_user_path(user)%>','<%= send_id %>','<%= send_ids%>')
 | 
				
			||||
      </script>
 | 
				
			||||
  <% end %>
 | 
				
			||||
    <div class="cl"></div>
 | 
				
			||||
</div>
 | 
				
			||||
<%= form_tag add_exist_file_to_org_user_path(user),:remote=>true,:id=>'orgs_list_form' do %>
 | 
				
			||||
    <%= hidden_field_tag(:send_id, send_id) %>
 | 
				
			||||
    <%= hidden_field_tag(:send_ids, send_ids) %>
 | 
				
			||||
  <div class="sectionWrap fl mr15">
 | 
				
			||||
    <ul class="fontGrey3 sectionContent">
 | 
				
			||||
      <% unless @orgs.empty? %>
 | 
				
			||||
          <% @orgs.each do |org|%>
 | 
				
			||||
              <li>
 | 
				
			||||
                <label>
 | 
				
			||||
                  <input type="radio" name="org_id" value="<%= org.id%>" onchange="change_org_subfield('<%= org_resources_subfield_organization_path(:id=>org.id)%>')" class="mt3 fl mr5" />
 | 
				
			||||
                  <span><%= org.name%></span></label>
 | 
				
			||||
              </li>
 | 
				
			||||
          <%end%>
 | 
				
			||||
      <%end%>
 | 
				
			||||
    </ul>
 | 
				
			||||
  </div>
 | 
				
			||||
  <div class="columnWrap">
 | 
				
			||||
    <ul class="columnContent">
 | 
				
			||||
      <!--<span class="fontBlue pl10">请在左侧选择要转发的位置</span>-->
 | 
				
			||||
      <!--<li style="background-color:#f1f1f1; color:#555555; padding-top:2px; padding-bottom:2px;">请选择栏目:</li>-->
 | 
				
			||||
     <%= render :partial => 'users/org_resources_subfield',:locals => {:subfield=>nil}%>
 | 
				
			||||
      <!--<li>-->
 | 
				
			||||
        <!--<label>-->
 | 
				
			||||
          <!--<input type="radio" name="sendColumn" class="mt3 fl mr5" />-->
 | 
				
			||||
          <!--<span>动态</span></label>-->
 | 
				
			||||
      <!--</li>-->
 | 
				
			||||
    </ul>
 | 
				
			||||
  </div>
 | 
				
			||||
  <div class="cl"></div>
 | 
				
			||||
  <div class="orgDirection mb10 break_word" style="white-space: nowrap;-o-text-overflow:ellipsis;text-overflow: ellipsis;overflow: hidden">目标地址:</div>
 | 
				
			||||
  <div class="courseSendSubmit mr15">
 | 
				
			||||
    <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();',:onclick=>"check_des(event);" %>
 | 
				
			||||
  </div>
 | 
				
			||||
  <div class="courseSendCancel">
 | 
				
			||||
    <a href="javascript:void(0);" onclick="hideModal();" class="sendSourceText">取消</a>
 | 
				
			||||
  </div>
 | 
				
			||||
  <div class="cl"></div>
 | 
				
			||||
 <%end %>
 | 
				
			||||
@ -0,0 +1,10 @@
 | 
				
			||||
<% if @flag == true%>
 | 
				
			||||
$("#search_div").html('<%= escape_javascript( render :partial =>  'resource_search_form',:locals => {:user=>@user,:type=>@type} ) %>');
 | 
				
			||||
$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>');
 | 
				
			||||
$("#res_count").html(0);
 | 
				
			||||
$("#checkboxAll").attr('checked',false);
 | 
				
			||||
$("#res_all_count").html(<%= @atta_count%>);
 | 
				
			||||
hideModal();
 | 
				
			||||
alert("发送成功")
 | 
				
			||||
<% else%>
 | 
				
			||||
<% end %>
 | 
				
			||||
@ -0,0 +1,9 @@
 | 
				
			||||
$("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/resource_share_for_orgs' ,:locals => {:orgs=>@orgs,:user=>@user,:send_id=>@send_id,:send_ids=>@send_ids})%>');
 | 
				
			||||
showModal('ajax-modal', '452px');
 | 
				
			||||
$('#ajax-modal').siblings().remove();
 | 
				
			||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal();' style='margin-left: 435px;' class='resourceClose'></a>");
 | 
				
			||||
$('#ajax-modal').parent().css("top","").css("left","");
 | 
				
			||||
$('#ajax-modal').parent().addClass("popbox").addClass("shareDP");
 | 
				
			||||
$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px");
 | 
				
			||||
var val =  $("#search_org_input").val();
 | 
				
			||||
$("#search_org_input").val("").focus().val(val);
 | 
				
			||||
@ -0,0 +1,5 @@
 | 
				
			||||
class AddQuotesToMessages < ActiveRecord::Migration
 | 
				
			||||
  def change
 | 
				
			||||
    add_column :messages, :quotes, :integer
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,24 @@
 | 
				
			||||
class CreateAttachmentHistories < ActiveRecord::Migration
 | 
				
			||||
  def change
 | 
				
			||||
    create_table :attachment_histories do |t|
 | 
				
			||||
      t.integer :container_id
 | 
				
			||||
      t.string :container_type
 | 
				
			||||
      t.string :filename ,      :default => ""
 | 
				
			||||
      t.string :disk_filename, :default => ""
 | 
				
			||||
      t.integer :filesize,      :default => 0
 | 
				
			||||
      t.string :content_type, :default => ""
 | 
				
			||||
      t.string :digest    ,    :default => "",:limit=>40
 | 
				
			||||
      t.integer :downloads,    :default => 0
 | 
				
			||||
      t.integer :author_id
 | 
				
			||||
      t.datetime :created_on
 | 
				
			||||
      t.string :description
 | 
				
			||||
      t.string :disk_directory
 | 
				
			||||
      t.integer :attachtype
 | 
				
			||||
      t.integer :is_public
 | 
				
			||||
      t.integer :copy_from
 | 
				
			||||
      t.integer :quotes
 | 
				
			||||
      t.integer :version
 | 
				
			||||
      t.integer :version_id
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,5 @@
 | 
				
			||||
class AddOrgSubfieldIdToBoards < ActiveRecord::Migration
 | 
				
			||||
  def change
 | 
				
			||||
    add_column :boards, :org_subfield_id, :integer
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,11 @@
 | 
				
			||||
# encoding: utf-8
 | 
				
			||||
class SetBoardForOrgSubfields < ActiveRecord::Migration
 | 
				
			||||
  def up
 | 
				
			||||
    OrgSubfield.where("field_type='Post'").each do |field|
 | 
				
			||||
      Board.create(:org_subfield_id => field.id, :name => "资源栏目讨论区", :project_id => -1, :description => field.name)
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def down
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,8 @@
 | 
				
			||||
class RenameAttachmentHistoriesColumnVersionIdToAttachmentId < ActiveRecord::Migration
 | 
				
			||||
  def up
 | 
				
			||||
    rename_column :attachment_histories,:version_id,:attachment_id
 | 
				
			||||
  end
 | 
				
			||||
 | 
				
			||||
  def down
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,17 @@
 | 
				
			||||
class AddLastTermToCourse < ActiveRecord::Migration
 | 
				
			||||
  def change
 | 
				
			||||
    add_column :courses, :end_time, :integer
 | 
				
			||||
    add_column :courses, :end_term, :string
 | 
				
			||||
 | 
				
			||||
    count = Course.all.count / 30 + 2
 | 
				
			||||
    transaction do
 | 
				
			||||
      for i in 1 ... count do
 | 
				
			||||
        Course.page(i).per(30).each do |course|
 | 
				
			||||
          course.end_time = course.time
 | 
				
			||||
          course.end_term = course.term
 | 
				
			||||
          course.save
 | 
				
			||||
        end
 | 
				
			||||
      end
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,5 @@
 | 
				
			||||
class AddHideToOrgSubfields < ActiveRecord::Migration
 | 
				
			||||
  def change
 | 
				
			||||
    add_column :org_subfields, :hide, :integer, :default => 0
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
@ -0,0 +1,9 @@
 | 
				
			||||
class AddRecordsToOrgSubfields < ActiveRecord::Migration
 | 
				
			||||
  def change
 | 
				
			||||
    Organization.all.each do |org|
 | 
				
			||||
      OrgSubfield.create(:organization_id => org.id, :name => 'activity', :field_type => 'default')
 | 
				
			||||
      OrgSubfield.create(:organization_id => org.id, :name => 'course', :field_type => 'default')
 | 
				
			||||
      OrgSubfield.create(:organization_id => org.id, :name => 'project', :field_type => 'default')
 | 
				
			||||
    end
 | 
				
			||||
  end
 | 
				
			||||
end
 | 
				
			||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								| 
		 After Width: | Height: | Size: 7.2 KiB  | 
Some files were not shown because too many files have changed in this diff Show More
					Loading…
					
					
				
		Reference in new issue