watched_user_blog_ids=Blog.select("id").where("author_id in #{user_ids}").count==0?"":Blog.select("id").where("author_id in #{user_ids}").map{|blog|blog.id}.join(",")
watched_user_blog_ids=Blog.select("id").where("author_id in #{user_ids}").count==0?"-1":Blog.select("id").where("author_id in #{user_ids}").map{|blog|blog.id}.join(",")
@ -894,12 +894,15 @@ class CoursesController < ApplicationController
# return
# end
#更新创建课程消息状态
create_course_messages=@course.course_messages.where("user_id =? and course_message_type =? and course_id =? and viewed =?",User.current.id,'Course',@course.id,0)
course_request_messages=CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?",User.current.id,@course.id,'CourseRequestDealResult',false)
course_request_messages.update_all(:viewed=>true)
# course_request_messages = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @course.id, 'CourseRequestDealResult', false)
resultSet=Attachment.where("attachments.container_type = 'Course' And attachments.container_id = '#{course.id}' AND filename LIKE :like ",like:"%#{keywords}%").reorder(sort)
resultSet=Attachment.where("attachments.container_type = 'Course' And attachments.container_id = '#{course.id}' AND filename LIKE :like ",like:"%#{keywords}%").reorder(sort)
else
resultSet=Attachment.where("attachments.container_type = 'Course' And attachments.container_id = '#{course.id}' ").reorder(sort)
end
@ -250,7 +252,7 @@ class FilesController < ApplicationController
else
resultSet=Attachment.where("attachments.container_type = 'Project' And attachments.container_id = '#{project.id}' ").reorder(sort)
query_journals=ForgeMessage.where("user_id =? and forge_message_type =? and forge_message_id in (#{query_journals_ids.join(",")})",User.current.id,"Journal")
@ -88,7 +88,7 @@ class OrganizationsController < ApplicationController
shield_project_ids=ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id)
shield_course_ids=ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id)
@ -140,7 +140,7 @@ class OrganizationsController < ApplicationController
shield_project_ids=ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id)
shield_course_ids=ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id)
student_work_messages=CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?",User.current.id,@homework.course,StudentWork.name,0)
studentworks_scores=CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?",User.current.id,@homework.course,"StudentWorksScore",0)
journals_for_teacher=CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?",User.current.id,@homework.course,"JournalsForMessage",0)
no_evaluation=CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =? and status =?",User.current.id,@homework.course,"StudentWork",0,0)
@stundet_works=search_homework_member@homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name
@stundet_works=search_homework_member@homework.student_works.no_copy.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name
elsif@order=='student_id'
@stundet_works=search_homework_member@homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order}#{@b_sort}"),@name
@stundet_works=search_homework_member@homework.student_works.no_copy.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order}#{@b_sort}"),@name
else
@stundet_works=search_homework_member@homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order}#{@b_sort}"),@name
@stundet_works=search_homework_member@homework.student_works.no_copy.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order}#{@b_sort}"),@name
end
@show_all=true
elsifUser.current.member_of_course?(@course)
@ -476,11 +452,11 @@ class StudentWorkController < ApplicationController
@stundet_works=search_homework_member@homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name
@stundet_works=search_homework_member@homework.student_works.no_copy.select("student_works.*,student_works.work_score as score").joins(:user).order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, login #{@b_sort}"),@name
elsif@order=='student_id'
@stundet_works=search_homework_member@homework.student_works.select("student_works.*,student_works.work_score as score").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order}#{@b_sort}"),@name
@stundet_works=search_homework_member@homework.student_works.no_copy.select("student_works.*,student_works.work_score as score").joins("join user_extensions on student_works.user_id = user_extensions.user_id").order("#{@order}#{@b_sort}"),@name
else
@stundet_works=search_homework_member@homework.student_works.select("student_works.*,student_works.work_score as score").order("#{@order}#{@b_sort}"),@name
@stundet_works=search_homework_member@homework.student_works.no_copy.select("student_works.*,student_works.work_score as score").includes(:user=>{:user_extensions=>[]},:project=>{},:student_works_scores=>{}).order("#{@order}#{@b_sort}"),@name
end
@show_all=true
elsifUser.current.member_of_course?(@course)
@ -571,7 +547,7 @@ class StudentWorkController < ApplicationController
@student_work=StudentWork.new
#end
respond_todo|format|
format.html{render:layout=>"new_base_user"}
format.html{render:layout=>"base_courses"}
end
end
@ -613,33 +589,21 @@ class StudentWorkController < ApplicationController
ts_score=StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a")
stu_score=StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 3 ORDER BY created_at DESC) AS t GROUP BY user_id) AS a")
@ -1139,7 +1114,7 @@ class StudentWorkController < ApplicationController
end
all_students=User.where("id in #{all_student_ids}")
student_work_id=@homework.student_work_projects.where("user_id=? and student_work_id is not null",User.current.id).first.nil??-1:@homework.student_work_projects.where("user_id=?",User.current.id).first.student_work_id
@user_activities=UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'HomeworkCommon'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Course'
act_type='HomeworkCommon'
when"course_news"
@user_activities=UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'News'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Course'
act_type='News'
when"course_message"
@user_activities=UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'Message'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Course'
act_type='Message'
when"course_poll"
@user_activities=UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'Poll'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Course'
act_type='Poll'
when"course_journals"
@user_activities=UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'JournalsForMessage'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Course'
act_type='JournalsForMessage'
when"project_issue"
@user_activities=UserActivity.where("container_type = 'Project' and container_id in #{user_project_ids} and act_type = 'Issue'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Project'
act_type='Issue'
when"project_message"
@user_activities=UserActivity.where("container_type = 'Project' and container_id in #{user_project_ids} and act_type = 'Message'").order('updated_at desc').limit(10).offset(@page*10)
container_type='Project'
act_type='Message'
when"user_journals"
@user_activities=UserActivity.where("container_type = 'Principal' and act_type= 'JournalsForMessage' and container_id = #{@user.id}").order('updated_at desc').limit(10).offset(@page*10)
container_type='Principal'
act_type='JournalsForMessage'
when"current_user"
@user_activities=UserActivity.where("user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))").order('updated_at desc').limit(10).offset(@page*10)
sql="user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))"
end
ifUser.current!=@user
sql+=" and user_id = #{@user.id}"
end
else
# @user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id})").order('updated_at desc').limit(10).offset(@page * 10)
@ -3334,6 +3350,7 @@ class UsersController < ApplicationController
#这里仅仅是传递需要发送的资源id
@send_id=params[:send_id]
@send_ids=params[:checkbox1]||params[:send_ids]
@hidden_unproject=hidden_unproject_infos
respond_todo|format|
format.js
end
@ -3450,11 +3467,15 @@ class UsersController < ApplicationController
@order,@c_sort,@type,@list_type=1,2,1,1
#limit = 5
@my_projects=@user.projects.visible.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
# 用户的所有项目
# @my_projects = @user.projects.visible.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
@my_projects=@user.projects.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
@my_projects_count=@my_projects.count
@my_joined_projects=@user.projects.visible.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
#@my_joined_projects = @user.projects.visible.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
@my_joined_projects=@user.projects.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
count=ShieldWechatMessage.where("container_type='User' and container_id=#{user.id} and shield_type='#{shield_type}' and shield_id=#{container_id}").count
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
sql_select="SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHEREmembers.course_id=#{course_id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{course_id}) AND members.user_id = homework_attaches.user_id
ANDhomework_attaches.bid_idin(SELECTbid_idFROMhomework_for_coursesWHEREcourse_id=#{course_id}) GROUP BY members.user_id
UNIONall
SELECTmembers.*,0asscoreFROMmembers,homework_attaches,students_for_coursesWHEREmembers.course_id=#{course_id} AND
students_for_courses.course_id=#{course_id} and members.user_id = students_for_courses.student_id AND
sql_select="SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHEREmembers.course_id=#{course_id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{course_id}) AND members.user_id = homework_attaches.user_id
ANDhomework_attaches.bid_idin(SELECTbid_idFROMhomework_for_coursesWHEREcourse_id=#{course_id}) GROUP BY members.user_id
UNIONall
SELECTmembers.*,0asscoreFROMmembers,homework_attaches,students_for_coursesWHEREmembers.course_id=#{course_id} AND
students_for_courses.course_id=#{course_id} and members.user_id = students_for_courses.student_id AND
resource_num*5+journal_num*1+homework_journal_num*1)FROM`course_contributor_scores`ASccsWHEREccs.course_id=#{course_id} AND ccs.user_id = members.user_id
WHEREmembers.course_id=#{course_id} ORDER BY #{sort_type} #{score_sort_by}"
else
sql_select="SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHEREmembers.course_id=#{course_id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{course_id}) AND members.user_id = homework_attaches.user_id
andmembers.course_group_id=#{groupid} AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{course_id})
resource_num*5+journal_num*1+homework_journal_num*1)FROM`course_contributor_scores`ASccsWHEREccs.course_id=#{course_id} AND ccs.user_id = members.user_id