diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 5e290d678..b8c6a4a0a 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -85,6 +85,14 @@ class HomeworkCommonController < ApplicationController
homework_detail_manual = @homework.homework_detail_manual || HomeworkDetailManual.new
@homework.end_time = params[:homework_common][:end_time] || Time.now
@homework.course_id = params[:course_id]
+ if params[:homework_type] && params[:homework_type].to_i != @homework.homework_type
+ if @homework.homework_type == 2
+ @homework.homework_detail_programing.destroy if @homework.homework_detail_programing
+ @homework.homework_tests.destroy_all
+ elsif @homework.homework_type == 3
+ @homework.homework_detail_group.destroy if @homework.homework_detail_group
+ end
+ end
@homework.homework_type = params[:homework_type].to_i || @homework.homework_type
anonymous = params[:homework_common][:anonymous_comment] ? params[:homework_common][:anonymous_comment].to_i : 1
if anonymous != @homework.anonymous_comment
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 6689bc212..f6a97e66c 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -547,7 +547,7 @@ class StudentWorkController < ApplicationController
@student_work = StudentWork.new
#end
respond_to do |format|
- format.html{ render :layout => "new_base_user"}
+ format.html{ render :layout => "base_courses"}
end
end
@@ -633,7 +633,7 @@ class StudentWorkController < ApplicationController
render_403
else
respond_to do |format|
- format.html{ render :layout => "new_base_user"}
+ format.html{ render :layout => "base_courses"}
end
end
end
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index 39c61a318..f119e0e69 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -14,21 +14,30 @@ module CoursesHelper
# 推荐的精品课程
- def excellent_course_recommend current_course
- q = "%#{current_course.name.strip}%"
- recomment_courses = []
- # 推荐过程过滤掉自身
- sql = "SELECT distinct c.* FROM course_activities cs, courses c where cs.course_id = c.id
- and (c.is_excellent =1 or c.excellent_option =1) and c.is_public = 1 and c.id != #{current_course.id} order by cs.updated_at desc;"
- ex_courses = Course.find_by_sql(sql)
- # 使用课程的tag去和课程名称进行匹配
- c_courses = ex_courses.select{|ex_course| ex_course.tags.any?{|tag| q.include?(tag.to_s)}}
- if c_courses.count < 3
- results = c_courses.length == 0 ? ex_courses.first(3) : (c_courses + ex_courses.first(3 - ex_courses.count))
- else
- results = c_courses.first(3)
+ def excellent_course_recommend new_course
+ q = "%#{new_course.name.strip}%"
+ result = find_excelletn_course(q, new_course)
+ end
+
+ # 查询符合条件的精品课程
+ # 用新课程名去匹配精品课程中按课程名和Tag名
+ def find_excelletn_course keywords, current_course
+ # 获取tag匹配结果ID
+ a_tags = []
+ Course.where("is_excellent =? and is_public =?", 1, 1).each do |ec|
+ if ec.tags.any?{|value| current_course.name.include?(value.to_s)}
+ a_tags << ec.id
+ end
end
- results
+ # 课程本身不能搜索显示自己
+ excellent_ids = a_tags.uniq.delete_if{|i| i == current_course.id}
+ sql = "SELECT distinct c.id FROM course_activities cs, courses c where cs.course_id = c.id
+ and (c.is_excellent =1 or c.excellent_option =1) and c.is_public = 1 and c.id != #{current_course.id} order by cs.updated_at desc;"
+ default_ids = Course.find_by_sql(sql).flatten.map { |c| c.id }
+ excellent_ids << default_ids.flatten
+ arr_result = excellent_ids.flatten.uniq.first(3)
+ excellent_courses = Course.find(arr_result)
+ return excellent_courses
end
# 判断精品课程是否可见,非课程成员无法查看私有课程
diff --git a/app/views/student_work/_evaluation_un_group.html.erb b/app/views/student_work/_evaluation_un_group.html.erb
index 91907aadf..75614a909 100644
--- a/app/views/student_work/_evaluation_un_group.html.erb
+++ b/app/views/student_work/_evaluation_un_group.html.erb
@@ -1,6 +1,6 @@
<% @stundet_works.each_with_index do |student_work, i| %>
-
+
<%= render :partial => 'evaluation_un_group_work', :locals => {:student_work => student_work} %>
diff --git a/app/views/student_work/_evaluation_un_group_member_work.html.erb b/app/views/student_work/_evaluation_un_group_member_work.html.erb
index 85ae7a70d..842e1c899 100644
--- a/app/views/student_work/_evaluation_un_group_member_work.html.erb
+++ b/app/views/student_work/_evaluation_un_group_member_work.html.erb
@@ -67,7 +67,7 @@
- <%= !st.student_work_projects.empty? ? '大作品评分即组长的评分' : '点击查看详情' %>
+ <%= !st.student_work_projects.empty? ? '大作品评分即组长的评分' : '点击查看详情' %>
diff --git a/app/views/student_work/_evaluation_un_group_work.html.erb b/app/views/student_work/_evaluation_un_group_work.html.erb
index c937ac9e9..5ce2545e7 100644
--- a/app/views/student_work/_evaluation_un_group_work.html.erb
+++ b/app/views/student_work/_evaluation_un_group_work.html.erb
@@ -1,5 +1,5 @@
-
+
<%=student_work.name %>
@@ -26,7 +26,7 @@
助教:<%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f",student_work.teaching_asistant_score)%>
<% if @homework.anonymous_comment == 0 %>
匿评:
-
+
<% if student_work.student_score.nil? %>
未参与
<% else %>
@@ -48,7 +48,7 @@
<% end %>
成绩:
<% score = student_work.work_score %>
-
+
<%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%>
<% unless score.nil?%>
diff --git a/app/views/student_work/_group_work_show.html.erb b/app/views/student_work/_group_work_show.html.erb
deleted file mode 100644
index 00e90b2d0..000000000
--- a/app/views/student_work/_group_work_show.html.erb
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
- <% is_teacher = User.current.allowed_to?(:as_teacher, @homework.course) || User.current.admin? %>
- <% pro = @homework.student_work_projects.where(:user_id => User.current.id).first %>
- <% is_my_work = pro && pro.student_work_id == work.id%>
-
- -
- 上交时间:
- <%=format_time work.created_at %>
-
-
- <% if work.user == User.current && Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") %>
-
- -
- <%= link_to("", student_work_path(work),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "pic_del",:title=>"删除") %>
-
- -
- <%= link_to "",edit_student_work_path(work),:class => "pic_edit",:title => "修改"%>
-
- <% end%>
- <% if @homework.homework_detail_manual.comment_status == 3 && !is_my_work %>
-
- -
- <%= render :partial => 'student_work_praise',:locals => {:work => work} %>
-
- <% end%>
-
-
-
-
- <% if work.student_work_projects && (@homework.homework_detail_manual.comment_status != 2 || is_my_work || is_teacher ) %>
-
- -
- 参与人员:
- <%= link_to(work.user.show_name+"(组长)", user_path(work.user.id), :class => "linkBlue" )%>
- <% members = work.student_work_projects.where("is_leader = 0") %>
- <% members.each do |member| if !members.empty? %>
- 、<%=link_to((User.find member.user_id).show_name, user_path(member.user.id), :class => "linkBlue" ) %>
- <% end %>
- <% end %>
-
- <% if @homework.homework_detail_group.base_on_project == 1 %>
- -
- 关联项目:
- <% if work.project_id == 0 || work.project_id.nil? %>
- 暂无
- <% elsif work.project.is_public || User.current.member_of?(work.project) || User.current.admin? %>
- <%= link_to( work.project.name, project_path(work.project.id), :class => "linkBlue" )%>
- (综合评分:<%=static_project_score(work.project.project_score).to_i %>)
- <% else %>
- <%=work.project.name %>
- (综合评分:<%=static_project_score(work.project.project_score).to_i %>)
- <% end %>
- <%#= link_to( work.project.name, project_path(work.project.id), :class => "linkBlue" )%>
-
- <% end %>
- -
- 内容:
-
- <%= work.description.html_safe if work.description%>
-
-
-
- -
- 附件:
- <% com_attachments = work.attachments.where("attachtype IS NULL OR attachtype <> 7") %>
- <% if com_attachments.empty?%>
- 尚未提交附件
- <% else%>
-
- <%= render :partial => 'work_attachments_status', :locals => {:attachments => com_attachments, :status => @homework.homework_detail_manual.comment_status} %>
-
- <% end%>
-
-
- <% end%>
-
- -
- <% if @is_teacher || (@homework.homework_detail_manual.comment_status == 2 && !is_my_work)%>
-
-
- <%= render :partial => 'add_score',:locals => {:work => work,:score => score}%>
-
- <% end%>
-
-
-
-
-
- <%= render :partial => 'student_work/revise_attachment', :locals => {:work => work} %>
-
-
-
-
- <%student_work_scores.each do |student_score|%>
-
- <%= render :partial => 'student_work_score',:locals => {:score => student_score,:is_last => student_score == student_work_scores.last}%>
-
- <% end%>
-
-
-
-
收起
-
-
-
\ No newline at end of file
diff --git a/app/views/student_work/edit.html.erb b/app/views/student_work/edit.html.erb
index 931cdc1de..657bdf486 100644
--- a/app/views/student_work/edit.html.erb
+++ b/app/views/student_work/edit.html.erb
@@ -2,6 +2,7 @@
<%= import_ke(enable_at: true, prettify: false, init_activity: false) %>
<%= javascript_include_tag 'homework','baiduTemplate' %>
<% end %>
+
+
-
\ No newline at end of file
+
+