@ -418,15 +418,108 @@ class UsersController < ApplicationController
#用户从资源库导入资源到作业
#用户从资源库导入资源到作业
def user_import_resource
def user_import_resource
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@user = User . current
user_course_ids = @user . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
" or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) " ) . order ( " created_on desc " )
" or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) " ) . order ( " created_on desc " )
@type = params [ :type ]
@homework_id = params [ :homework_id ]
@limit = 7
@is_remote = true
@atta_count = @attachments . count
@atta_pages = Paginator . new @atta_count , @limit , params [ 'page' ] || 1
@offset || = @atta_pages . offset
#@curse_attachments_all = @all_attachments[@offset, @limit]
@attachments = paginateHelper @attachments , 7
respond_to do | format |
format . js
end
end
#引入资源列表根据类型过滤
def user_resource_type
if User . current . id . to_i != params [ :id ] . to_i
render_403
return
end
if ( params [ :type ] . blank? || params [ :type ] == " 1 " ) #全部
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
" or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) " ) . order ( " created_on desc " )
elsif params [ :type ] == " 2 " #课程资源
user_course_ids = User . current . courses . map { | c | c . id }
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type = 'Course') or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) " ) . order ( " created_on desc " )
elsif params [ :type ] == " 3 " #项目资源
@attachments = Attachment . where ( " author_id = #{ params [ :id ] } and container_type = 'Project' " ) . order ( " created_on desc " )
elsif params [ :type ] == " 4 " #附件
@attachments = Attachment . where ( " author_id = #{ params [ :id ] } and container_type in('Issue','Document','Message','News','StudentWorkScore','HomewCommon') " ) . order ( " created_on desc " )
elsif params [ :type ] == " 5 " #用户资源
@attachments = Attachment . where ( " author_id = #{ params [ :id ] } and container_type = 'Principal' " ) . order ( " created_on desc " )
end
@type = params [ :type ]
@limit = 7
@is_remote = true
@atta_count = @attachments . count
@atta_pages = Paginator . new @atta_count , @limit , params [ 'page' ] || 1
@offset || = @atta_pages . offset
#@curse_attachments_all = @all_attachments[@offset, @limit]
@attachments = paginateHelper @attachments , 7
respond_to do | format |
respond_to do | format |
format . js
format . js
end
end
end
end
#引入资源列表根据关键词过滤
def user_ref_resource_search
search = params [ :search ] . to_s . strip . downcase
if ( params [ :type ] . blank? || params [ :type ] == " 1 " ) #全部
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源 取交集并查询
@attachments = Attachment . where ( " ((author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
" or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } ))) and (filename like '% #{ search } %') " ) . order ( " created_on desc " )
elsif params [ :type ] == " 2 " #课程资源
user_course_ids = User . current . courses . map { | c | c . id }
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type = 'Course') or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) and (filename like '% #{ search } %') " ) . order ( " created_on desc " )
elsif params [ :type ] == " 3 " #项目资源
@attachments = Attachment . where ( " author_id = #{ params [ :id ] } and container_type = 'Project' and (filename like '% #{ search } %') " ) . order ( " created_on desc " )
elsif params [ :type ] == " 4 " #附件
@attachments = Attachment . where ( " author_id = #{ params [ :id ] } and container_type in('Project','Issue','Document','Message','News','StudentWorkScore','HomewCommon') and (filename like '% #{ search } %') " ) . order ( " created_on desc " )
elsif params [ :type ] == " 5 " #用户资源
@attachments = Attachment . where ( " author_id = #{ params [ :id ] } and container_type = 'Principal' and (filename like '% #{ search } %') " ) . order ( " created_on desc " )
end
@type = params [ :type ]
@limit = 7
@is_remote = true
@atta_count = @attachments . count
@atta_pages = Paginator . new @atta_count , @limit , params [ 'page' ] || 1
@offset || = @atta_pages . offset
#@curse_attachments_all = @all_attachments[@offset, @limit]
@attachments = paginateHelper @attachments , 7
respond_to do | format |
format . js
end
end
#将资源批量引入
def import_resources_to_homework
@attachments = [ ]
unless params [ :checkbox1 ] . nil? || params [ :checkbox1 ] . blank?
params [ :checkbox1 ] . each do | id |
atta = Attachment . find ( id )
att_copy = atta . copy
att_copy . container_id = nil
att_copy . container_type = nil
att_copy . copy_from = atta . id
att_copy . save
@attachments << att_copy
end
end
respond_to do | format |
format . js
end
end
include CoursesHelper
include CoursesHelper
def user_courses
def user_courses
@ -664,9 +757,7 @@ class UsersController < ApplicationController
end
end
def show
def show
@page = params [ :page ] ? params [ :page ] . to_i + 1 : 0
@page = params [ :page ] ? params [ :page ] . to_i + 1 : 0
user_project_ids = @user . projects . visible . empty? ? " (-1) " : " ( " + @user . projects . visible . map { | project | project . id } . join ( " , " ) + " ) "
user_project_ids = @user . projects . visible . empty? ? " (-1) " : " ( " + @user . projects . visible . map { | project | project . id } . join ( " , " ) + " ) "
user_course_ids = @user . courses . visible . empty? ? " (-1) " : " ( " + @user . courses . visible . map { | course | course . id } . join ( " , " ) + " ) "
user_course_ids = @user . courses . visible . empty? ? " (-1) " : " ( " + @user . courses . visible . map { | course | course . id } . join ( " , " ) + " ) "
course_types = " ('Message','News','HomeworkCommon','poll') "
course_types = " ('Message','News','HomeworkCommon','poll') "
@ -1011,7 +1102,7 @@ class UsersController < ApplicationController
#@user.save_attachments(params[:attachments],User.current)
#@user.save_attachments(params[:attachments],User.current)
# Container_type为Principal
# Container_type为Principal
Attachment . attach_filesex ( @user , params [ :attachments ] , params [ :attachment_type ] )
Attachment . attach_filesex ( @user , params [ :attachments ] , params [ :attachment_type ] )
if ( params [ :type ] . nil? || params [ :type ] == " 1 " ) #全部
if ( params [ :type ] . blank? || params [ :type ] == " 1 " ) #全部
if User . current . id . to_i == params [ :id ] . to_i
if User . current . id . to_i == params [ :id ] . to_i
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
@ -1073,7 +1164,7 @@ class UsersController < ApplicationController
end
end
end
end
if ( params [ :type ] . nil ? || params [ :type ] == " 1 " ) #全部
if ( params [ :type ] . blank ? || params [ :type ] == " 1 " ) #全部
if User . current . id . to_i == params [ :id ] . to_i
if User . current . id . to_i == params [ :id ] . to_i
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
@ -1212,6 +1303,18 @@ class UsersController < ApplicationController
else
else
@flag = false
@flag = false
end
end
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
" or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) " ) . order ( " created_on desc " )
@type = params [ :type ]
@limit = 25
@user = User . current
@is_remote = true
@atta_count = @attachments . count
@atta_pages = Paginator . new @atta_count , @limit , params [ 'page' ] || 1
@offset || = @atta_pages . offset
#@curse_attachments_all = @all_attachments[@offset, @limit]
@attachments = paginateHelper @attachments , 25
respond_to do | format |
respond_to do | format |
format . js
format . js
end
end
@ -1268,7 +1371,18 @@ class UsersController < ApplicationController
else
else
@flag = true
@flag = true
end
end
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
" or (container_type = 'Course' and container_id in ( #{ user_course_ids . empty? ? '0' : user_course_ids . join ( ',' ) } )) " ) . order ( " created_on desc " )
@type = params [ :type ]
@limit = 25
@user = User . current
@is_remote = true
@atta_count = @attachments . count
@atta_pages = Paginator . new @atta_count , @limit , params [ 'page' ] || 1
@offset || = @atta_pages . offset
#@curse_attachments_all = @all_attachments[@offset, @limit]
@attachments = paginateHelper @attachments , 25
respond_to do | format |
respond_to do | format |
format . js
format . js
end
end
@ -1483,7 +1597,7 @@ class UsersController < ApplicationController
render_403
render_403
return
return
end
end
if ( params [ :type ] . nil ? || params [ :type ] == " 1 " ) #全部
if ( params [ :type ] . blank ? || params [ :type ] == " 1 " ) #全部
if User . current . id . to_i == params [ :id ] . to_i
if User . current . id . to_i == params [ :id ] . to_i
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
user_course_ids = User . current . courses . map { | c | c . id } #我的资源库的话,那么应该是我上传的所有资源 加上 我加入的课程的所有资源
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +
@attachments = Attachment . where ( " (author_id = #{ params [ :id ] } and container_type in('Project','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) " +