@ -881,38 +872,38 @@ class BidsController < ApplicationController
find_bid
render:layout=>'base_homework'
end
defadd_homework
ifUser.current.logged?&&(!Member.where('user_id = ? and project_id = ?',User.current.id,@bid.courses.first.id).first.nil?&&(Member.where('user_id = ? and project_id = ?',User.current.id,@bid.courses.first.id).first.roles&Role.where('id = ? or id = ? or id =?',5,10,7)).size>0)
@ -990,7 +815,6 @@ class CoursesController < ApplicationController
end
private
defallow_joincourse
ifcourse_endTime_timeout?course
respond_todo|format|
@ -1021,38 +845,38 @@ class CoursesController < ApplicationController
ifgroupid==0
ifnums==0
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
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
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
andmembers.course_group_id=#{groupid} AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id})
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})
@ -87,6 +121,26 @@ class FilesController < ApplicationController
#resultSet = Attachment.find_by_sql("SELECT `attachments`.* FROM `attachments` LEFT OUTER JOIN `homework_attaches` ON `attachments`.container_type = 'HomeworkAttach' AND `attachments`.container_id = `homework_attaches`.id LEFT OUTER JOIN `homework_for_courses` ON `homework_attaches`.bid_id = `homework_for_courses`.bid_id LEFT OUTER JOIN `homework_for_courses` AS H_C ON `attachments`.container_type = 'Bid' AND `attachments`.container_id = H_C.bid_id WHERE (`homework_for_courses`.course_id = 117 OR H_C.course_id = 117 OR (`attachments`.container_type = 'Course' AND `attachments`.container_id = 117)) AND `attachments`.filename LIKE '%#{keywords}%'").reorder("created_on DESC")
end
deffind_project_attachekeywords,project,sort=""
ifsort==""
sort="created_on DESC"
end
ids=""
len=0
count=project.versions.count
project.versions.eachdo|version|
len=len+1
iflen!=count
ids+=version.id.to_s+','
else
ids+=version.id.to_s
end
end
resultSet=Attachment.where("((attachments.container_type = 'Project' And attachments.container_id = '#{project.id}') OR (container_type = 'Version' AND container_id IN (#{ids}))) AND filename LIKE :like ",like:"%#{keywords}%").
reorder(sort)
#resultSet = Attachment.find_by_sql("SELECT `attachments`.* FROM `attachments` LEFT OUTER JOIN `homework_attaches` ON `attachments`.container_type = 'HomeworkAttach' AND `attachments`.container_id = `homework_attaches`.id LEFT OUTER JOIN `homework_for_courses` ON `homework_attaches`.bid_id = `homework_for_courses`.bid_id LEFT OUTER JOIN `homework_for_courses` AS H_C ON `attachments`.container_type = 'Bid' AND `attachments`.container_id = H_C.bid_id WHERE (`homework_for_courses`.course_id = 117 OR H_C.course_id = 117 OR (`attachments`.container_type = 'Course' AND `attachments`.container_id = 117)) AND `attachments`.filename LIKE '%#{keywords}%'").reorder("created_on DESC")
@ -49,11 +51,12 @@ class HomeworkAttachController < ApplicationController
order_by="created_at #{direction}"
end
all_homework_list=HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
(SELECTstarsFROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDis_teacher_score=1ANDstarsISNOTNULL ORDER BYupdated_atDESClimit0,1)ASt_score,
(SELECTstarsFROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDis_teacher_score=1ANDstarsISNOTNULL ORDER BYupdated_atDESClimit0,1)ASt_score,
ifUser.current.logged?&&(User.current.admin?||(!Member.where('user_id = ? and project_id = ?',User.current.id,project.bid.courses.first.id).first.nil?&&(Member.where('user_id = ? and project_id = ?',User.current.id,project.bid.courses.first.id).first.roles&Role.where('id = ? or id = ?',3,7)).size>0)||project.user_id==User.current.id)
has_many:topics,:class_name=>'Memo',:conditions=>"#{Memo.table_name}.parent_id IS NULL",:order=>"#{Memo.table_name}.created_at DESC",:dependent=>:destroy
has_many:memos,:dependent=>:destroy,conditions:"parent_id IS NULL"
@course_journal_messages=JournalsForMessage.find_by_sql("select DISTINCT * from journals_for_messages where
@ -114,18 +139,18 @@ class Mailer < ActionMailer::Base
@forums=Forum.find_by_sql("select DISTINCT * from forums where creator_id = #{user.id} and (created_at between '#{date_from}' and '#{date_to}') order by created_at desc")
@memos=Memo.find_by_sql("select DISTINCT m.* from memos m, forums f where (m.author_id = #{user.id} or (m.forum_id = f.id and f.creator_id = #{user.id}))