杨树林 5 years ago
commit a7a5748d5c

@ -14,7 +14,7 @@ class AttachmentsController < ApplicationController
update_downloads(@file) update_downloads(@file)
redirect_to @file.cloud_url and return redirect_to @file.cloud_url and return
end end
send_file absolute_path(local_path(@file)), type: @file.content_type.presence || 'application/octet-stream' send_file(absolute_path(local_path(@file)), filename: @file.filename, type: @file.content_type.presence || 'application/octet-stream')
update_downloads(@file) update_downloads(@file)
end end
@ -100,7 +100,7 @@ class AttachmentsController < ApplicationController
def current_month_folder def current_month_folder
date = Time.now date = Time.now
"#{date.year}/#{date.day.to_s.rjust(2, '0')}" "#{date.year}/#{date.month.to_s.rjust(2, '0')}"
end end
def file_ext(file_name) def file_ext(file_name)

@ -12,9 +12,9 @@ class CoursesController < ApplicationController
end end
before_action :require_login, except: [:index, :show, :students, :teachers, :board_list, :mine, :all_course_groups, before_action :require_login, except: [:index, :show, :students, :teachers, :board_list, :mine, :all_course_groups,
:left_banner, :top_banner, :apply_to_join_course]
before_action :check_auth, except: [:index, :show, :students, :teachers, :board_list, :mine, :all_course_groups,
:left_banner, :top_banner] :left_banner, :top_banner]
before_action :check_auth, except: [:index, :show, :students, :teachers, :board_list, :mine, :all_course_groups,
:left_banner, :top_banner, :apply_to_join_course]
before_action :set_course, :user_course_identity, only: [:show, :update, :destroy, :settings, :set_invite_code_halt, before_action :set_course, :user_course_identity, only: [:show, :update, :destroy, :settings, :set_invite_code_halt,
:set_public_or_private, :search_teacher_candidate, :teachers, :apply_teachers, :set_public_or_private, :search_teacher_candidate, :teachers, :apply_teachers,
:top_banner, :left_banner, :add_teacher_popup, :add_teacher, :top_banner, :left_banner, :add_teacher_popup, :add_teacher,
@ -884,11 +884,11 @@ class CoursesController < ApplicationController
end end
# 验证是否存在同学号的学生 # 验证是否存在同学号的学生
u_extension = current_user.user_extension # u_extension = current_user.user_extension
if params[:student].present? && u_extension.student? # if params[:student].present? && u_extension.student?
same_student_id_users = UserExtension.where.not(user_id: current_user.id).where(student_id: u_extension.student_id, identity: %i[student], school_id: u_extension.school_id).pluck(:user_id) # same_student_id_users = UserExtension.where.not(user_id: current_user.id).where(student_id: u_extension.student_id, identity: %i[student], school_id: u_extension.school_id).pluck(:user_id)
tip_exception("该课堂已存在同学号的学生,暂时无法加入,请联系老师") if course.students.exists?(user_id: same_student_id_users) # tip_exception("该课堂已存在同学号的学生,暂时无法加入,请联系老师") if course.students.exists?(user_id: same_student_id_users)
end # end
# 创建学生身份 # 创建学生身份
if params[:student].present? if params[:student].present?
@ -906,6 +906,7 @@ class CoursesController < ApplicationController
CourseAddStudentCreateWorksJob.perform_later(course.id, [current_user.id]) CourseAddStudentCreateWorksJob.perform_later(course.id, [current_user.id])
StudentJoinCourseNotifyJob.perform_later(current_user.id, course.id) StudentJoinCourseNotifyJob.perform_later(current_user.id, course.id)
logger.info("#####################{course.id}")
end end
end end

@ -206,7 +206,7 @@ class StudentWorksController < ApplicationController
@current_user = current_user @current_user = current_user
@work_members = @homework.homework_type != "group" ? [] : @homework.student_works.where.not(user_id: @work.user_id). @work_members = @homework.homework_type != "group" ? [] : @homework.student_works.where.not(user_id: @work.user_id).
where(group_id: @work.group_id).includes(:user) where(group_id: @work.group_id).includes(:user)
@attachments = @work.attachments.where.not(attachtype: 7) @attachments = @work.attachments.where("attachtype != 7 or attachtype is null")
end end
# 判断项目是否已有其他作品关联上了 # 判断项目是否已有其他作品关联上了

@ -82,8 +82,8 @@ class SubjectsController < ApplicationController
@is_creator = current_user.creator_of_subject?(@subject) @is_creator = current_user.creator_of_subject?(@subject)
# 合作团队 # 合作团队
@members = @subject.subject_members.includes(:user) @members = @subject.subject_members.includes(:user)
shixun_ids = @subject.shixuns.published.pluck(:id) @shixuns = @subject.shixuns.published.pluck(:id)
challenge_ids = Challenge.where(shixun_id: shixun_ids).pluck(:id) challenge_ids = Challenge.where(shixun_id: @shixuns).pluck(:id)
# 实训路径中的所有实训标签 # 实训路径中的所有实训标签
@tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq
# 用户获取的实训标签 # 用户获取的实训标签

@ -1,10 +1,10 @@
module SubjectsHelper module SubjectsHelper
# 实训路径的发布状态 # 实训路径的发布状态
def publish_status subject, is_manager, user def publish_status subject, is_manager, user, shixuns
status = -1 status = -1
if is_manager if is_manager
status = 0 if subject.status == 0 && subject.shixuns_count > 0 status = 0 if subject.status == 0 && shixuns.count > 0
status = 1 if subject.status == 1 status = 1 if subject.status == 1
status = 2 if subject.status == 2 && user.admin? status = 2 if subject.status == 2 && user.admin?
end end

@ -7,7 +7,7 @@ json.group_list do
end end
end end
# 未分班展示情况放在最后 # 未分班展示情况放在最后
if @course_groups.count != (@page -1)*@limit.to_i && @course_groups.count < @limit.to_i if @course_groups.count != (@page.to_i - 1)*@limit.to_i && @course_groups.count < @limit.to_i
ungroup_work_count = homework_ungroup_works_count(@homework, @ungroup_user_ids) ungroup_work_count = homework_ungroup_works_count(@homework, @ungroup_user_ids)
if ungroup_work_count > 0 if ungroup_work_count > 0
json.ungroup_list do json.ungroup_list do

@ -1,3 +1,3 @@
json.status 1 json.status 1
json.message "发送成功" json.message "发送成功"
json.url "/homework_commons?course=#{@course.id}&homework_type=4" json.url module_url(@course.none_hidden_course_modules.first, @course)

@ -6,7 +6,7 @@ json.subject_score @subject.all_score
json.member_count @subject.member_count json.member_count @subject.member_count
json.allow_delete @is_creator && (@subject.status != 2 || @user.admin?) json.allow_delete @is_creator && (@subject.status != 2 || @user.admin?)
json.publish_status publish_status(@subject, @is_creator, @user) json.publish_status publish_status(@subject, @is_creator, @user, @shixuns)
json.allow_statistics @user.manager_of_subject?(@subject) json.allow_statistics @user.manager_of_subject?(@subject)
json.allow_send @user.logged? json.allow_send @user.logged?
json.allow_visit @user.manager_of_subject?(@subject) || @user.admin? || @subject.status > 1 json.allow_visit @user.manager_of_subject?(@subject) || @user.admin? || @subject.status > 1

@ -1203,14 +1203,14 @@ class GraduationTaskssettinglist extends Component{
{taskslistdata.search_assistants&&taskslistdata.search_assistants.course_group_info.length!=0?<li className="clearfix"> {taskslistdata.search_assistants&&taskslistdata.search_assistants.course_group_info.length!=0?<li className="clearfix">
<span className="fl mr10 color-grey-8">分班情况</span> <span className="fl mr10 color-grey-8">分班情况</span>
<span className="fl mr25"> <CheckboxGroup value={course_group} onChange={(e)=>this.groupgroup(e,taskslistdata.search_assistants&&taskslistdata.search_assistants.course_group_info.length)} style={{width: '1000px', paddingTop: '4px'}}>
<a id="graduation_comment_no_limit" className={course_group===null||course_group===undefined?"pl10 pr10 check_on":"pl10 pr10 "} onClick={()=>this.groupgroup([])}>不限</a> <span className="fl mr25">
</span> <a id="graduation_comment_no_limit" className={course_group===null||course_group===undefined?"pl10 pr10 check_on":"pl10 pr10 "} onClick={()=>this.groupgroup([])}>不限</a>
</span>
<CheckboxGroup value={course_group} onChange={(e)=>this.groupgroup(e,taskslistdata.search_assistants&&taskslistdata.search_assistants.course_group_info.length)} style={{ paddingTop: '4px'}}>
{taskslistdata.search_assistants&&taskslistdata.search_assistants.course_group_info.map((item,key)=>{ {taskslistdata.search_assistants&&taskslistdata.search_assistants.course_group_info.map((item,key)=>{
return( return(
<span key={key}> <span key={key} className={"mt10"}>
<Checkbox value={item.course_group_id} key={item.course_group_id} className="fl ">{item.group_group_name} <Checkbox value={item.course_group_id} key={item.course_group_id} className="fl ">{item.group_group_name}
<span>({item.count})</span> <span>({item.count})</span>
</Checkbox> </Checkbox>

@ -317,15 +317,18 @@ class LoginDialog extends Component {
}); });
} }
handleDialogClose = () => { handleDialogClose = () => {
if(this.props.match===undefined){ // if(this.props.match===undefined){
window.location.href="/"; // window.location.href="/";
}else if(this.props.match.path==="/"){ // }else if(this.props.match.path==="/"){
this.setState({ // this.setState({
isRender: false // isRender: false
}) // })
}else{ // }else{
window.location.href="/"; // window.location.href="/";
} // }
this.setState({
isRender: false
})
} }
loginEDU=()=>{ loginEDU=()=>{

@ -534,10 +534,10 @@ submittojoinclass=(value)=>{
<div className="newHeader" id="nHeader" > <div className="newHeader" id="nHeader" >
<LoginDialog {/*<LoginDialog*/}
{...this.state} {/*{...this.state}*/}
{...this.props} {/*{...this.props}*/}
/> {/*/>*/}
<div className="educontent clearfix"> <div className="educontent clearfix">
{/*<%= link_to image_tag("/images/educoder/logo.png", alt:"高校智能化教学与实训平台", className:"logoimg"), home_path %>*/} {/*<%= link_to image_tag("/images/educoder/logo.png", alt:"高校智能化教学与实训平台", className:"logoimg"), home_path %>*/}

@ -470,11 +470,10 @@ class Challenges extends Component {
</span> </span>
</div> </div>
<div className="clearfix pl28"> <div className="clearfix pl28">
<span className="task-colspan">{item.passed_count}&nbsp;人完成挑战</span> <span className="task-colspan"><span className={"color-orange"}>{item.passed_count}</span>&nbsp;</span>
<span <span
className="task-colspan">{item.playing_count}&nbsp;人正在挑战</span> className="task-colspan"><span className={"color-orange"}>{item.playing_count}</span>&nbsp;</span>
<span className="task-colspan"><span <span className="task-colspan"><span>完成挑战可获得经验值&nbsp;<span className={"color-orange"}>{item.score}</span></span></span>
className="colspan-grey">经验值&nbsp;{item.score}</span></span>
{/*判断比较复杂 有排第一不能是灰色按钮*/} {/*判断比较复杂 有排第一不能是灰色按钮*/}

Loading…
Cancel
Save