diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 61d2b13fb..4cf16409a 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -632,7 +632,7 @@ class AccountController < ApplicationController def change_or_bind @user = User.current @type = params[:type] - @setting_type = 4 + @setting_type = 5 render :layout => 'base_edu_account' end diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index ed731bbe4..58190b14a 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -6,9 +6,119 @@ class ManagementsController < ApplicationController include SortHelper include UsersHelper include ApplicationHelper + + # 镜像管理 + def mirror_repository + @menu_type = 3 + @sub_type = 4 + @mirror_types = MirrorType.where("0=0") + mirror_rep = Redmine::Configuration['mirror_rep'] + uri = "#{mirror_rep}/images/json" + uri = URI.parse(URI.encode(uri.strip)) + begin + res = Net::HTTP.get(uri) + res = JSON.parse(res) + res.each do |mirror| + mirrorID = mirror['Id'][7, 12] + if MirrorRepository.where(:mirrorID => mirrorID).count == 0 + MirrorRepository.create(:mirrorID => mirrorID, :status => 0, :created_at => Time.at(mirror['Created']), :updated_at => Time.at(mirror['Created'])) + end + end + rescue + end + @mirrors = MirrorRepository.where("0=0").reorder("updated_at desc") + end + + def add_mirror_type + data = {result: 0} + if params[:name] + if MirrorType.where(:name => params[:name]).count == 0 + new_type = MirrorType.new(:user_id => User.current.id, :name => params[:name]) + if new_type.save + data[:result] = 1 + end + else + data[:result] = 2 + end + end + render :json => data + end + + def modify_mirror + @mirror = MirrorRepository.find params[:mirror_id] + @mirror_types = MirrorType.where("0=0") + end + + def search_mirror_type + data = {mirror_types: []} + search = params[:search] + MirrorType.where("name like '%#{search}%'").each do |mirror_type| + option = [] + option << mirror_type.name.to_s + option << mirror_type.id + data[:mirror_types] << option + end + render :json => data + end + + def update_mirror + data = {result: 0, ID:""} + begin + mirror = MirrorRepository.find params[:mirror_id] + if mirror + last_index = params[:main_type].strip().rindex(";"); + params[:main_type] = last_index.nil? ? "" : params[:main_type].strip()[0 ... last_index] + if params[:main_type] != "" + if MirrorRepository.where("id != #{mirror.id} and main_type = #{params[:main_type]} and tag = #{params[:tag].strip()}").count > 0 + data[:result] = 1 + data[:ID] = MirrorRepository.where("id != #{mirror.id} and main_type = #{params[:main_type]} and tag = #{params[:tag].strip()}").first.mirrorID + else + main_types = params[:main_type].split(";") + mirror.mirror_repository_types.destroy_all + main_types.each do |type| + mirror_tp = MirrorType.where(:name => type).first + if mirror_tp + MirrorRepositoryType.create(:mirror_type_id => mirror_tp.id, :mirror_repository_id => mirror.id) + end + end + mirror.update_attributes(:main_type => params[:main_type], :tag => params[:tag], :description => params[:description], :status => params[:status]) + end + else + data[:result] = 2 + end + else + data[:result] = 3 + end + rescue Exception => e + puts e + end + render :json => data + end + + def delete_mirror + mirror = MirrorRepository.find params[:mirror_id] + mirror_rep = Redmine::Configuration['mirror_rep'] + uri = "#{mirror_rep}/images/" + mirror.mirrorID.to_s + uri = URI.parse(URI.encode(uri.strip)) + data = {name:mirror.mirrorID.to_s} + http = Net::HTTP.new uri.host, uri.port + begin + req = Net::HTTP::Delete.new(uri.request_uri) + req.form_data = data + res= http.start { |http| http.request req } + if res.code == '200' + @status = 1 + mirror.destroy + else + @status = 0 + end + rescue =>err + end + end + # 专业列表 def profession - @syllabus=Syllabus.where("0=0") + @major=Major.where("0=0") @menu_type = 12 @sub_type = 1 @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] @@ -16,27 +126,53 @@ class ManagementsController < ApplicationController discipline_category_option = params[:discipline_category_id] if params[:discipline_category_id] first_level_discipline_option = params[:first_level_discipline_id] if params[:first_level_discipline_id] if major_level_option && major_level_option != '0' - @syllabus = @syllabus.where(:major_level=>major_level_option) + @major = @major.where(:major_level=>major_level_option) end if discipline_category_option && discipline_category_option != '0' - @syllabus=@syllabus.where(:discipline_category_id=>discipline_category_option) + @major=@major.where(:discipline_category_id=>discipline_category_option) end if first_level_discipline_option && first_level_discipline_option != '0' - @syllabus=@syllabus.where(:first_level_discipline_id=>first_level_discipline_option) + @major=@major.where(:first_level_discipline_id=>first_level_discipline_option) end - @syllabus = @syllabus.order("created_at #{@sx_order}") - @syllabus_count = @syllabus.count + + if params[:support_shixuns] + @major = @major.where(:support_shixuns => params[:support_shixuns].to_i) + end + + @major = @major.order("created_at #{@sx_order}") + @major_count = @major.count limit = 20 @is_remote = true - @syllabus_pages = Paginator.new @syllabus_count, limit, params['page'] || 1 - @offset ||= @syllabus_pages.offset - @syllabus = paginateHelper @syllabus, limit + @major_pages = Paginator.new @major_count, limit, params['page'] || 1 + @offset ||= @major_pages.offset + @major = paginateHelper @major, limit respond_to do |format| format.js format.html end end + # 新增专业页面 + def new_major + respond_to do |format| + format.js + end + end + + # 新增专业 + def insert_major + major_list = Major.create(:name=>params[:major],:first_level_discipline_id=>params[:first_level_discipline_id],:major_level=>params[:major_level],:discipline_category_id=>params[:discipline_category_id],:major_code=>params[:major_code]) + redirect_to profession_managements_path + end + + # 支撑实训 + def support_shixun + if params[:syllabus_id] + major = Major.find params[:syllabus_id] + major.update_attributes(:support_shixuns => !major.support_shixuns) + end + end + # 实训适用课程 def applicable_course @menu_type = 12 diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb index 0a6050e94..6983f4678 100644 --- a/app/controllers/my_controller.rb +++ b/app/controllers/my_controller.rb @@ -151,7 +151,7 @@ class MyController < ApplicationController ue = @user.user_extensions @trail_authentication = ApplyAction.where(:user_id => User.current.id, :container_type => "TrialAuthorization").order("created_at desc").first @authentication = @user.authentication - if ue.identity.nil? + if @user.nickname.nil? || @user.lastname.nil? || ue.identity.nil? || ue.location.nil? || ue.school_id.nil? @require_auth = true else if @trail_authentication.blank? || (@trail_authentication.status == 2 && (@trail_authentication.updated_at.to_i + 24*60*60) < Time.now.to_i) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index db27cc471..22392a7ce 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -449,6 +449,7 @@ class ShixunsController < ApplicationController def new @shixun = Shixun.new + @support = Major.where(:support_shixuns=> 1) respond_to do |format| format.html{render :layout => 'base_edu'} format.json @@ -710,4 +711,5 @@ class ShixunsController < ApplicationController render_403 if User.current.mail.blank? end + end diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 2fc74c135..a5ed47268 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -377,14 +377,14 @@ class StudentWorkController < ApplicationController end #开放作品 || 老师 || 超级管理员 || 禁用匿评&&作业截止&&已提交作品 显示所有列表 - if (@homework.is_open == 1 && @course.is_public == 1) || (@homework.is_open == 1 && @course.is_public == 0 && User.current.member_of_course?(@course)) || @is_teacher || User.current.admin? || (User.current.member_of_course?(@course) && @homework.homework_detail_manual.comment_status == 6) + if (@homework.is_open == 1 && User.current.member_of_course?(@course) && @homework.homework_detail_manual.comment_status == 6) || @is_teacher || User.current.admin? @stundet_works = @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}") @show_all = true elsif User.current.member_of_course?(@course) if @homework.homework_detail_manual.comment_status == 1 || @homework.homework_detail_manual.comment_status == 2 #学生 && 未开启匿评 只看到自己的 if @homework.homework_type == 3 - my_work = @homework.student_works.where(:user_id => User.current.id).first - @stundet_works = my_work ? @homework.student_works.select("student_works.*,student_works.work_score as score").where(:group_id => my_work.group_id) : [] + my_work = @homework.student_works.where(:user_id => User.current.id) + @stundet_works = !my_work.balnk? ? (my_work.first.group_id != 0 ? @homework.student_works.select("student_works.*,student_works.work_score as score").where(:group_id => my_work.first.group_id) : my_work) : [] else @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end @@ -408,14 +408,14 @@ class StudentWorkController < ApplicationController end else - if (@homework.is_open == 1 && @course.is_public == 1) || (@homework.is_open == 1 && @course.is_public == 0 && User.current.member_of_course?(@course)) || @is_teacher || User.current.admin? || (User.current.member_of_course?(@course) && @homework.homework_detail_manual.comment_status == 6) + if (@homework.is_open == 1 && User.current.member_of_course?(@course) && @homework.homework_detail_manual.comment_status == 6) || @is_teacher || User.current.admin? @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").includes(:user => {:user_extensions => []}, :project => {}, :student_works_scores => {}).order("#{@order} #{@b_sort}") @show_all = true elsif User.current.member_of_course?(@course) if @homework.homework_detail_manual.comment_status == 1 || @homework.homework_detail_manual.comment_status == 2 #学生 && 未开启匿评 只看到自己的 if @homework.homework_type == 3 - my_work = @homework.student_works.where(:user_id => User.current.id).first - @stundet_works = my_work ? @homework.student_works.select("student_works.*,student_works.work_score as score").where(:group_id => my_work.group_id) : [] + my_work = @homework.student_works.where(:user_id => User.current.id) + @stundet_works = !my_work.blank? ? (my_work.first.group_id != 0 ? @homework.student_works.select("student_works.*,student_works.work_score as score").where(:group_id => my_work.first.group_id) : my_work) : [] else @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end @@ -606,7 +606,7 @@ class StudentWorkController < ApplicationController render_403 else if @homework.homework_type == 3 - @commit_users = User.where(:id => @work.student_work_projects.map(&:user_id)) + @commit_users = User.where(:id => @homework.student_works.where("group_id = #{@work.group_id} and user_id != #{@work.user_id}").map(&:user_id)) end respond_to do |format| format.html{ render :layout => "base_edu"} @@ -624,9 +624,9 @@ class StudentWorkController < ApplicationController send_message_to_teacher(@work) if @homework.homework_type == 3 @student_work_project = @homework.student_work_projects.where("user_id=?",User.current.id).first - student_work_projects = @homework.student_work_projects.where("student_work_id=? and is_leader =?",@work.id,0) - user_ids = student_work_projects.empty? ? "(-1)" : "(" + student_work_projects.map{|stu|stu.user_id}.join(",") + ")" - student_works = @homework.student_works.where("user_id in #{user_ids}") + student_work_projects = @homework.student_work_projects.where("student_work_id=? and user_id !=?",@student_work_project.student_work_id,User.current.id) + #user_ids = student_work_projects.empty? ? "(-1)" : "(" + student_work_projects.map{|stu|stu.user_id}.join(",") + ")" + student_works = @homework.student_works.where("group_id = #{@work.group_id} and user_id != #{@work.user_id}") student_works.each do |sw| course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) if @work.work_status == 2 @@ -635,8 +635,9 @@ class StudentWorkController < ApplicationController course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics end - student_works.update_all(:work_status => 0, :description => nil, :project_id => 0, :late_penalty => 0,:work_status => 0, :commit_time => nil) + student_works.update_all(:work_status => 0, :description => nil, :project_id => 0, :late_penalty => 0,:work_status => 0, :commit_time => nil, :group_id => 0) student_work_projects.delete_all + @student_work_project.update_attributes(:is_leader => 1) members = params[:user_id] for i in 1 .. members.count-1 stu_work = @homework.student_works.where(:user_id=> members[i].to_i).empty? ? StudentWork.new : @homework.student_works.where(:user_id=> members[i].to_i).first diff --git a/app/controllers/subjects_controller.rb b/app/controllers/subjects_controller.rb index 0b746c675..f0b27b76b 100644 --- a/app/controllers/subjects_controller.rb +++ b/app/controllers/subjects_controller.rb @@ -37,7 +37,7 @@ class SubjectsController < ApplicationController def create if params[:subject] - subject = Subject.create(:name => params[:subject][:name], :description => params[:subject][:description], :user_id => User.current.id, :visits => 0, :status => 0) + subject = Subject.create(:name => params[:subject][:name], :learning_notes => params[:subject][:learning_notes], :description => params[:subject][:description], :user_id => User.current.id, :visits => 0, :status => 0) end redirect_to subject_path(subject) end @@ -48,7 +48,7 @@ class SubjectsController < ApplicationController def update if params[:subject] - subject = @subject.update_attributes(:name => params[:subject][:name], :description => params[:subject][:description]) + subject = @subject.update_attributes(:name => params[:subject][:name], :learning_notes => params[:subject][:learning_notes], :description => params[:subject][:description]) end redirect_to subject_path(@subject) end @@ -103,15 +103,15 @@ class SubjectsController < ApplicationController if apply && apply.status == 0 @status = 0 else - if Shixun.where(:id => @subject.stage_shixuns.map(&:shixun_id), :status => [0, 1]).count > 0 - @status = 2 - else + #if Shixun.where(:id => @subject.stage_shixuns.map(&:shixun_id), :status => [0, 1]).count > 0 + # @status = 2 + #else @subject.update_attributes(:status => 1) ApplyAction.create(:container_type => "ApplySubject", :container_id => @subject.id, :user_id => User.current.id, :status => 0) notes = User.current.show_name.to_s + " 申请发布课程实训:#{@subject.name}" JournalsForMessage.create(:jour_id => 1, :jour_type => 'Principal', :user_id => User.current.id, :notes => notes, :private => 1, :reply_id => 0) @status = 1 - end + # end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index dadf83780..88e013250 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1974,9 +1974,9 @@ module ApplicationHelper elsif params[:controller] == "shixuns" && params[:action] == "index" title << ("全部实训") elsif @subject - title << (@subject.name.nil? ? "实训套件" : @subject.name) + title << (@subject.name.nil? ? "实训课程" : @subject.name) elsif params[:controller] == "subjects" && params[:action] == "index" - title << ("实训套件") + title << ("实训课程") elsif @organization title << (@organization.name.nil? ? "创新源于实践" : @organization.name) elsif @forum || params[:controller] == "forums" @@ -3856,17 +3856,9 @@ module ApplicationHelper end end elsif work - if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 && StudentWorksEvaluationDistribution.where("student_work_id = #{work.id}").count > 0 #匿评作业,且作业状态不是在开启匿评之前 - if homework.homework_type != 3 - link_to "作品匿评", student_work_index_url_in_org(homework.id, 2), :class => 'c_blue homepagePostSubmit', :title => "开启匿评后不可修改作品" - else - work_ids = "(" + homework.student_works.has_committed.map(&:id).join(",") + ")" - if User.current.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count > 0 - link_to "作品匿评", student_work_index_url_in_org(homework.id, 2), :class => 'c_blue homepagePostSubmit', :title => "开启匿评后不可修改作品" - else - link_to "查看作品(#{count})",student_work_index_url_in_org(homework.id, 2), :class => 'c_blue homepagePostSubmit', :title => "匿评开启后提交的作品不参与匿评" - end - end + work_ids = "(" + homework.student_works.has_committed.map(&:id).join(",") + ")" + if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 && User.current.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count > 0 #匿评作业,且作业状态不是在开启匿评之前 + link_to "作品匿评", student_work_index_url_in_org(homework.id, 2), :class => 'c_blue homepagePostSubmit', :title => "开启匿评后不可修改作品" elsif homework.homework_detail_manual && homework.homework_detail_manual.comment_status > 3 link_to "查看作品(#{count})",student_work_index_url_in_org(homework.id, 2), :class => 'c_blue homepagePostSubmit', :title => "匿评已结束" elsif homework.end_time >= Time.now && work.user_id == User.current.id @@ -3991,14 +3983,14 @@ module ApplicationHelper #获取当前用户在指定作业下提交的作业的集合 def cur_user_works_for_homework homework work = homework.student_works.where("user_id = ? && work_status != 0",User.current).first - if homework.homework_type == 3 - pro = homework.student_work_projects.where("user_id = #{User.current.id}").first - if pro.nil? || pro.student_work_id == "" || pro.student_work_id.nil? - work = nil - else - work = StudentWork.find pro.student_work_id - end - end + # if homework.homework_type == 3 + # pro = homework.student_work_projects.where("user_id = #{User.current.id}").first + # if pro.nil? || pro.student_work_id == "" || pro.student_work_id.nil? + # work = nil + # else + # work = StudentWork.find pro.student_work_id + # end + # end work end #获取当前用户在指定作业下关联的项目的集合 diff --git a/app/helpers/student_work_helper.rb b/app/helpers/student_work_helper.rb index 65703baa7..215ed4ccc 100644 --- a/app/helpers/student_work_helper.rb +++ b/app/helpers/student_work_helper.rb @@ -116,17 +116,9 @@ module StudentWorkHelper myshixun = Myshixun.find work.myshixun_id link_to "继续实战", myshixun_game_path(myshixun.current_task, :myshixun_id => myshixun), :class => "task-btn task-btn-blue fr mr10",:target => "_blank" if myshixun else - if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 && StudentWorksEvaluationDistribution.where("student_work_id = #{work.id}").count > 0 #匿评作业,且作业状态不是在开启匿评之前 - if homework.homework_type != 3 - link_to "匿评作品", student_work_index_url_in_org(homework.id, 2), :class => 'task-btn task-btn-blue fr', :title => "开启匿评后不可修改作品" - else - work_ids = "(" + homework.student_works.has_committed.map(&:id).join(",") + ")" - if User.current.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count > 0 - link_to "匿评作品", student_work_index_url_in_org(homework.id, 2), :class => 'task-btn task-btn-blue fr', :title => "开启匿评后不可修改作品" - else - link_to "查看作品", student_work_path(work), :class => 'task-btn task-btn-blue fr', :title => "匿评开启后提交的作品不参与匿评" - end - end + work_ids = "(" + homework.student_works.has_committed.map(&:id).join(",") + ")" + if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 && User.current.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count > 0 #匿评作业,且作业状态不是在开启匿评之前 + link_to "匿评作品", student_work_index_url_in_org(homework.id, 2), :class => 'task-btn task-btn-blue fr', :title => "开启匿评后不可修改作品" elsif homework.homework_detail_manual && homework.homework_detail_manual.comment_status > 3 link_to "查看作品", student_work_path(work), :class => 'task-btn task-btn-blue fr', :title => "匿评已结束" elsif homework.end_time >= Time.now && work.user_id == User.current.id diff --git a/app/models/major.rb b/app/models/major.rb index 5e521bb78..d24c67efd 100644 --- a/app/models/major.rb +++ b/app/models/major.rb @@ -1,8 +1,33 @@ -class Major < ActiveRecord::Base - belongs_to :first_level_discipline - belongs_to :discipline_category - has_many :major_courses - has_many :shixun_major_courses - has_many :subjects - attr_accessible :major_code, :major_level, :name, :first_level_discipline_id, :discipline_category_id -end +# encoding: utf-8 + class Major < ActiveRecord::Base + belongs_to :first_level_discipline + belongs_to :discipline_category + has_many :major_courses + has_many :shixun_major_courses + has_many :subjects + attr_accessible :major_code, :major_level, :name, :first_level_discipline_id, :discipline_category_id,:support_shixuns,:created_at,:updated_at + # 课程的学科门类 + def major_discipline_category + self.discipline_category ? self.discipline_category.name : '' + end + + # 课程的一级学科 + def major_first_level_discipline + self.first_level_discipline ? self.first_level_discipline.name : '' + end + + # 课程层级 + def major_major_level + type = "" + case self.major_level + when 1 + type = "研究生" + when 2 + type = "本科" + when 3 + type = "专科" + end + type + end + + end diff --git a/app/models/mirror_repository.rb b/app/models/mirror_repository.rb new file mode 100644 index 000000000..bf92b0c08 --- /dev/null +++ b/app/models/mirror_repository.rb @@ -0,0 +1,6 @@ +class MirrorRepository < ActiveRecord::Base + has_many :mirror_update_records, :dependent => :destroy + has_many :mirror_repository_types, :dependent => :destroy + # status: 0 未发布 1 已发布 + attr_accessible :description, :mirrorID, :name, :status, :tag, :main_type, :created_at, :updated_at +end diff --git a/app/models/mirror_repository_type.rb b/app/models/mirror_repository_type.rb new file mode 100644 index 000000000..ff74c4591 --- /dev/null +++ b/app/models/mirror_repository_type.rb @@ -0,0 +1,5 @@ +class MirrorRepositoryType < ActiveRecord::Base + belongs_to :mirror_type + belongs_to :mirror_repository + attr_accessible :mirror_type_id, :mirror_repository_id +end diff --git a/app/models/mirror_type.rb b/app/models/mirror_type.rb new file mode 100644 index 000000000..9d78ce4fb --- /dev/null +++ b/app/models/mirror_type.rb @@ -0,0 +1,5 @@ +class MirrorType < ActiveRecord::Base + belongs_to :user + has_many :mirror_repository_types, :dependent => :destroy + attr_accessible :name, :user_id +end diff --git a/app/models/mirror_update_record.rb b/app/models/mirror_update_record.rb new file mode 100644 index 000000000..9ef160e1a --- /dev/null +++ b/app/models/mirror_update_record.rb @@ -0,0 +1,5 @@ +class MirrorUpdateRecord < ActiveRecord::Base + belongs_to :user + belongs_to :mirror_repository + attr_accessible :newDescription, :newName, :newStatus, :newTag, :newType, :oldDescription, :oldName, :oldStatus, :oldTag, :oldType, :user_id, :mirror_repository_id +end diff --git a/app/models/subject.rb b/app/models/subject.rb index f5f46e7b1..7eb102bf5 100644 --- a/app/models/subject.rb +++ b/app/models/subject.rb @@ -3,11 +3,29 @@ class Subject < ActiveRecord::Base belongs_to :user belongs_to :course_list belongs_to :major - attr_accessible :description, :name, :status, :visits, :user_id, :course_list_id, :major_id + attr_accessible :description, :name, :status, :visits, :user_id, :course_list_id, :major_id, :learning_notes, :introduction has_many :stages, :dependent => :destroy, :order => "stages.id ASC" has_many :stage_shixuns, :dependent => :destroy + def subject_choices + count = 0 + self.stage_shixuns.each do |stage_shixun| + shixun = stage_shixun.shixun + count += shixun.challenges.where(:st => [1, 2]).count + end + count + end + + def subject_shixuns + count = 0 + self.stage_shixuns.each do |stage_shixun| + shixun = stage_shixun.shixun + count += shixun.challenges.where(:st => 0).count + end + count + end + def subject_challenges count = 0 self.stage_shixuns.each do |stage_shixun| diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb index e893d9791..223e19917 100644 --- a/app/models/syllabus.rb +++ b/app/models/syllabus.rb @@ -30,7 +30,7 @@ class Syllabus < ActiveRecord::Base belongs_to :discipline_category belongs_to :first_level_discipline belongs_to :major - attr_accessible :description, :user_id, :title, :eng_name, :syllabus_type, :credit, :hours, :theory_hours, :practice_hours, :applicable_major, :pre_course, :major_level, :discipline_category_id, :first_level_discipline_id, :major_id + attr_accessible :description, :user_id, :title, :eng_name, :syllabus_type, :credit, :hours, :theory_hours, :practice_hours, :applicable_major, :pre_course, :major_level, :discipline_category_id, :first_level_discipline_id, :major_id,:support_shixuns safe_attributes 'title','user', 'description', 'eng_name', 'syllabus_type', 'credit', 'hours', 'theory_hours', 'practice_hours', 'credit', 'applicable_major', 'pre_course', 'major_level', 'discipline_category_id', "first_level_discipline_id" validates :title, :user_id, presence: true diff --git a/app/views/courses/_courseList.html.erb b/app/views/courses/_courseList.html.erb index cdd07a2bd..60214c4cd 100644 --- a/app/views/courses/_courseList.html.erb +++ b/app/views/courses/_courseList.html.erb @@ -34,12 +34,12 @@ <% syMembers = sy.members.count %> <% syResource = visable_attachemnts_incourse(sy) %> <% syHome = visable_course_homework(sy) %> - <%= syMembers %> + <%= syMembers %> <% if syResource.count > 0 %> - <%= syResource.count %> + <%= syResource.count %> <% end %> <% if syHome > 0 %> - <%= syHome %> + <%= syHome %> <% end %> diff --git a/app/views/layouts/_unlogin_header.html.erb b/app/views/layouts/_unlogin_header.html.erb index da653276b..0951ebac5 100644 --- a/app/views/layouts/_unlogin_header.html.erb +++ b/app/views/layouts/_unlogin_header.html.erb @@ -20,7 +20,7 @@
  • <%#= link_to "帮助中心", "#{Setting.protocol}://#{Setting.host_name}/forums/1/memos/1168", :class => "new-nav-a", :target=>"_blank" %>
  • -->
  • <%= link_to "全部实训", shixuns_path, :class => "new-nav-a font-16" %>
  • -
  • <%= link_to "实训套件", subjects_path, :class => "new-nav-a font-16" %>
  • +
  • <%= link_to "实训课程", subjects_path, :class => "new-nav-a font-16" %>
  • <%= link_to "在线课堂", courses_path, :class => "new-nav-a font-16" %>
  • diff --git a/app/views/layouts/base_management.html.erb b/app/views/layouts/base_management.html.erb index c846cab92..bf1f662a5 100644 --- a/app/views/layouts/base_management.html.erb +++ b/app/views/layouts/base_management.html.erb @@ -9,7 +9,7 @@ <%= favicon %> <%= javascript_heads %> <%= heads_for_theme %> - <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'css/edu-common', 'css/edu-public', 'css/font-awesome', 'css/edu-popup', 'css/magic-check', "css/edu-admin" %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'css/edu-common', 'css/edu-public', 'css/font-awesome', 'css/edu-popup', 'css/magic-check', "css/edu-admin", "css/moduel", "css/taskstyle" %> <%= javascript_include_tag "edu/application",'edu/base_edu', 'baiduTemplate', 'jquery.datetimepicker.js', "edu/management" %> <%= call_hook :view_layouts_base_html_head %> <%= yield :header_tags -%> @@ -28,9 +28,9 @@ <% when 2 %> <%= @sub_type == 1 ? "课程列表" : "班级列表" %> <% when 3 %> - <%= @sub_type == 1 ? "实训列表" :(@sub_type == 2? "已发布的实训":"已关闭的实训") %> + <%= @sub_type == 1 ? "实训列表" :(@sub_type == 2 ? "已发布的实训": (@sub_type == 3 ? "已关闭的实训": "镜像管理")) %> <% when 4 %> - <%= @sub_type == 1 ? "实训套件" : "已发布实训套件" %> + <%= @sub_type == 1 ? "实训课程" : "已发布实训套件" %> <% when 5 %> 竞赛 <% when 6 %> @@ -63,9 +63,10 @@
  • <%= link_to "实训列表", shixuns_managements_path %>
  • <%= link_to "已发布的实训", publish_shixuns_managements_path %>
  • <%= link_to "已关闭的实训", close_shixuns_managements_path %>
  • + -
  • 实训套件+ +
  • 实训课程+