Merge branch 'szzh' of https://git.trustie.net/jacknudt/trustieforge into szzh
commit
692f13d1de
@ -1,294 +1,303 @@
|
|||||||
# 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
|
||||||
helper :attachments
|
helper :attachments
|
||||||
# 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(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").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
|
||||||
|
|
||||||
def hide_org_subfield
|
def hide_org_subfield
|
||||||
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
||||||
@org_subfield.update_attribute(:hide, 1)
|
@org_subfield.update_attribute(:hide, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
def show_org_subfield
|
def show_org_subfield
|
||||||
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
||||||
@org_subfield.update_attribute(:hide, 0)
|
@org_subfield.update_attribute(:hide, 0)
|
||||||
end
|
end
|
||||||
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
|
||||||
|
@ -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,7 @@
|
|||||||
$("#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)),
|
$("#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) %>");
|
:remote=>true,:class=>"postOptionLink",:method => :post) %>");
|
||||||
|
<%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 %>
|
@ -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| %>
|
<% curse_attachments.each do |file| %>
|
||||||
<% if file.is_public? || User.current.member_of_course?(course) || User.current.admin? %>
|
<% 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="resources mt10"><!--资源库内容开始--->
|
||||||
<div class="">
|
<div class="homepagePostBrief">
|
||||||
<%= link_to truncate(file.filename,length: 35, omission: '...'),
|
<div class="homepagePostPortrait">
|
||||||
download_named_attachment_path(file.id, file.filename),
|
<%= link_to image_tag(url_to_avatar(file.author), :width => 50, :height => 50), user_path(file.author) %>
|
||||||
: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" %>
|
</div>
|
||||||
<% if User.current.logged? %>
|
<div class="homepagePostDes">
|
||||||
<% if (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %>
|
<div class="homepagePostTitle break_word mt-4">
|
||||||
<%= 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) %>
|
<%= 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 (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %>
|
||||||
<% if @course.is_public? %>
|
<% if (delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course" %>
|
||||||
<span id="is_public_<%= file.id %>">
|
<ul class="homepagePostSettiongText">
|
||||||
<%= 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 %>
|
|
||||||
|
|
||||||
<% else %>
|
<li><%= link_to("发 送".html_safe, 'javascript:void(0)',:class => "postOptionLink",:onclick=>"show_send('#{file.id}')") %></li>
|
||||||
<!-- <#%= link_to (file.is_public? ? "公开":"私有"),"javascript:void(0)",:class=>"f_l re_open" %> -->
|
<li><%= link_to '更新版本',attachments_versions_path(file),:class => "postOptionLink",:remote=>true %></li>
|
||||||
<% end %>
|
<% if @course.is_public? %>
|
||||||
<% else %>
|
<li>
|
||||||
<%= 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) %>
|
<span id="is_public_<%= file.id %>">
|
||||||
<% end %>
|
<%= 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 %>
|
||||||
<%= file_preview_tag(file, class: 'f_l re_open') %>
|
</span>
|
||||||
<% else %>
|
</li>
|
||||||
<% end %>
|
<%end%>
|
||||||
</div>
|
<li>
|
||||||
<div class="cl"></div>
|
<%= link_to( '删除资源', attachment_path(file),
|
||||||
<div class="mt5">
|
: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 %>
|
||||||
<p class="f_l mb5 c_grey02">文件大小:<%= number_to_human_size(file.filesize) %></p>
|
</li>
|
||||||
<%= link_to( l(:button_delete), attachment_path(file),
|
</ul>
|
||||||
: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>
|
<% end %>
|
||||||
</div>
|
<%else%>
|
||||||
<div class="cl"></div>
|
<ul class="resourceSendO">
|
||||||
<div class="tag_h">
|
<li><%= link_to("发 送".html_safe, 'javascript:void(0)',:class => "postOptionLink2",:onclick=>"show_send('#{file.id}')") %></li>
|
||||||
<!-- container_type = 1 代表是课程里的资源 -->
|
</ul>
|
||||||
<%= render :partial => 'tags/tag_new', :locals => {:obj => file, :object_flag => "6",:tag_name => @tag_name} %>
|
<% end %>
|
||||||
<%= render :partial => 'tags/tag_add', :locals => {:obj => file, :object_flag => "6",:tag_name => @tag_name} %>
|
<% end %>
|
||||||
</div>
|
</li>
|
||||||
<div class="cl"></div>
|
</ul>
|
||||||
</div><!---re_con_box end-->
|
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="re_con_box"><span class='fr mr10 pr_join_span '><%= file.filename %>是私有资源</span></div>
|
<div class="re_con_box"><span class='fr mr10 pr_join_span '><%= file.filename %>是私有资源</span></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
|
||||||
<ul class="wlist">
|
<% if curse_attachments.count == 10%>
|
||||||
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => @is_remote, :flag => true%>
|
<% if params[:action] == 'search' %>
|
||||||
</ul>
|
<%=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" %>
|
||||||
<div class="cl"></div>
|
<%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%>")
|
@ -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,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,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,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
|
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 7.2 KiB |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
|||||||
|
# Read about factories at https://github.com/thoughtbot/factory_girl
|
||||||
|
|
||||||
|
FactoryGirl.define do
|
||||||
|
factory :attachment_history do
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe AttachmentHistory, :type => :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
Loading…
Reference in new issue