Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_hs
杨树林 6 years ago
commit 16369e85f8

@ -549,7 +549,7 @@ class CoursesController < ApplicationController
course_member = CourseMember.find_by!(id: params[:course_member_id].to_i, course_id: @course.id)
tip_exception("删除失败") if course_member.CREATOR? or course_member.STUDENT?
course_student = CourseMember.find_by(id: course_member.user_id, course_id: @course.id, role: %i[STUDENT])
course_student = CourseMember.find_by(user_id: course_member.user_id, course_id: @course.id, role: %i[STUDENT])
course_member.destroy!
course_student.update_attributes(is_active: 1) if course_student.present? && !course_student.is_active
normal_status(0, "删除成功")
@ -772,8 +772,10 @@ class CoursesController < ApplicationController
students.each do |student|
course_member = CourseMember.find_by(id: student[:course_member_id].to_i, course_id: @course.id)
if course_member.present?
member_teacher = CourseMember.find_by(user_id: course_member.user_id, course_id: @course.id, role: %i[CREATOR PROFESSOR ASSISTANT_PROFESSOR])
student_ids << course_member.user_id
course_member.destroy!
member_teacher.update_attributes(is_active: 1) if member_teacher.present?
end
end
CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, student_ids) if student_ids.present?

@ -82,6 +82,7 @@ class Course < ApplicationRecord
scope :by_keywords, lambda { |keywords|
where("name LIKE ?", "%#{keywords.split(" ").join('|')}%") unless keywords.blank?
}
scope :started, -> { where("start_date is null or start_date <= '#{Date.today}'") }
acts_as_taggable

@ -23,11 +23,11 @@ class Users::CourseService
def category_scope_courses
case params[:category]
when 'study' then
user.as_student_courses
user.as_student_courses.started
when 'manage' then
user.manage_courses
else
ids = user.as_student_courses.pluck(:id) + user.manage_courses.pluck(:id)
ids = user.as_student_courses.started.pluck(:id) + user.manage_courses.pluck(:id)
Course.where(id: ids)
end
end

@ -503,7 +503,12 @@ class CoursesBanner extends Component {
}
</style>
{excellent===true?
<span className="tag-orangces fl"><span className="tag-names mt10 ml15">开放课程</span></span>
<span>
<CoursesListType
typelist={["开放课程"]}
typesylename={"mt10"}/>
</span>
:""}
<span className={"TabsWarp"}>
<CoursesListType

@ -884,7 +884,7 @@ class Coursesleftnav extends Component{
<a onClick={(e)=>this.showsandians(e,key,item.category_url,1)} className={ item.second_category===undefined?"fl ml20 pd0":item.second_category.length===0?"fl ml20 pd0":this.state.sandiantypes===key?"fl ml20 pd0 ebebeb":"fl ml20 pd0"}>
{
item.type==="announcement"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-xiaoxi1 mr10 fl":"iconfont icon-xiaoxi1 mr10 fl"}></i>:
item.type==="online_learning"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-kecheng mr10 fl":"iconfont icon-kecheng mr10 fl"}></i>:
item.type==="online_learning"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-kecheng mr10 fl font-16":"iconfont icon-kecheng mr10 fl font-16"}></i>:
item.type==="shixun_homework"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-daima mr10 fl":"iconfont icon-daima mr10 fl"}></i>:
item.type==="common_homework"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-putongzuoye mr10 fl":"iconfont icon-putongzuoye mr10 fl"}></i>:
item.type==="group_homework"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-fenzuzuoye mr10 fl":"iconfont icon-fenzuzuoye mr10 fl"}></i>:
@ -1001,7 +1001,7 @@ class Coursesleftnav extends Component{
<a className={ item.second_category===undefined?"fl ml20 pd0":item.second_category.length===0?"fl ml20 pd0":this.state.sandiantypes===key?"fl ml20 pd0 ebebeb":"fl ml20 pd0"}>
{
item.type==="announcement"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-xiaoxi1 mr10 fl":"iconfont icon-xiaoxi1 mr10 fl"}></i>:
item.type==="online_learning"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-kecheng mr10 fl":"iconfont icon-kecheng mr10 fl"}></i>:
item.type==="online_learning"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-kecheng mr10 fl font-16":"iconfont icon-kecheng mr10 fl font-16"}></i>:
item.type==="shixun_homework"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-daima mr10 fl":"iconfont icon-daima mr10 fl"}></i>:
item.type==="common_homework"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-putongzuoye mr10 fl":"iconfont icon-putongzuoye mr10 fl"}></i>:
item.type==="group_homework"?<i className={this.props.location.pathname===item.category_url?"color-blue iconfont icon-fenzuzuoye mr10 fl":"iconfont icon-fenzuzuoye mr10 fl"}></i>:

@ -55,6 +55,8 @@ class CoursesListType extends Component {
{item==="未提交"?<span className={"edu-filter-btn edu-filter-btn-84B6EB ml15 fl typestyle "+ typesylename} >未提交</span>:""}
{item==="已确认"?<span className={"edu-filter-btn edu-filter-btn-FC2B6A ml15 fl typestyle "+ typesylename} >已确认</span>:""}
{item==="已截止"?<span className={"edu-filter-btn edu-filter-btn-FC2B6A ml15 fl typestyle "+ typesylename} >已截止</span>:""}
{item==="开放课程"?<span className={"edu-filter-btn edu-filter-btn-FF6800 ml15 fl typestyle "+ typesylename} >开放课程</span>:""}
</span>
</Tooltip>
)

@ -907,6 +907,10 @@ a.white-btn.use_scope-btn:hover{
.edu-filter-btn-FC2B6A{
background:#FC2B6A !important;
}
.edu-filter-btn-FF6800{
background:#FF6800 !important;
}
.color666666{
color:#666666 !important;
}

@ -332,8 +332,8 @@ class DetailTop extends Component{
border-radius:4px;
border:1px solid rgba(255,255,255,1);
}
.minwinth600{
min-width:600px;
.maxwinth700{
max-width:700px;
}
`
}
@ -361,7 +361,7 @@ class DetailTop extends Component{
{ detailInfoList.member_count!=0 ? <li><span>学习人数</span><span>{detailInfoList.member_count}</span></li> : ""}
</ul>
}
<div className="fr pr minwinth600">
<div className="fr pr maxwinth700">
{detailInfoList===undefined?"":detailInfoList.allow_statistics===true?
<Link to={"/paths/"+this.props.match.params.pathId+"/edit"} className="fl font-18 color-white kaike mr20 kkbths" >

Loading…
Cancel
Save