课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %>
+diff --git a/Gemfile b/Gemfile index 57e9d17f7..8033bf210 100644 --- a/Gemfile +++ b/Gemfile @@ -75,7 +75,7 @@ group :development, :test do gem 'pry-byebug' gem "test-unit", "~>3.0" end - # gem 'rspec-rails', '~> 3.0' + gem 'rspec-rails', '~> 3.0' gem 'factory_girl_rails' end diff --git a/app/assets/javascripts/homework_bank.js.coffee b/app/assets/javascripts/homework_bank.js.coffee new file mode 100644 index 000000000..761567942 --- /dev/null +++ b/app/assets/javascripts/homework_bank.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ diff --git a/app/assets/stylesheets/homework_bank.css.scss b/app/assets/stylesheets/homework_bank.css.scss new file mode 100644 index 000000000..d8be9e5ef --- /dev/null +++ b/app/assets/stylesheets/homework_bank.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the HomeworkBank controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/homework_bank_controller.rb b/app/controllers/homework_bank_controller.rb new file mode 100644 index 000000000..208def604 --- /dev/null +++ b/app/controllers/homework_bank_controller.rb @@ -0,0 +1,233 @@ +class HomeworkBankController < ApplicationController + before_filter :require_login, :only => [:index, :show, :new, :create, :edit, :update, :destroy, :destroy_all, :choose_user_course, :send_h_bank_to_course] + before_filter :find_homework_bank, :only => [:show, :edit, :update, :destroy] + + def index + @order,@b_sort = params[:order] || "updated_at",params[:sort] || "desc" + @user = User.current + @r_sort = @b_sort == "desc" ? "asc" : "desc" + @search = params[:search] + if(params[:type].blank? || params[:type] == "1") #我的题库 + @homeworks = @user.homework_banks.where("name like ?", "%#{@search}%") + elsif params[:type] == "2" #公共题库 + @homeworks = HomeworkBank.where(:is_public => true).where("name like ?", "%#{@search}%") + end + if params[:property] + @property = params[:property].to_i + @homeworks = @homeworks.where(:homework_type => params[:property].to_i) + end + @homeworks = @homeworks.reorder("#{@order} #{@b_sort}") + @type = params[:type] ? params[:type] : '1' + @limit = 15 + @is_remote = true + @hw_count = @homeworks.count + @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 + @offset ||= @hw_pages.offset + @homeworks = paginateHelper @homeworks,15 + respond_to do |format| + format.js + format.html {render :layout => 'base_edu'} + end + end + + def show + @is_admin = User.current == @homework.user || User.current.admin? + respond_to do |format| + format.html {render :layout => 'base_edu'} + end + end + + def new + @homework_type = params[:homework_type].to_i + @homework = HomeworkBank.new + respond_to do |format| + format.html{render :layout => 'base_edu'} + end + end + + # 新建实训作业 + def shixuns + search = params[:search] + @homework = HomeworkBank.new + @shixuns = Shixun.where(:authentication => 1).where("name like ?", "%#{search}%") + @shixuns_count = @shixuns.count + @limit = 10 + @is_remote = true + @shixun_pages = Paginator.new @shixuns_count, @limit, params['page'] || 1 + @offset ||= @shixun_pages.offset + @shixuns = paginateHelper @shixuns, @limit + respond_to do |format| + format.js + end + end + + def create + if params[:homework_bank] || params[:shixun_homework] + homework = HomeworkBank.new + if params[:shixun_homework] + shixun = Shixun.find(params[:shixun_homework]) + homework.name = shixun.name + homework.description = shixun.description + else + homework.name = params[:homework_bank][:name] + homework.description = params[:homework_bank][:description] + homework.reference_answer = params[:homework_bank][:reference_answer] + homework.save_attachments(params[:attachments]) + render_attachment_warning_if_needed(homework) + end + homework.is_public = 0 + homework.quotes = 0 + homework.homework_type = params[:shixun_homework] ? 4 : (params[:homework_type].to_i || 1) + homework.user_id = User.current.id + homework.syllabus_id = params[:syllabus_id] if params[:syllabus_id] && params[:syllabus_id] != '0' + + #编程作业相关属性 + if homework.homework_type == 2 + homework.language = params[:language_type].to_i + + sample_inputs = params[:sample][:input] + if Array === sample_inputs + sample_inputs.each_with_index do |val, i| + homework.homework_bank_samples << HomeworkBankSample.new( + input: val, + output: params[:sample][:output][i] + ) + end + end + + inputs = params[:program][:input] + if Array === inputs + inputs.each_with_index do |val, i| + homework.homework_bank_tests << HomeworkBankTest.new( + input: val, + output: params[:program][:output][i] + ) + end + end + end + + #分组作业 + if homework.homework_type == 3 + homework.min_num = params[:min_num].to_i + homework.max_num = params[:max_num].to_i + end + + if homework.save + if homework.homework_type == 4 + HomeworkBankShixun.create(:homework_bank_id => homework.id, :shixun_id => shixun.id) + end + redirect_to homework_bank_path(homework) + end + end + end + + def edit + @homework_type = @homework.homework_type + respond_to do |format| + format.html{render :layout => 'base_edu'} + end + end + + def update + if params[:homework_bank] + @homework.name = params[:homework_bank][:name] + @homework.description = params[:homework_bank][:description] + @homework.reference_answer = params[:homework_bank][:reference_answer] + @homework.syllabus_id = params[:syllabus_id] ? (params[:syllabus_id] == '0' ? nil : params[:syllabus_id].to_i) : nil + @homework.save_attachments(params[:attachments]) + render_attachment_warning_if_needed(@homework) + + #编程作业相关属性 + if @homework.homework_type == 2 + @homework.language = params[:language_type].to_i if params[:language_type] + + @homework.homework_bank_samples.delete_all if params[:sample] + sample_inputs = params[:sample][:input] if params[:sample] + if Array === sample_inputs + sample_inputs.each_with_index do |val, i| + @homework.homework_bank_samples << HomeworkBankSample.new( + input: val, + output: params[:sample][:output][i] + ) + end + end + + @homework.homework_bank_tests.delete_all if params[:program] + inputs = params[:program][:input] if params[:program] + if Array === inputs + inputs.each_with_index do |val, i| + @homework.homework_bank_tests << HomeworkBankTest.new( + input: val, + output: params[:program][:output][i] + ) + end + end + end + + #分组作业 + if @homework.homework_type == 3 + @homework.min_num = params[:min_num].to_i if params[:min_num] + @homework.max_num = params[:max_num].to_i if params[:max_num] + end + + if @homework.save + redirect_to homework_bank_path(@homework) + end + end + end + + def destroy + @homework.homework_commons.update_all(:homework_bank_id => nil) + @homework.destroy + redirect_to homework_bank_index_path() + end + + def destroy_all + if params[:check_homework_bank] && !params[:check_homework_bank].blank? + params[:check_homework_bank].each do |hb_id| + homework = HomeworkBank.find hb_id + if homework && homework.user == User.current + HomeworkCommon.where(:homework_bank_id => homework.id).update_all(:homework_bank_id => nil) + homework.destroy + end + end + end + redirect_to homework_bank_index_path + end + + def choose_user_course + if !params[:search].nil? + search = "%#{params[:search].to_s.strip.downcase}%" + @courses = User.current.courses.where("is_delete = 0 and is_end = 0 and (#{Course.table_name}.id = #{params[:search].to_i } or #{Course.table_name}.name like :p)",:p=>search).select{ |course| User.current.has_teacher_role(course)} + else + @courses = User.current.courses.where("is_delete = 0 and is_end = 0").select{ |course| User.current.has_teacher_role(course)} + end + @homework_ids = params[:check_homework_bank] if params[:check_homework_bank] + @search = params[:search] + respond_to do |format| + format.js + end + end + + def send_h_bank_to_course + course = Course.find params[:course_id] + if course + params[:homework_id].each do |homework_id| + homework = HomeworkBank.find homework_id + quote_homework_bank homework, course + end + end + end + + def set_public + @homework.update_attributes(:is_public => true) + redirect_to homework_bank_index_path() + end + + private + def find_homework_bank + @homework = HomeworkBank.find params[:id] + rescue ActiveRecord::RecordNotFound + render_404 + end +end diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 52e80f0d1..9c0b2bebe 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -178,6 +178,8 @@ class HomeworkCommonController < ApplicationController if homework.homework_type != 4 && homework_detail_manual.comment_status == 1 create_works_list homework + elsif homework.homework_type == 4 + HomeworkCommonsShixuns.create(:homework_common_id => homework.id, :shixun_id => shixun.id) end if params[:quotes] && !params[:quotes].blank? @@ -380,7 +382,7 @@ class HomeworkCommonController < ApplicationController def update if params[:homework_common] - is_update = @homework.name != params[:homework_common][:name] || @homework.description != params[:homework_common][:description] + is_update = @homework.name != params[:homework_common][:name] || @homework.description != params[:homework_common][:description] || @homework.reference_answer != params[:homework_common][:reference_answer] if params[:homework_type].to_i == 2 is_update = is_update || params[:language_type] != @homework.homework_detail_programing.language if !is_update && params[:sample] && params[:program] @@ -502,24 +504,25 @@ class HomeworkCommonController < ApplicationController end homework_bank = add_to_homework_bank_f @homework homework_bank.save + if @homework.homework_type == 4 + HomeworkBankShixun.create(:homework_bank_id => homework_bank.id, :shixun_id => @homework.homework_commons_shixuns.shixun_id) + end @homework.update_attributes(:homework_bank_id => homework_bank.id) elsif params[:type].to_i == 2 homework_bank = HomeworkBank.where(:id => @homework.homework_bank_id).first if homework_bank - homework_bank.update_attributes(:name => @homework.name, :description => @homework.description, :homework_type => @homework.homework_type) + homework_bank.update_attributes(:name => @homework.name, :description => @homework.description, :homework_type => @homework.homework_type, :reference_answer => @homework.reference_answer) if @homework.homework_type == 2 && @homework.homework_detail_programing homework_bank.update_attributes(:language => @homework.homework_detail_programing.language) homework_bank.homework_bank_tests.destroy_all @homework.homework_tests.each_with_index do |homework_test| homework_bank.homework_bank_tests << HomeworkBankTest.new( - test_type: 1, input: homework_test.input, output: homework_test.output ) end @homework.homework_samples.each_with_index do |homework_test| - homework_bank.homework_bank_tests << HomeworkBankTest.new( - test_type: 0, + homework_bank.homework_bank_samples << HomeworkBankSample.new( input: homework_test.input, output: homework_test.output ) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index eaf3fa298..eabedeb7a 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1775,6 +1775,8 @@ module ApplicationHelper title << "酷得网 - 互联网教学实训平台" elsif @course title << (@course.name.nil? ? "智能课堂" : @course.name) + elsif params[:controller] == "homework_bank" + title << ("智能课堂") elsif params[:controller] == "courses" && params[:action] == "index" title << ("智能课堂") elsif @contest @@ -4569,19 +4571,18 @@ end def add_to_homework_bank_f homework homework_bank = HomeworkBank.new(:name => homework.name, :description => homework.description, :user_id => homework.user_id, :homework_type => homework.homework_type, - :quotes => 1, :is_public => homework.course.is_public, :applicable_syllabus => homework.course.syllabus.title, :homework_common_id => homework.id) + :quotes => 1, :is_public => homework.course.is_public, :applicable_syllabus => homework.course.syllabus.title, :homework_common_id => homework.id, + :reference_answer => homework.reference_answer, :syllabus_id => homework.course.syllabus_id) if homework.homework_type == 2 && homework.homework_detail_programing homework_bank.language = homework.homework_detail_programing.language homework.homework_tests.each_with_index do |homework_test| homework_bank.homework_bank_tests << HomeworkBankTest.new( - test_type: 1, input: homework_test.input, output: homework_test.output ) end homework.homework_samples.each_with_index do |homework_test| - homework_bank.homework_bank_tests << HomeworkBankTest.new( - test_type: 0, + homework_bank.homework_bank_samples << HomeworkBankSample.new( input: homework_test.input, output: homework_test.output ) @@ -4864,3 +4865,75 @@ def set_final_score homework,student_work end end + +def quote_resource_bank resource, course + atta = Attachment.new(:filename => resource.filename, :disk_filename => resource.disk_filename, :filesize => resource.filesize, :digest => resource.digest, :downloads => 0, :is_publish => 0, + :author_id => User.current.id, :description => resource.description, :disk_directory => resource.disk_directory, :is_public => 0, :copy_from => resource.copy_from.nil? ? resource.id : resource.copy_from, + :quotes => 0, :resource_bank_id => resource.id, :created_on => Time.now, :content_type =>resource.content_type) + if course.attachments << atta + # 更新引用次数 + quotes = resource.quotes.to_i + 1 + resource.update_attribute(:quotes, quotes) + end +end + +def quote_homework_bank homework, course + new_homework = HomeworkCommon.new(:name => homework.name, :user_id => User.current.id, :description => homework.description, :homework_type => homework.homework_type, :late_penalty => 0, + :course_id => course.id, :teacher_priority => 1, :anonymous_comment => 1, :quotes => 0, :is_open => 0, :homework_bank_id => homework.id, :score_open => 1, + :anonymous_appeal => 0, :is_public => 0, :reference_answer => homework.reference_answer, :answer_public => 1, :allow_late => 1) + + new_homework.homework_detail_manual = HomeworkDetailManual.new + new_homework_detail_manual = new_homework.homework_detail_manual + new_homework_detail_manual.te_proportion = 1.0 + new_homework_detail_manual.ta_proportion = 0 + new_homework_detail_manual.comment_status = 0 + + new_homework_detail_manual.evaluation_num = 0 + new_homework_detail_manual.absence_penalty = 0 + + if new_homework.homework_type == 2 + new_homework.homework_detail_programing = HomeworkDetailPrograming.new + new_homework.homework_detail_programing.ta_proportion = 0 + new_homework.homework_detail_programing.language = homework.language + homework.homework_bank_tests.each_with_index do |homework_test| + new_homework.homework_tests << HomeworkTest.new( + input: homework_test.input, + output: homework_test.output + ) + end + homework.homework_bank_samples.each_with_index do |homework_test| + new_homework.homework_samples << HomeworkSample.new( + input: homework_test.input, + output: homework_test.output + ) + end + end + + if new_homework.homework_type == 3 + new_homework.homework_detail_group = HomeworkDetailGroup.new + new_homework.homework_detail_group.min_num = homework.min_num + new_homework.homework_detail_group.max_num = homework.max_num + new_homework.homework_detail_group.base_on_project = homework.base_on_project + end + + homework.attachments.each do |attachment| + att = attachment.copy + att.container_id = nil + att.container_type = nil + att.author_id = homework.user_id + att.copy_from = attachment.id + att.save + new_homework.attachments << att + end + + if new_homework.save + if new_homework.homework_type == 4 + HomeworkCommonsShixuns.create(:homework_common_id => new_homework.id, :shixun_id => homework.homework_bank_shixun.shixun_id) + end + new_homework_detail_manual.save if new_homework_detail_manual + new_homework.homework_detail_programing.save if new_homework.homework_detail_programing + new_homework.homework_detail_group.save if new_homework.homework_detail_group + homework.update_column(:quotes, homework.quotes+1) + end +end + diff --git a/app/helpers/homework_bank_helper.rb b/app/helpers/homework_bank_helper.rb new file mode 100644 index 000000000..fbb669ff3 --- /dev/null +++ b/app/helpers/homework_bank_helper.rb @@ -0,0 +1,2 @@ +module HomeworkBankHelper +end diff --git a/app/helpers/owner_type_helper.rb b/app/helpers/owner_type_helper.rb index 56512afcf..9124a4f98 100644 --- a/app/helpers/owner_type_helper.rb +++ b/app/helpers/owner_type_helper.rb @@ -14,4 +14,5 @@ module OwnerTypeHelper CONTEST = 13 HOMEWORKREFERENCEANSWER = 14 STUDENTWORK = 15 + HOMEWORKBANK = 16 end \ No newline at end of file diff --git a/app/helpers/syllabuses_helper.rb b/app/helpers/syllabuses_helper.rb index 70f865ef5..3cf56b047 100644 --- a/app/helpers/syllabuses_helper.rb +++ b/app/helpers/syllabuses_helper.rb @@ -131,60 +131,4 @@ module SyllabusesHelper content end - def quote_resource_bank resource, course - atta = Attachment.new(:filename => resource.filename, :disk_filename => resource.disk_filename, :filesize => resource.filesize, :digest => resource.digest, :downloads => 0, :is_publish => 0, - :author_id => User.current.id, :description => resource.description, :disk_directory => resource.disk_directory, :is_public => 0, :copy_from => resource.copy_from.nil? ? resource.id : resource.copy_from, - :quotes => 0, :resource_bank_id => resource.id, :created_on => Time.now, :content_type =>resource.content_type) - if course.attachments << atta - # 更新引用次数 - quotes = resource.quotes.to_i + 1 - resource.update_attribute(:quotes, quotes) - end - end - - def quote_homework_bank homework, course - new_homework = HomeworkCommon.new(:name => homework.name, :user_id => User.current.id, :description => homework.description, :homework_type => homework.homework_type, :late_penalty => 0, - :course_id => course.id, :teacher_priority => 1, :anonymous_comment => 1, :quotes => 0, :is_open => 0, - :homework_bank_id => homework.id, :score_open => 1, :anonymous_appeal => 0) - - new_homework.homework_detail_manual = HomeworkDetailManual.new - new_homework_detail_manual = new_homework.homework_detail_manual - new_homework_detail_manual.ta_proportion = new_homework.homework_type == 2 ? 0.4 : 1.0 - new_homework_detail_manual.comment_status = 0 - new_homework_detail_manual.evaluation_num = 3 - new_homework_detail_manual.absence_penalty = 0 - - if new_homework.homework_type == 2 - new_homework.homework_detail_programing = HomeworkDetailPrograming.new - new_homework.homework_detail_programing.ta_proportion = 0.6 - new_homework.homework_detail_programing.language = homework.language - homework.homework_bank_tests.each_with_index do |homework_test| - if homework_test.test_type - new_homework.homework_tests << HomeworkTest.new( - input: homework_test.input, - output: homework_test.output - ) - else - new_homework.homework_samples << HomeworkSample.new( - input: homework_test.input, - output: homework_test.output - ) - end - end - end - - if new_homework.homework_type == 3 - new_homework.homework_detail_group = HomeworkDetailGroup.new - new_homework.homework_detail_group.min_num = homework.min_num - new_homework.homework_detail_group.max_num = homework.max_num - new_homework.homework_detail_group.base_on_project = homework.base_on_project - end - - if new_homework.save - new_homework_detail_manual.save if new_homework_detail_manual - new_homework.homework_detail_programing.save if new_homework.homework_detail_programing - new_homework.homework_detail_group.save if new_homework.homework_detail_group - homework.update_column(:quotes, homework.quotes+1) - end - end end diff --git a/app/models/homework_bank.rb b/app/models/homework_bank.rb index 0f89c74d9..6cd699bbd 100644 --- a/app/models/homework_bank.rb +++ b/app/models/homework_bank.rb @@ -2,7 +2,11 @@ class HomeworkBank < ActiveRecord::Base # attr_accessible :title, :body belongs_to :user - has_many :homework_bank_tests + belongs_to :syllabus + has_many :homework_bank_tests, :dependent => :destroy + has_many :homework_bank_samples, :dependent => :destroy + has_many :homework_commons + has_one :homework_bank_shixun acts_as_attachable def language_name diff --git a/app/models/homework_bank_sample.rb b/app/models/homework_bank_sample.rb new file mode 100644 index 000000000..7b64f93a9 --- /dev/null +++ b/app/models/homework_bank_sample.rb @@ -0,0 +1,4 @@ +class HomeworkBankSample < ActiveRecord::Base + belongs_to :homework_bank + attr_accessible :input, :output, :homework_bank_id +end diff --git a/app/models/homework_bank_shixun.rb b/app/models/homework_bank_shixun.rb new file mode 100644 index 000000000..3bec23fcd --- /dev/null +++ b/app/models/homework_bank_shixun.rb @@ -0,0 +1,5 @@ +class HomeworkBankShixun < ActiveRecord::Base + belongs_to :homework_bank + belongs_to :shixun + attr_accessible :homework_bank_id, :shixun_id +end diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb index 80d24ba5a..42af92576 100644 --- a/app/models/syllabus.rb +++ b/app/models/syllabus.rb @@ -20,6 +20,7 @@ class Syllabus < ActiveRecord::Base belongs_to :user has_many :courses + has_many :homework_banks has_many :reference_materials, :dependent => :destroy has_many :syllabus_update_records, :dependent => :destroy has_many :journals_for_messages, :as => :jour, :dependent => :destroy diff --git a/app/views/homework_bank/_homework_bank_list.html.erb b/app/views/homework_bank/_homework_bank_list.html.erb new file mode 100644 index 000000000..e47254228 --- /dev/null +++ b/app/views/homework_bank/_homework_bank_list.html.erb @@ -0,0 +1,84 @@ +
共 <%= @hw_count %>个搜索结果
+ <%= link_to '引用次数排序', homework_bank_index_path(:type => @type, :order => "quotes", :search => @search, :sort => @r_sort, :property=>@property), :class => "fr mr15 #{@order == 'quotes' ? 'color-blue' : ''}", :remote => true %> + | + <%= link_to '更新时间排序', homework_bank_index_path(:type => @type, :order => "updated_at", :search => @search, :sort => @r_sort, :property=>@property), :class => "fr #{@order == 'updated_at' ? 'color-blue' : ''}", :remote => true %> ++ <%= link_to '全部', homework_bank_index_path(:type => @type), :class => 'edu-filter-cir-grey mr5 active', :id => 'homework_bank_pro_0', :remote => true %> + <%= link_to '编程', homework_bank_index_path(:type => @type, :property => 2), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_2', :remote => true %> + <%= link_to '普通', homework_bank_index_path(:type => @type, :property => 1), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_1', :remote => true %> + <%= link_to '分组', homework_bank_index_path(:type => @type, :property => 3), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_3', :remote => true %> + <%= link_to '实训', homework_bank_index_path(:type => @type, :property => 4), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_4', :remote => true %> + <%#= link_to '试卷', homework_bank_path(:type => @type, :property => 5), :class => 'edu-filter-cir-grey mr5', :remote => true %> +
+ 新建 + ++ 更新于<%= time_from_now homework.updated_at %> + <%= homework.quotes %> 次引用 + <%= StudentWork.where(:is_delete => 0, :work_status => [1, 2, 3], :homework_common_id => homework.homework_commons.map(&:id)).count %> 次答题 + <% if homework.syllabus_id && homework.syllabus.major_level %> + <% syllabus = homework.syllabus %> + + <%= syllabus.syllabus_major_level %> - <%= syllabus.syllabus_discipline_category %> - <%= syllabus.syllabus_first_level_discipline %> - <%= syllabus.title %> + + <% end %> +
+<%= edit_mode ? '编辑' : '新建' %>普通作业
+课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %>
+<%= edit_mode ? '编辑' : '新建' %>分组作业
+课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %>
+<%= edit_mode ? '编辑' : '新建' %>编程作业
+课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %>
+| 实训名称 | +导师姓名 | +学员数 | +
|---|---|---|
| + + <%= link_to shixun.name, shixun_path(shixun), :class => "edu-info-dark task-hide fl" %> + | +<%= link_to shixun.owner.try(:show_name), user_path(shixun.owner), :class => "edu-txt-w140 task-hide" %> | +<%= shixun.myshixuns.count %> | +
+ + <%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > <%= link_to '我的题库', homework_bank_index_path() %> > 编辑 +
+ <%= form_for @homework, :html => {:id => 'homework_common_submit_form'} do |f| %> + <% if @homework_type == 1 %> + <%= render :partial => 'new_common_homework', :locals => {:f => f, :edit_mode => true} %> + <% elsif @homework_type == 2 %> + <%= render :partial => 'new_program_homework', :locals => {:f => f, :edit_mode => true} %> + <% elsif @homework_type == 3 %> + <%= render :partial => 'new_group_homework', :locals => {:f => f, :edit_mode => true} %> + <% end %> + <% end %> +<%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > 题库
++ + <%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > <%= link_to '我的题库', homework_bank_index_path() %> > 新建 +
+ <%= labelled_form_for @homework, :url =>{:controller=>'homework_bank',:action => 'create'}, :html => {:id => 'homework_common_submit_form'}, :method => "post" do |f| %> + <% if @homework_type == 1 %> + <%= render :partial => 'new_common_homework', :locals => {:f => f, :edit_mode => false} %> + <% elsif @homework_type == 2 %> + <%= render :partial => 'new_program_homework', :locals => {:f => f, :edit_mode => false} %> + <% elsif @homework_type == 3 %> + <%= render :partial => 'new_group_homework', :locals => {:f => f, :edit_mode => false} %> + <% end %> + <% end %> ++ + <%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > <%= @homework.user == User.current ? link_to('我的题库', homework_bank_index_path()) : link_to('公共题库', homework_bank_index_path(:type => 2)) %>
++ <% unless @homework.is_public %> + + <% end %> + <%= @homework.name %> +
+ <%= link_to '返回', @homework.user == User.current ? homework_bank_index_path() : homework_bank_index_path(:type => 2), :class => 'fr font-12 mr15 mt3 link-color-grey' %> +分组要求
+分组人数: <%= @homework.min_num %> - <%= @homework.max_num %> 人
+ 注:任一成员都可以提交作品,提交作品时需要关联同组成员,组内成员作品共享。 +输入输出样例:<%= samples.count %> 组
+<%=sample.input.blank? ? " " : sample.input %>+
<%=sample.output.blank? ? " " : sample.output %>+
测试集:<%=@homework.homework_bank_tests.count %> 组
+| 序号 | +测试集输入 | +测试集输出 | +
|---|---|---|
| <%=i+1 %> | +
+ <%=test.input.blank? ? " " : test.input %> |
+
+ <%=test.output.blank? ? " " : test.output %> |
+
+ 暂未设置参考答案 ~
+ <% end %> +
- 暂未设置参考答案 ~
- <% end %> +<% if @is_teacher || (@homework.answer_public && @homework.homework_detail_manual.comment_status > 2) %> +
+ 暂未设置参考答案 ~
+ <% end %> +