Merge remote-tracking branch 'origin/szzh' into guange_homework
This commit is contained in:
commit
37e1b6d2a1
|
@ -3,6 +3,8 @@ class HomeworkCommonController < ApplicationController
|
||||||
require 'json'
|
require 'json'
|
||||||
require "base64"
|
require "base64"
|
||||||
layout "base_courses"
|
layout "base_courses"
|
||||||
|
|
||||||
|
include StudentWorkHelper
|
||||||
before_filter :find_course, :only => [:index,:new,:create,:next_step]
|
before_filter :find_course, :only => [:index,:new,:create,:next_step]
|
||||||
before_filter :find_homework, :only => [:edit,:update,:alert_anonymous_comment,:start_anonymous_comment,:stop_anonymous_comment,:destroy]
|
before_filter :find_homework, :only => [:edit,:update,:alert_anonymous_comment,:start_anonymous_comment,:stop_anonymous_comment,:destroy]
|
||||||
before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment]
|
before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment]
|
||||||
|
@ -18,265 +20,147 @@ class HomeworkCommonController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#新建作业,在个人作业列表创建作业
|
||||||
def new
|
def new
|
||||||
@homework_type = "1"
|
render_404
|
||||||
|
# @homework_type = "1"
|
||||||
@homework = HomeworkCommon.new
|
#
|
||||||
@homework.safe_attributes = params[:homework_common]
|
# @homework = HomeworkCommon.new
|
||||||
@homework.late_penalty = 2
|
# @homework.safe_attributes = params[:homework_common]
|
||||||
@homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
|
# @homework.late_penalty = 2
|
||||||
@homework.publish_time = Time.now.strftime('%Y-%m-%d')
|
# @homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
|
||||||
|
# @homework.publish_time = Time.now.strftime('%Y-%m-%d')
|
||||||
if @homework_type == "1"
|
#
|
||||||
#匿评作业相关属性
|
# if @homework_type == "1"
|
||||||
@homework_detail_manual = HomeworkDetailManual.new
|
# #匿评作业相关属性
|
||||||
@homework_detail_manual.ta_proportion = 0.6
|
# @homework_detail_manual = HomeworkDetailManual.new
|
||||||
@homework_detail_manual.absence_penalty = 2
|
# @homework_detail_manual.ta_proportion = 0.6
|
||||||
@homework_detail_manual.evaluation_num = 3
|
# @homework_detail_manual.absence_penalty = 2
|
||||||
@homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
|
# @homework_detail_manual.evaluation_num = 3
|
||||||
@homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
|
# @homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
|
||||||
@homework.homework_detail_manual = @homework_detail_manual
|
# @homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
|
||||||
elsif @homework_type == "2"
|
# @homework.homework_detail_manual = @homework_detail_manual
|
||||||
#编程作业相关属性
|
# elsif @homework_type == "2"
|
||||||
@homework_detail_programing = HomeworkDetailPrograming.new
|
# #编程作业相关属性
|
||||||
@homework.homework_detail_programing = @homework_detail_programing
|
# @homework_detail_programing = HomeworkDetailPrograming.new
|
||||||
end
|
# @homework.homework_detail_programing = @homework_detail_programing
|
||||||
respond_to do |format|
|
# end
|
||||||
format.html
|
# respond_to do |format|
|
||||||
end
|
# format.html
|
||||||
end
|
|
||||||
|
|
||||||
#新建作业下一步
|
|
||||||
def next_step
|
|
||||||
@homework_type = params[:homework_common_type]
|
|
||||||
|
|
||||||
@homework = HomeworkCommon.new
|
|
||||||
@homework.safe_attributes = params[:homework_common]
|
|
||||||
@homework.late_penalty = 2
|
|
||||||
@homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
|
|
||||||
@homework.publish_time = Time.now.strftime('%Y-%m-%d')
|
|
||||||
|
|
||||||
if @homework_type == "1"
|
|
||||||
#匿评作业相关属性
|
|
||||||
@homework_detail_manual = HomeworkDetailManual.new
|
|
||||||
@homework_detail_manual.ta_proportion = 0.6
|
|
||||||
@homework_detail_manual.absence_penalty = 2
|
|
||||||
@homework_detail_manual.evaluation_num = 3
|
|
||||||
@homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
|
|
||||||
@homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
|
|
||||||
@homework.homework_detail_manual = @homework_detail_manual
|
|
||||||
elsif @homework_type == "2"
|
|
||||||
#编程作业相关属性
|
|
||||||
@homework_detail_programing = HomeworkDetailPrograming.new
|
|
||||||
@homework.homework_detail_programing = @homework_detail_programing
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
respond_to do |format|
|
|
||||||
format.html
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def create
|
|
||||||
if params[:homework_common]
|
|
||||||
homework = HomeworkCommon.new
|
|
||||||
homework.name = params[:homework_common][:name]
|
|
||||||
homework.description = params[:homework_common][:description]
|
|
||||||
homework.end_time = params[:homework_common][:end_time]
|
|
||||||
homework.publish_time = params[:homework_common][:publish_time]
|
|
||||||
homework.homework_type = params[:homework_common][:homework_type]
|
|
||||||
homework.late_penalty = params[:late_penalty]
|
|
||||||
homework.user_id = User.current.id
|
|
||||||
homework.course_id = @course.id
|
|
||||||
|
|
||||||
homework.save_attachments(params[:attachments])
|
|
||||||
render_attachment_warning_if_needed(homework)
|
|
||||||
|
|
||||||
if homework.homework_type == 2
|
|
||||||
homework_detail_programing = HomeworkDetailPrograming.new
|
|
||||||
homework_detail_programing.language = params[:language]
|
|
||||||
homework_detail_programing.standard_code = params[:standard_code]
|
|
||||||
homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
|
||||||
question = {title:homework.name,content:homework.description}
|
|
||||||
question[:input] = []
|
|
||||||
question[:output] = []
|
|
||||||
if params[:input] && params[:output] && params[:result]
|
|
||||||
params[:input].each do |k,v|
|
|
||||||
if params[:output].include? k
|
|
||||||
homework_test = HomeworkTest.new
|
|
||||||
homework_test.input = v
|
|
||||||
homework_test.output = params[:output][k]
|
|
||||||
homework_test.result = params[:result][k]
|
|
||||||
homework_test.error_msg = params[:error_msg]
|
|
||||||
homework.homework_tests << homework_test
|
|
||||||
question[:input] << homework_test.input
|
|
||||||
question[:output] << homework_test.output
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# uri = URI('http://192.168.80.21:8080/api/questions.json')
|
|
||||||
# body = question.to_json
|
|
||||||
# res = Net::HTTP.new(uri.host, uri.port).start do |client|
|
|
||||||
# request = Net::HTTP::Post.new(uri.path)
|
|
||||||
# request.body = body
|
|
||||||
# request["Content-Type"] = "application/json"
|
|
||||||
# client.request(request)
|
|
||||||
# end
|
# end
|
||||||
# result = JSON.parse(res.body)
|
|
||||||
# homework_detail_programing.question_id = result["id"] if result["status"] && result["status"] == 0
|
|
||||||
|
|
||||||
homework.homework_detail_programing = homework_detail_programing
|
|
||||||
else
|
|
||||||
#匿评作业相关属性
|
|
||||||
homework_detail_manual = HomeworkDetailManual.new
|
|
||||||
homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
|
||||||
homework_detail_manual.comment_status = 1
|
|
||||||
homework_detail_manual.evaluation_start = params[:evaluation_start]
|
|
||||||
homework_detail_manual.evaluation_end = params[:evaluation_end]
|
|
||||||
homework_detail_manual.evaluation_num = params[:evaluation_num]
|
|
||||||
homework_detail_manual.absence_penalty = params[:absence_penalty]
|
|
||||||
homework.homework_detail_manual = homework_detail_manual
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if homework.save
|
#新建作业,在个人作业列表创建作业
|
||||||
homework_detail_programing.save if homework_detail_programing
|
def create
|
||||||
homework_detail_manual.save if homework_detail_manual
|
redirect_to user_homeworks_user_path(User.current.id)
|
||||||
respond_to do |format|
|
# if params[:homework_common]
|
||||||
format.html {
|
# homework = HomeworkCommon.new
|
||||||
flash[:notice] = l(:notice_successful_create)
|
# homework.name = params[:homework_common][:name]
|
||||||
redirect_to homework_common_index_path(:course => @course.id)
|
# homework.description = params[:homework_common][:description]
|
||||||
}
|
# homework.end_time = params[:homework_common][:end_time]
|
||||||
end
|
# homework.publish_time = params[:homework_common][:publish_time]
|
||||||
return
|
# homework.homework_type = params[:homework_common][:homework_type]
|
||||||
end
|
# homework.late_penalty = params[:late_penalty]
|
||||||
end
|
# homework.user_id = User.current.id
|
||||||
|
# homework.course_id = @course.id
|
||||||
respond_to do |format|
|
#
|
||||||
format.html {
|
# homework.save_attachments(params[:attachments])
|
||||||
flash[:notice] = l(:notice_failed_create)
|
# render_attachment_warning_if_needed(homework)
|
||||||
redirect_to new_homework_common_path(:course => @course.id)
|
#
|
||||||
}
|
# if homework.homework_type == 2
|
||||||
end
|
# homework_detail_programing = HomeworkDetailPrograming.new
|
||||||
|
# homework_detail_programing.language = params[:language]
|
||||||
|
# homework_detail_programing.standard_code = params[:standard_code]
|
||||||
|
# homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
||||||
|
# question = {title:homework.name,content:homework.description}
|
||||||
|
# question[:input] = []
|
||||||
|
# question[:output] = []
|
||||||
|
# if params[:input] && params[:output] && params[:result]
|
||||||
|
# params[:input].each do |k,v|
|
||||||
|
# if params[:output].include? k
|
||||||
|
# homework_test = HomeworkTest.new
|
||||||
|
# homework_test.input = v
|
||||||
|
# homework_test.output = params[:output][k]
|
||||||
|
# homework_test.result = params[:result][k]
|
||||||
|
# homework_test.error_msg = params[:error_msg]
|
||||||
|
# homework.homework_tests << homework_test
|
||||||
|
# question[:input] << homework_test.input
|
||||||
|
# question[:output] << homework_test.output
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# # uri = URI('http://192.168.80.21:8080/api/questions.json')
|
||||||
|
# # body = question.to_json
|
||||||
|
# # res = Net::HTTP.new(uri.host, uri.port).start do |client|
|
||||||
|
# # request = Net::HTTP::Post.new(uri.path)
|
||||||
|
# # request.body = body
|
||||||
|
# # request["Content-Type"] = "application/json"
|
||||||
|
# # client.request(request)
|
||||||
|
# # end
|
||||||
|
# # result = JSON.parse(res.body)
|
||||||
|
# # homework_detail_programing.question_id = result["id"] if result["status"] && result["status"] == 0
|
||||||
|
#
|
||||||
|
# homework.homework_detail_programing = homework_detail_programing
|
||||||
|
# else
|
||||||
|
# #匿评作业相关属性
|
||||||
|
# homework_detail_manual = HomeworkDetailManual.new
|
||||||
|
# homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
||||||
|
# homework_detail_manual.comment_status = 1
|
||||||
|
# homework_detail_manual.evaluation_start = params[:evaluation_start]
|
||||||
|
# homework_detail_manual.evaluation_end = params[:evaluation_end]
|
||||||
|
# homework_detail_manual.evaluation_num = params[:evaluation_num]
|
||||||
|
# homework_detail_manual.absence_penalty = params[:absence_penalty]
|
||||||
|
# homework.homework_detail_manual = homework_detail_manual
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# if homework.save
|
||||||
|
# homework_detail_programing.save if homework_detail_programing
|
||||||
|
# homework_detail_manual.save if homework_detail_manual
|
||||||
|
# respond_to do |format|
|
||||||
|
# format.html {
|
||||||
|
# flash[:notice] = l(:notice_successful_create)
|
||||||
|
# redirect_to homework_common_index_path(:course => @course.id)
|
||||||
|
# }
|
||||||
|
# end
|
||||||
|
# return
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# respond_to do |format|
|
||||||
|
# format.html {
|
||||||
|
# flash[:notice] = l(:notice_failed_create)
|
||||||
|
# redirect_to new_homework_common_path(:course => @course.id)
|
||||||
|
# }
|
||||||
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
|
@user = User.current
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html{render :layout => 'new_base_user'}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
|
if params[:homework_common]
|
||||||
@homework.name = params[:homework_common][:name]
|
@homework.name = params[:homework_common][:name]
|
||||||
@homework.description = params[:homework_common][:description]
|
@homework.description = params[:homework_common][:description]
|
||||||
@homework.end_time = params[:homework_common][:end_time]
|
@homework.end_time = params[:homework_common][:end_time] || Time.now
|
||||||
@homework.publish_time = params[:homework_common][:publish_time]
|
@homework.course_id = params[:course_id]
|
||||||
@homework.homework_type = params[:homework_common][:homework_type] if params[:homework_common][:homework_type]
|
|
||||||
unless @homework.late_penalty == params[:late_penalty]
|
|
||||||
@homework.student_works.where("created_at > '#{@homework.end_time} 23:59:59'").each do |student_work|
|
|
||||||
student_work.late_penalty = params[:late_penalty]
|
|
||||||
student_work.save
|
|
||||||
end
|
|
||||||
@homework.late_penalty = params[:late_penalty]
|
|
||||||
end
|
|
||||||
# @homework.course_id = @course.id
|
|
||||||
|
|
||||||
#匿评作业相关属性
|
|
||||||
if @homework.homework_type == 1 && @homework_detail_manual
|
|
||||||
@homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
|
||||||
@homework_detail_manual.evaluation_start = params[:evaluation_start]
|
|
||||||
@homework_detail_manual.evaluation_end = params[:evaluation_end]
|
|
||||||
@homework_detail_manual.evaluation_num = params[:evaluation_num]
|
|
||||||
unless @homework_detail_manual.absence_penalty == params[:absence_penalty]
|
|
||||||
if @homework_detail_manual.comment_status == 3 #当前作业处于匿评结束状态,修改缺评扣分才会修改每个作品应扣分的值
|
|
||||||
work_ids = "(" + @homework.student_works.map(&:id).join(",") + ")"
|
|
||||||
@homework.student_works.each do |student_work|
|
|
||||||
absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids}").count
|
|
||||||
student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0
|
|
||||||
student_work.save
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@homework_detail_manual.absence_penalty = params[:absence_penalty]
|
|
||||||
end
|
|
||||||
elsif @homework.homework_type == 0 #普通作业,缺评扣分为0分,每个作品的缺评扣分改为0分,防止某些作业在结束匿评之后改为普通作业
|
|
||||||
@homework.student_works.where("absence_penalty != 0").each do |student_work|
|
|
||||||
student_work.late_penalty = 0
|
|
||||||
student_work.save
|
|
||||||
end
|
|
||||||
@homework_detail_manual.absence_penalty = 0 if @homework_detail_manual
|
|
||||||
end
|
|
||||||
|
|
||||||
if @homework.homework_type == 2 && @homework_detail_programing #编程作业
|
|
||||||
@homework_detail_programing.language = params[:language]
|
|
||||||
@homework_detail_programing.standard_code = params[:standard_code]
|
|
||||||
@homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
|
||||||
homework_tests = @homework.homework_tests
|
|
||||||
#需要删除的测试
|
|
||||||
ids = homework_tests.map(&:id) - params[:input].keys.map(&:to_i)
|
|
||||||
ids.each do |id|
|
|
||||||
homework_test = HomeworkTest.find id
|
|
||||||
homework_test.destroy if homework_test
|
|
||||||
end
|
|
||||||
if params[:input] && params[:output] && params[:result]
|
|
||||||
params[:input].each do |k,v|
|
|
||||||
if params[:output].include? k
|
|
||||||
homework_test = HomeworkTest.find_by_id k
|
|
||||||
if homework_test #已存在的测试,修改
|
|
||||||
homework_test.input = v
|
|
||||||
homework_test.output = params[:output][k]
|
|
||||||
homework_test.result = params[:result][k]
|
|
||||||
homework_test.error_msg = params[:error_msg]
|
|
||||||
else #不存在的测试,增加
|
|
||||||
homework_test = HomeworkTest.new
|
|
||||||
homework_test.input = v
|
|
||||||
homework_test.output = params[:output][k]
|
|
||||||
homework_test.result = params[:result][k]
|
|
||||||
homework_test.error_msg = params[:error_msg]
|
|
||||||
homework_test.homework_common = @homework
|
|
||||||
end
|
|
||||||
homework_test.save
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
#发送修改作业的请求
|
|
||||||
question = {title:@homework.name,content:@homework.description}
|
|
||||||
question[:input] = []
|
|
||||||
question[:output] = []
|
|
||||||
@homework.homework_tests.each do |test|
|
|
||||||
question[:input] << test.input
|
|
||||||
question[:output] << test.output
|
|
||||||
end
|
|
||||||
# uri = URI("http://192.168.80.21:8080/api/questions/#{@homework_detail_programing.question_id}.json")
|
|
||||||
# body = question.to_json
|
|
||||||
# res = Net::HTTP.new(uri.host, uri.port).start do |client|
|
|
||||||
# request = Net::HTTP::Put.new(uri.path)
|
|
||||||
# request.body = body
|
|
||||||
# request["Content-Type"] = "application/json"
|
|
||||||
# client.request(request)
|
|
||||||
# end
|
|
||||||
# result = JSON.parse(res.body)
|
|
||||||
end
|
|
||||||
|
|
||||||
@homework.save_attachments(params[:attachments])
|
@homework.save_attachments(params[:attachments])
|
||||||
render_attachment_warning_if_needed(@homework)
|
render_attachment_warning_if_needed(@homework)
|
||||||
|
|
||||||
|
#编程作业相关属性
|
||||||
|
if @homework.homework_type == 2
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
if @homework.save
|
if @homework.save
|
||||||
@homework_detail_manual.save if @homework_detail_manual
|
@homework_detail_manual.save if @homework_detail_manual
|
||||||
@homework_detail_programing.save if @homework_detail_programing
|
@homework_detail_programing.save if @homework_detail_programing
|
||||||
respond_to do |format|
|
redirect_to user_homeworks_user_path(User.current.id)
|
||||||
format.html {
|
|
||||||
flash[:notice] = l(:notice_successful_edit)
|
|
||||||
redirect_to homework_common_index_path(:course => @course.id)
|
|
||||||
}
|
|
||||||
end
|
|
||||||
return
|
|
||||||
else
|
|
||||||
respond_to do |format|
|
|
||||||
format.html {
|
|
||||||
flash[:notice] = l(:notice_failed_edit)
|
|
||||||
redirect_to edit_homework_common_path(@homework)
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -284,7 +168,7 @@ class HomeworkCommonController < ApplicationController
|
||||||
def destroy
|
def destroy
|
||||||
if @homework.destroy
|
if @homework.destroy
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {redirect_to homework_common_index_path(:course => @course.id)}
|
format.html {redirect_to user_homeworks_user_path(User.current.id)}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -367,6 +367,19 @@ class UsersController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#修改编程作业
|
||||||
|
def edit_user_commit_homework
|
||||||
|
if User.current.logged?
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
format.html {render :layout => 'new_base_user'}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
render_403
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def user_commit_homework
|
def user_commit_homework
|
||||||
homework = HomeworkCommon.find(params[:homework])
|
homework = HomeworkCommon.find(params[:homework])
|
||||||
student_work = StudentWork.where(homework_common_id: homework.id, user_id: User.current.id).first
|
student_work = StudentWork.where(homework_common_id: homework.id, user_id: User.current.id).first
|
||||||
|
@ -395,8 +408,6 @@ class UsersController < ApplicationController
|
||||||
homework.save_attachments(params[:attachments])
|
homework.save_attachments(params[:attachments])
|
||||||
render_attachment_warning_if_needed(homework)
|
render_attachment_warning_if_needed(homework)
|
||||||
|
|
||||||
#匿评作业相关属性
|
|
||||||
if homework.homework_type == 1
|
|
||||||
homework_detail_manual = HomeworkDetailManual.new
|
homework_detail_manual = HomeworkDetailManual.new
|
||||||
homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
|
||||||
homework_detail_manual.comment_status = 1
|
homework_detail_manual.comment_status = 1
|
||||||
|
@ -405,7 +416,9 @@ class UsersController < ApplicationController
|
||||||
homework_detail_manual.evaluation_num = params[:evaluation_num] || 3
|
homework_detail_manual.evaluation_num = params[:evaluation_num] || 3
|
||||||
homework_detail_manual.absence_penalty = 2
|
homework_detail_manual.absence_penalty = 2
|
||||||
homework.homework_detail_manual = homework_detail_manual
|
homework.homework_detail_manual = homework_detail_manual
|
||||||
else
|
|
||||||
|
#编程作业相关属性
|
||||||
|
if homework.homework_type == 2
|
||||||
homework_detail_programing = HomeworkDetailPrograming.new
|
homework_detail_programing = HomeworkDetailPrograming.new
|
||||||
homework.homework_detail_programing = homework_detail_programing
|
homework.homework_detail_programing = homework_detail_programing
|
||||||
homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
|
||||||
|
|
|
@ -2297,7 +2297,14 @@ module ApplicationHelper
|
||||||
|
|
||||||
#获取匿评相关连接代码
|
#获取匿评相关连接代码
|
||||||
def homework_anonymous_comment homework
|
def homework_anonymous_comment homework
|
||||||
if homework.homework_type == 1 && homework.homework_detail_manual #匿评作业
|
# if homework.homework_type == 1 && homework.homework_detail_manual #匿评作业
|
||||||
|
#
|
||||||
|
# elsif homework.homework_type == 2 && homework.homework_detail_programing #编程作业作业
|
||||||
|
# link = "<span class='fr mr10 pr_join_span ' title='编程作业'>编程作业</span>".html_safe
|
||||||
|
# else
|
||||||
|
# link = "<span class='fr mr10 pr_join_span ' title='未开启匿评作业不可以启动匿评'>启动匿评</span>".html_safe
|
||||||
|
# end
|
||||||
|
|
||||||
if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")
|
if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")
|
||||||
link = "<span class='fr mr10 pr_join_span ' title='作业截止日期之前不可以启动匿评'>启动匿评</span>".html_safe
|
link = "<span class='fr mr10 pr_join_span ' title='作业截止日期之前不可以启动匿评'>启动匿评</span>".html_safe
|
||||||
elsif homework.student_works.count >= 2 #作业份数大于2
|
elsif homework.student_works.count >= 2 #作业份数大于2
|
||||||
|
@ -2312,11 +2319,6 @@ module ApplicationHelper
|
||||||
else
|
else
|
||||||
link = "<span class='fr mr10 pr_join_span ' title='学生提交作业数大于2时才可以启动匿评'>启动匿评</span>".html_safe
|
link = "<span class='fr mr10 pr_join_span ' title='学生提交作业数大于2时才可以启动匿评'>启动匿评</span>".html_safe
|
||||||
end
|
end
|
||||||
elsif homework.homework_type == 2 && homework.homework_detail_programing #编程作业作业
|
|
||||||
link = "<span class='fr mr10 pr_join_span ' title='编程作业'>编程作业</span>".html_safe
|
|
||||||
else
|
|
||||||
link = "<span class='fr mr10 pr_join_span ' title='未开启匿评作业不可以启动匿评'>启动匿评</span>".html_safe
|
|
||||||
end
|
|
||||||
link
|
link
|
||||||
end
|
end
|
||||||
#学生根据传入作业确定显示为编辑作品还是新建作品
|
#学生根据传入作业确定显示为编辑作品还是新建作品
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# encoding: utf-8
|
# encoding: utf-8
|
||||||
|
include UsersHelper
|
||||||
module HomeworkCommonHelper
|
module HomeworkCommonHelper
|
||||||
#迟交扣分下拉框
|
#迟交扣分下拉框
|
||||||
def late_penalty_option
|
def late_penalty_option
|
||||||
|
|
|
@ -1,24 +1,23 @@
|
||||||
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg' %>
|
<script type="text/javascript">
|
||||||
<%= error_messages_for 'homework_common' %>
|
function reset_homework(){
|
||||||
|
$("#homework_name").val("");
|
||||||
<div class="project_r_h">
|
$("#homework_end_time").val("");
|
||||||
<h2 class="project_h2">
|
$("#course_id").val($("#option_select").val());
|
||||||
<%= l(:label_course_homework_edit)%>
|
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => HomeworkCommon.new })%>");
|
||||||
</h2>
|
homework_description_editor.html("");
|
||||||
|
$("#homework_editor").toggle();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<div class="homepageRightBanner mb10">
|
||||||
|
<div class="NewsBannerName">编辑作业</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hwork_new">
|
|
||||||
<%if @homework.homework_type == 2%>
|
|
||||||
<%= form_for @homework do |f| %>
|
|
||||||
<%= render :partial => 'homework_common/homework_detail_programing_form', :locals => { :homework => @homework,:f => f,:edit_mode => true } %>
|
|
||||||
<a href="javascript:void(0)" class="blue_btn fl mr10" onClick="submit_homework('edit_homework_common_<%= @homework.id%>');" >提交</a>
|
|
||||||
<%= link_to '取消',homework_common_index_path(:course => @course.id),:class => 'grey_btn fl'%>
|
|
||||||
<% end%>
|
|
||||||
<% else %>
|
|
||||||
<%= form_for @homework do |f| %>
|
|
||||||
<%= render :partial => 'homework_common/homework_detail_manual_form', :locals => { :homework => @homework,:f => f,:edit_mode => true } %>
|
|
||||||
<a href="javascript:void(0)" class="blue_btn fl mr10" onClick="submit_homework('edit_homework_common_<%= @homework.id%>');" >提交</a>
|
|
||||||
<%= link_to '取消',homework_common_index_path(:course => @course.id),:class => 'grey_btn fl'%>
|
|
||||||
<% end%>
|
|
||||||
<% end%>
|
|
||||||
</div><!--hwork_new end-->
|
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<!-- 老师身份才可以发布作业 -->
|
||||||
|
<div class="HomeWork mb10">
|
||||||
|
<%= form_for @homework do |f| %>
|
||||||
|
<div id="HomeWorkCon">
|
||||||
|
<%= render :partial => 'users/user_homework_form', :locals => { :homework => @homework,:f => f,:edit_mode => true } %>
|
||||||
|
</div>
|
||||||
|
<% end%>
|
||||||
|
</div><!----HomeWork end-->
|
||||||
|
|
|
@ -98,17 +98,17 @@
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<% end%>
|
<% end%>
|
||||||
|
|
||||||
<div class="mt5">
|
<!--div class="mt5">
|
||||||
<span class="tit_fb" style="width: auto;"> 扣分标准:</span>
|
<span class="tit_fb" style="width: auto;"> 扣分标准:</span>
|
||||||
<div class="fl mb5 c_red">
|
<div class="fl mb5 c_red">
|
||||||
<% if homework.homework_type == 1%>
|
<%# if homework.homework_type == 1%>
|
||||||
<%= scoring_rules homework.late_penalty,homework.id,@is_teacher,homework.homework_detail_manual.absence_penalty%>
|
<%#= scoring_rules homework.late_penalty,homework.id,@is_teacher,homework.homework_detail_manual.absence_penalty%>
|
||||||
<% else%>
|
<%# else%>
|
||||||
<%= scoring_rules homework.late_penalty,homework.id,@is_teacher%>
|
<%#= scoring_rules homework.late_penalty,homework.id,@is_teacher%>
|
||||||
<% end%>
|
<%# end%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div-->
|
||||||
|
|
||||||
<span class="fl"><%= l(:label_end_time)%>:<%= homework.end_time%></span>
|
<span class="fl"><%= l(:label_end_time)%>:<%= homework.end_time%></span>
|
||||||
<% if betweentime(homework.end_time) < 0 %>
|
<% if betweentime(homework.end_time) < 0 %>
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="homepageContentContainer">
|
<div class="homepageContentContainer">
|
||||||
|
<!--div class="homepageRightBannerImg"></div-->
|
||||||
|
<div class="cl"></div>
|
||||||
<div class="homepageContent">
|
<div class="homepageContent">
|
||||||
<div class="homepageLeft" id="LSide">
|
<div class="homepageLeft" id="LSide">
|
||||||
<div class="homepagePortraitContainer">
|
<div class="homepagePortraitContainer">
|
||||||
|
|
|
@ -185,18 +185,18 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
<div class="mt5">
|
<!--div class="mt5">
|
||||||
<span class="tit_fb" style="width: auto;"> 扣分标准:</span>
|
<span class="tit_fb" style="width: auto;"> 扣分标准:</span>
|
||||||
<div class="fl mb5 c_red">
|
<div class="fl mb5 c_red">
|
||||||
<% if @homework.homework_type == 1%>
|
<%# if @homework.homework_type == 1%>
|
||||||
<%= scoring_rules @homework.late_penalty,@homework.id,@is_teacher,@homework.homework_detail_manual.absence_penalty%>
|
<%#= scoring_rules @homework.late_penalty,@homework.id,@is_teacher,@homework.homework_detail_manual.absence_penalty%>
|
||||||
<% else%>
|
<%# else%>
|
||||||
<%= scoring_rules @homework.late_penalty,@homework.id,@is_teacher%>
|
<%#= scoring_rules @homework.late_penalty,@homework.id,@is_teacher%>
|
||||||
<% end%>
|
<%# end%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cl"></div>
|
<div class="cl"></div-->
|
||||||
<span class="fl">截止时间:<%= @homework.end_time%></span>
|
<span class="fl">截止时间:<%= @homework.end_time%></span>
|
||||||
<div >
|
<div >
|
||||||
<% if betweentime(@homework.end_time) < 0 %>
|
<% if betweentime(@homework.end_time) < 0 %>
|
||||||
|
|
|
@ -1,17 +1,20 @@
|
||||||
<!-- 此界面只用来新建匿评作业作品 -->
|
<!-- 此界面只用来新建匿评作业作品 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
<%if @homework.homework_type == 1 && @homework.homework_detail_manual.comment_status != 1%>
|
<%if @homework.homework_detail_manual.comment_status != 1%>
|
||||||
$(function(){
|
$(function(){
|
||||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/new_student_work_alert') %>');
|
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/new_student_work_alert') %>');
|
||||||
showModal('ajax-modal', '360px');
|
showModal('ajax-modal', '360px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a href='javascript:' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a href='javascript:' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
$('#ajax-modal').parent().css("top","").css("left","");
|
$('#ajax-modal').parent().css("top","30%").css("left","40%");
|
||||||
$('#ajax-modal').parent().addClass("anonymos_work");
|
$('#ajax-modal').parent().addClass("anonymos_work");
|
||||||
// alert("当前作业已开启匿评,您提交作品后将不会收到任何匿评作品,您的作品也不会被其他用户匿评,如需获得最终成绩,请您联系主讲老师对您的作品单独进行评分");
|
// alert("当前作业已开启匿评,您提交作品后将不会收到任何匿评作品,您的作品也不会被其他用户匿评,如需获得最终成绩,请您联系主讲老师对您的作品单独进行评分");
|
||||||
});
|
});
|
||||||
<% end%>
|
<% end%>
|
||||||
|
|
||||||
|
//匿评弹框取消按钮
|
||||||
|
function clickCanel(){hideModal("#popbox02");}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="homepageRightBanner mb10">
|
<div class="homepageRightBanner mb10">
|
||||||
|
|
|
@ -5,23 +5,22 @@
|
||||||
|
|
||||||
<div class="HomeWorkCon">
|
<div class="HomeWorkCon">
|
||||||
<div>
|
<div>
|
||||||
<input type="text" name="homework_common[name]" id="homework_name" class="InputBox w712" maxlength="255" onfocus="$('#homework_editor').show()" onkeyup="regex_homework_name();" placeholder="请输入作业标题" value="<%= homework.name%>" >
|
<input type="text" name="homework_common[name]" id="homework_name" class="InputBox w701" maxlength="255" onfocus="$('#homework_editor').show()" onkeyup="regex_homework_name();" placeholder="请输入作业标题" value="<%= homework.name%>" >
|
||||||
<p id="homework_name_span" class="c_red mt5"></p>
|
<p id="homework_name_span" class="c_red mt5"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
<div class=" mt10">
|
<div class=" mt10">
|
||||||
<%= link_to "导入作业", user_import_homeworks_user_path(User.current.id),:class => "BlueCirBtn fl mr10",:remote => true%>
|
<%= link_to("导入作业", user_import_homeworks_user_path(User.current.id),:class => "BlueCirBtn fl mr10",:remote => true) unless edit_mode%>
|
||||||
<div class="calendar_div fl">
|
<div class="calendar_div fl">
|
||||||
<input type="text" name="homework_common[end_time]" id="homework_end_time" placeholder="截止日期" class="InputBox fl W120 calendar_input" readonly="readonly" >
|
<input type="text" name="homework_common[end_time]" id="homework_end_time" placeholder="截止日期" class="InputBox fl W120 calendar_input" readonly="readonly" value="<%= homework.end_time%>" >
|
||||||
<%= calendar_for('homework_end_time')%>
|
<%= calendar_for('homework_end_time')%>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<p id="homework_end_time_span" class="c_red mt5"></p>
|
<p id="homework_end_time_span" class="c_red mt5"></p>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div id="homework_editor" style="display: none">
|
<div id="homework_editor" style="display: <%= edit_mode ? 'block':'none'%>">
|
||||||
<div class="mt10">
|
<div class="mt10">
|
||||||
<% if edit_mode %>
|
<% if edit_mode %>
|
||||||
<%= f.kindeditor :description, :editor_id => 'homework_description_editor', :height => "150px", :owner_id => homework.id, :owner_type => OwnerTypeHelper::HOMEWORKCOMMON %>
|
<%= f.kindeditor :description, :editor_id => 'homework_description_editor', :height => "150px", :owner_id => homework.id, :owner_type => OwnerTypeHelper::HOMEWORKCOMMON %>
|
||||||
|
@ -34,20 +33,27 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="mt10">
|
<div class="mt10">
|
||||||
<%= select_tag :course_id, options_for_select(get_as_teacher_courses(User.current), homework.course_id), {:class => "InputBox w720",:value => "请选择发布作业的课程"} %>
|
<%= select_tag :course_id, options_for_select(get_as_teacher_courses(User.current), homework.course_id), {:class => "InputBox w709",:value => "请选择发布作业的课程"} %>
|
||||||
</div>
|
</div>
|
||||||
<p id="homework_course_id_span" class="c_red mt5"></p>
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
<div id="homework_attachments">
|
<div id="homework_attachments">
|
||||||
<%= render :partial => 'users/user_homework_attachment', :locals => {:container => homework, :has_program=>true} %>
|
<!-- 编辑作业 && 作业类型为匿评作业 时没有编程选项-->
|
||||||
|
<%= render :partial => 'users/user_homework_attachment', :locals => {:container => homework, :has_program=>!(edit_mode && homework.homework_type == 1)} %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="mt5">
|
<div class="mt5">
|
||||||
|
<% if edit_mode %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('edit_homework_common_<%= homework.id%>');">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<%= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%>
|
||||||
|
<% else %>
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('new_homework_common');">发送</a>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('new_homework_common');">发送</a>
|
||||||
<span class="fr mr10 mt3">或</span>
|
<span class="fr mr10 mt3">或</span>
|
||||||
<a href="javascript:void(0);" class=" fr mr10 mt3" onclick="reset_homework();">取消</a>
|
<a href="javascript:void(0);" class=" fr mr10 mt3" onclick="reset_homework();">取消</a>
|
||||||
|
<% end %>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<input type="hidden" value="<%= @type%>" name="type" id="user_activities_type">
|
<input type="hidden" value="<%= @type%>" name="type" id="user_activities_type">
|
||||||
<div class="homepageRightBanner">
|
<div class="homepageRightBanner">
|
||||||
<div class="NewsBannerName">最新动态</div>
|
<div class="NewsBannerName">最新动态</div>
|
||||||
<ul class="resourcesSelect">
|
<ul class="resourcesSelect">
|
||||||
<li class="resourcesSelected"><a href="javascript:void(0);" class="resourcesIcon"></a>
|
<li class="resourcesSelected"><a href="javascript:void(0);" class="resourcesIcon"></a>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities,:page => 0,:type => @type} %>
|
<%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities,:page => 0,:type => @type} %>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
$("#homework_name").val("");
|
$("#homework_name").val("");
|
||||||
$("#homework_end_time").val("");
|
$("#homework_end_time").val("");
|
||||||
$("#course_id").val($("#option_select").val());
|
$("#course_id").val($("#option_select").val());
|
||||||
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => HomeworkCommon.new })%>");
|
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => HomeworkCommon.new,:has_program => true })%>");
|
||||||
homework_description_editor.html("");
|
homework_description_editor.html("");
|
||||||
$("#homework_editor").toggle();
|
$("#homework_editor").toggle();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,3 +3,5 @@ closeModal();
|
||||||
$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>');
|
$("#resources_list").html('<%= escape_javascript( render :partial => 'resources_list' ,:locals=>{ :attachments => @attachments})%>');
|
||||||
//这里不能将翻页的更新
|
//这里不能将翻页的更新
|
||||||
$("#res_all_count").html(parseInt($("#res_all_count").html())+1);
|
$("#res_all_count").html(parseInt($("#res_all_count").html())+1);
|
||||||
|
$("#res_count").html(0);
|
||||||
|
$("#checkboxAll").attr('checked',false);
|
|
@ -3,6 +3,6 @@ hideModal('#coursesChoosePopup');
|
||||||
$("#homework_name").val("<%= @homework.name%>");
|
$("#homework_name").val("<%= @homework.name%>");
|
||||||
$("#homework_end_time").val("<%= @homework.end_time%>");
|
$("#homework_end_time").val("<%= @homework.end_time%>");
|
||||||
$("#course_id").val("<%= @homework.course_id%>");
|
$("#course_id").val("<%= @homework.course_id%>");
|
||||||
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => @homework })%>");
|
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => @homework,:has_program => true })%>");
|
||||||
homework_description_editor.html("<%= escape_javascript(@homework.description.html_safe)%>");
|
homework_description_editor.html("<%= escape_javascript(@homework.description.html_safe)%>");
|
||||||
$("#homework_editor").show();
|
$("#homework_editor").show();
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
class AboutProgramingHomework < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
HomeworkCommon.where(:homework_type => 2).each do |homework|
|
||||||
|
unless homework.homework_detail_manual
|
||||||
|
homework_detail_manual = HomeworkDetailManual.new
|
||||||
|
homework_detail_manual.ta_proportion = 0.6
|
||||||
|
homework_detail_manual.comment_status = 1
|
||||||
|
homework_detail_manual.evaluation_start = homework.created_at
|
||||||
|
homework_detail_manual.evaluation_end = homework.created_at
|
||||||
|
homework_detail_manual.evaluation_num = 3
|
||||||
|
homework_detail_manual.absence_penalty = 2
|
||||||
|
homework_detail_manual.homework_common_id = homework.id
|
||||||
|
homework_detail_manual.save
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
HomeworkCommon.where(:homework_type => 2).each do |homework|
|
||||||
|
if homework.homework_detail_manual
|
||||||
|
homework.homework_detail_manual.destroy
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
81
db/schema.rb
81
db/schema.rb
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20150907152238) do
|
ActiveRecord::Schema.define(:version => 20150911031029) do
|
||||||
|
|
||||||
create_table "activities", :force => true do |t|
|
create_table "activities", :force => true do |t|
|
||||||
t.integer "act_id", :null => false
|
t.integer "act_id", :null => false
|
||||||
|
@ -236,6 +236,13 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
t.boolean "tracker_in_review_dialog", :default => false
|
t.boolean "tracker_in_review_dialog", :default => false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "code_review_user_settings", :force => true do |t|
|
||||||
|
t.integer "user_id", :default => 0, :null => false
|
||||||
|
t.integer "mail_notification", :default => 0, :null => false
|
||||||
|
t.datetime "created_at"
|
||||||
|
t.datetime "updated_at"
|
||||||
|
end
|
||||||
|
|
||||||
create_table "code_reviews", :force => true do |t|
|
create_table "code_reviews", :force => true do |t|
|
||||||
t.integer "project_id"
|
t.integer "project_id"
|
||||||
t.integer "change_id"
|
t.integer "change_id"
|
||||||
|
@ -469,6 +476,13 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
|
|
||||||
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
|
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
|
||||||
|
|
||||||
|
create_table "discuss_demos", :force => true do |t|
|
||||||
|
t.string "title"
|
||||||
|
t.text "body"
|
||||||
|
t.datetime "created_at", :null => false
|
||||||
|
t.datetime "updated_at", :null => false
|
||||||
|
end
|
||||||
|
|
||||||
create_table "documents", :force => true do |t|
|
create_table "documents", :force => true do |t|
|
||||||
t.integer "project_id", :default => 0, :null => false
|
t.integer "project_id", :default => 0, :null => false
|
||||||
t.integer "category_id", :default => 0, :null => false
|
t.integer "category_id", :default => 0, :null => false
|
||||||
|
@ -483,23 +497,26 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
|
add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
|
||||||
add_index "documents", ["project_id"], :name => "documents_project_id"
|
add_index "documents", ["project_id"], :name => "documents_project_id"
|
||||||
|
|
||||||
create_table "dts", :force => true do |t|
|
create_table "dts", :primary_key => "Num", :force => true do |t|
|
||||||
t.string "IPLineCode"
|
t.string "Defect", :limit => 50
|
||||||
t.string "Description"
|
t.string "Category", :limit => 50
|
||||||
t.string "Num"
|
|
||||||
t.string "Variable"
|
|
||||||
t.string "TraceInfo"
|
|
||||||
t.string "Method"
|
|
||||||
t.string "File"
|
t.string "File"
|
||||||
t.string "IPLine"
|
t.string "Method"
|
||||||
t.string "Review"
|
t.string "Module", :limit => 20
|
||||||
t.string "Category"
|
t.string "Variable", :limit => 50
|
||||||
t.string "Defect"
|
t.integer "StartLine"
|
||||||
t.string "PreConditions"
|
t.integer "IPLine"
|
||||||
t.string "StartLine"
|
t.string "IPLineCode", :limit => 200
|
||||||
|
t.string "Judge", :limit => 15
|
||||||
|
t.integer "Review", :limit => 1
|
||||||
|
t.string "Description"
|
||||||
|
t.text "PreConditions", :limit => 2147483647
|
||||||
|
t.text "TraceInfo", :limit => 2147483647
|
||||||
|
t.text "Code", :limit => 2147483647
|
||||||
t.integer "project_id"
|
t.integer "project_id"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at"
|
||||||
|
t.integer "id", :null => false
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "enabled_modules", :force => true do |t|
|
create_table "enabled_modules", :force => true do |t|
|
||||||
|
@ -764,16 +781,6 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
|
|
||||||
add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
|
add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
|
||||||
|
|
||||||
create_table "journal_details_copy", :force => true do |t|
|
|
||||||
t.integer "journal_id", :default => 0, :null => false
|
|
||||||
t.string "property", :limit => 30, :default => "", :null => false
|
|
||||||
t.string "prop_key", :limit => 30, :default => "", :null => false
|
|
||||||
t.text "old_value"
|
|
||||||
t.text "value"
|
|
||||||
end
|
|
||||||
|
|
||||||
add_index "journal_details_copy", ["journal_id"], :name => "journal_details_journal_id"
|
|
||||||
|
|
||||||
create_table "journal_replies", :id => false, :force => true do |t|
|
create_table "journal_replies", :id => false, :force => true do |t|
|
||||||
t.integer "journal_id"
|
t.integer "journal_id"
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
|
@ -909,7 +916,6 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
t.datetime "created_on"
|
t.datetime "created_on"
|
||||||
t.integer "comments_count", :default => 0, :null => false
|
t.integer "comments_count", :default => 0, :null => false
|
||||||
t.integer "course_id"
|
t.integer "course_id"
|
||||||
t.datetime "updated_on"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "news", ["author_id"], :name => "index_news_on_author_id"
|
add_index "news", ["author_id"], :name => "index_news_on_author_id"
|
||||||
|
@ -1167,7 +1173,7 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
t.integer "osp_id"
|
t.integer "osp_id"
|
||||||
t.integer "parent_id"
|
t.integer "parent_id"
|
||||||
t.string "subject", :null => false
|
t.string "subject", :null => false
|
||||||
t.text "content", :null => false
|
t.text "content", :limit => 16777215, :null => false
|
||||||
t.integer "author_id"
|
t.integer "author_id"
|
||||||
t.integer "replies_count", :default => 0
|
t.integer "replies_count", :default => 0
|
||||||
t.integer "last_reply_id"
|
t.integer "last_reply_id"
|
||||||
|
@ -1202,6 +1208,19 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
|
|
||||||
add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id"
|
add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id"
|
||||||
|
|
||||||
|
create_table "rich_rich_files", :force => true do |t|
|
||||||
|
t.datetime "created_at", :null => false
|
||||||
|
t.datetime "updated_at", :null => false
|
||||||
|
t.string "rich_file_file_name"
|
||||||
|
t.string "rich_file_content_type"
|
||||||
|
t.integer "rich_file_file_size"
|
||||||
|
t.datetime "rich_file_updated_at"
|
||||||
|
t.string "owner_type"
|
||||||
|
t.integer "owner_id"
|
||||||
|
t.text "uri_cache"
|
||||||
|
t.string "simplified_type", :default => "file"
|
||||||
|
end
|
||||||
|
|
||||||
create_table "roles", :force => true do |t|
|
create_table "roles", :force => true do |t|
|
||||||
t.string "name", :limit => 30, :default => "", :null => false
|
t.string "name", :limit => 30, :default => "", :null => false
|
||||||
t.integer "position", :default => 1
|
t.integer "position", :default => 1
|
||||||
|
@ -1257,6 +1276,7 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.integer "project_id"
|
t.integer "project_id"
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
|
t.string "description"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "softapplications", :force => true do |t|
|
create_table "softapplications", :force => true do |t|
|
||||||
|
@ -1419,8 +1439,8 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
t.integer "zip_code"
|
t.integer "zip_code"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.integer "identity"
|
|
||||||
t.string "technical_title"
|
t.string "technical_title"
|
||||||
|
t.integer "identity"
|
||||||
t.string "student_id"
|
t.string "student_id"
|
||||||
t.string "teacher_realname"
|
t.string "teacher_realname"
|
||||||
t.string "student_realname"
|
t.string "student_realname"
|
||||||
|
@ -1488,9 +1508,6 @@ ActiveRecord::Schema.define(:version => 20150907152238) do
|
||||||
t.integer "active"
|
t.integer "active"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.integer "level"
|
|
||||||
t.integer "file"
|
|
||||||
t.integer "issue"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "user_statuses", :force => true do |t|
|
create_table "user_statuses", :force => true do |t|
|
||||||
|
|
|
@ -264,10 +264,10 @@ K.options = {
|
||||||
minHeight : 100,
|
minHeight : 100,
|
||||||
minChangeSize : 50,
|
minChangeSize : 50,
|
||||||
zIndex : 811213,
|
zIndex : 811213,
|
||||||
items : ['code', 'emoticons',
|
items : ['code', 'emoticons','fontname',
|
||||||
'source','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', '|',
|
'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|',
|
||||||
'formatblock', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
|
'formatblock', 'fontsize', '|','indent', 'outdent',
|
||||||
'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'media',"more"
|
'|','imagedirectupload','table', 'media', 'preview',"more"
|
||||||
],
|
],
|
||||||
noDisableItems : ['source', 'fullscreen'],
|
noDisableItems : ['source', 'fullscreen'],
|
||||||
colorTable : [
|
colorTable : [
|
||||||
|
@ -4987,16 +4987,16 @@ KEditor.prototype = {
|
||||||
htmlList.push('</div>')
|
htmlList.push('</div>')
|
||||||
var htmlListFull = [];
|
var htmlListFull = [];
|
||||||
var fullItems = ['code',
|
var fullItems = ['code',
|
||||||
'emoticons',
|
'emoticons','fontname',
|
||||||
'source','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', '|',
|
'forecolor', 'hilitecolor', 'bold','|', 'justifyleft', 'justifycenter', 'insertorderedlist', 'insertunorderedlist', '|',
|
||||||
'formatblock', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
|
'formatblock', 'fontsize', '|', 'indent', 'outdent',
|
||||||
'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'media', "less",
|
'|','imagedirectupload','table', 'media', 'preview', "less",
|
||||||
'/',
|
'/',
|
||||||
'undo', 'redo', '|', 'preview', 'print', 'template',
|
'italic', 'underline', 'undo', 'redo', '|', 'removeformat',
|
||||||
'justifyfull', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
|
'justifyright','justifyfull', 'source','plainpaste', 'wordpaste', 'subscript',
|
||||||
'superscript', 'clearhtml', 'quickformat', /* 'selectall',*/ 'fontname',
|
'superscript', 'clearhtml', 'quickformat', /* 'selectall',*/
|
||||||
'strikethrough', 'lineheight', 'hr', 'pagebreak',
|
'strikethrough', 'lineheight', 'hr', 'pagebreak',
|
||||||
'anchor' , 'link','unlink'
|
'link','unlink', 'print'
|
||||||
]
|
]
|
||||||
K.each(fullItems, function(i, name) {
|
K.each(fullItems, function(i, name) {
|
||||||
if (name == '|') {
|
if (name == '|') {
|
||||||
|
|
|
@ -27,7 +27,9 @@ KindEditor.plugin('autoheight', function(K) {
|
||||||
var edit = self.edit;
|
var edit = self.edit;
|
||||||
var body = edit.doc.body;
|
var body = edit.doc.body;
|
||||||
edit.iframe.height(minHeight);
|
edit.iframe.height(minHeight);
|
||||||
self.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight));
|
self.resize(null, Math.max(
|
||||||
|
(K.IE ? body.scrollHeight : body.offsetHeight)
|
||||||
|
+ 76, minHeight));
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
|
@ -35,7 +37,12 @@ KindEditor.plugin('autoheight', function(K) {
|
||||||
|
|
||||||
self.edit.afterChange(resetHeight);
|
self.edit.afterChange(resetHeight);
|
||||||
hideScroll();
|
hideScroll();
|
||||||
resetHeight();
|
var edit = self.edit;
|
||||||
|
var body = edit.doc.body;
|
||||||
|
edit.iframe.height(minHeight);
|
||||||
|
self.resize(null, Math.max(
|
||||||
|
((K.IE ? body.scrollHeight : body.offsetHeight) > 500 ? 500 : (K.IE ? body.scrollHeight : body.offsetHeight)) //限制初始化太高的情况
|
||||||
|
+ 76, minHeight));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self.isCreated) {
|
if (self.isCreated) {
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
|
@ -58,10 +58,10 @@ $(function(){
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
$('#test-program-btn').on('click', test_program);
|
$('#test-program-btn').live('click', test_program);
|
||||||
|
|
||||||
|
|
||||||
$('#commit-program-work-btn').on('click', function(){
|
$('#commit-program-work-btn').live('click', function(){
|
||||||
if(!valid_form()){
|
if(!valid_form()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ $(function(){
|
||||||
$(".HomeWorkCon form").submit();
|
$(".HomeWorkCon form").submit();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('form.edit_student_work').on('keydown', '#program-src', function(){
|
$('form.edit_student_work').live('keydown', '#program-src', function(){
|
||||||
tested = false;
|
tested = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -104,12 +104,12 @@ $(function(){
|
||||||
|
|
||||||
$('input.date-input').datepicker(datepickerOptions);
|
$('input.date-input').datepicker(datepickerOptions);
|
||||||
|
|
||||||
$('a.pic_date').on('click', function(){
|
$('a.pic_date').live('click', function(){
|
||||||
$(this).parent().prev().first().focus();
|
$(this).parent().prev().first().focus();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
$('a.ProBtn').on('click', function(){
|
$('a.ProBtn').live('click', function(){
|
||||||
$("#BluePopupBox").dialog({
|
$("#BluePopupBox").dialog({
|
||||||
modal: true,
|
modal: true,
|
||||||
dialogClass: 'BluePopupBox',
|
dialogClass: 'BluePopupBox',
|
||||||
|
@ -117,12 +117,12 @@ $(function(){
|
||||||
});
|
});
|
||||||
$(".ui-dialog-titlebar").hide();
|
$(".ui-dialog-titlebar").hide();
|
||||||
|
|
||||||
$("a.CloseBtn").on('click', function(){
|
$("a.CloseBtn").live('click', function(){
|
||||||
$("#BluePopupBox" ).dialog("close");
|
$("#BluePopupBox" ).dialog("close");
|
||||||
});
|
});
|
||||||
$('#textarea_input_test').focus();
|
$('#textarea_input_test').focus();
|
||||||
|
|
||||||
$("#BluePopupBox a.BlueCirBtn").on('click', function(){
|
$("#BluePopupBox a.BlueCirBtn").live('click', function(){
|
||||||
var test_numbers = 0;
|
var test_numbers = 0;
|
||||||
var valid = true;
|
var valid = true;
|
||||||
var input = null;
|
var input = null;
|
||||||
|
@ -162,12 +162,12 @@ $(function(){
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#BluePopupBox").on('click', 'a.icon_add', function(){
|
$("#BluePopupBox").live('click', 'a.icon_add', function(){
|
||||||
var html = bt('t:test-answer-list', null);
|
var html = bt('t:test-answer-list', null);
|
||||||
$(this).parent('.mt10').after(html);
|
$(this).parent('.mt10').after(html);
|
||||||
|
|
||||||
});
|
});
|
||||||
$("#BluePopupBox").on('click', 'a.icon_remove', function(){
|
$("#BluePopupBox").live('click', 'a.icon_remove', function(){
|
||||||
$(this).parent('.mt10').remove();
|
$(this).parent('.mt10').remove();
|
||||||
});
|
});
|
||||||
});
|
});
|
|
@ -71,6 +71,7 @@ function submit_homework(id)
|
||||||
$("#course_id").focus();
|
$("#course_id").focus();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
||||||
homework_description_editor.sync();
|
homework_description_editor.sync();
|
||||||
$("#"+id).submit();
|
$("#"+id).submit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -465,8 +465,8 @@ a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no-
|
||||||
/*.navHomepageProfile ul li ul {display:none;}
|
/*.navHomepageProfile ul li ul {display:none;}
|
||||||
.navHomepageProfile ul li:hover ul {display:block;}*/
|
.navHomepageProfile ul li:hover ul {display:block;}*/
|
||||||
.homepageLeft {width:240px; float:left; margin-right:10px; margin-bottom:10px;}
|
.homepageLeft {width:240px; float:left; margin-right:10px; margin-bottom:10px;}
|
||||||
.homepageRight {width:750px; float:left; margin-top:15px; margin-bottom:10px;}
|
.homepageRight {width:750px; float:left; margin-top:10px; margin-bottom:10px;}
|
||||||
.homepagePortraitContainer {width:208px; border:1px solid #dddddd; background-color:#ffffff; margin-top:15px; padding:15px;}
|
.homepagePortraitContainer {width:208px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px; padding:15px;}
|
||||||
.homepagePortraitImage {width:78px; height:78px; position:relative; border:1px solid #cbcbcb; padding: 2px;}
|
.homepagePortraitImage {width:78px; height:78px; position:relative; border:1px solid #cbcbcb; padding: 2px;}
|
||||||
.homepagePortraitImage:hover {border:1px solid #269ac9;}
|
.homepagePortraitImage:hover {border:1px solid #269ac9;}
|
||||||
.homepageFollow {background:url(../images/homepage_icon.png) -10px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
|
.homepageFollow {background:url(../images/homepage_icon.png) -10px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
|
||||||
|
@ -505,6 +505,7 @@ a.homepageMenuText {color:#484848; font-size:16px; margin-left:20px;}
|
||||||
.homepageLeftLabelContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px;}
|
.homepageLeftLabelContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px;}
|
||||||
.homepageLabelText {color:#484848; font-size:16px; margin-left:10px; margin-bottom:12px; display:block;}
|
.homepageLabelText {color:#484848; font-size:16px; margin-left:10px; margin-bottom:12px; display:block;}
|
||||||
.homepageRightBanner {width:718px; margin:0px auto; float:right; background-color: #ffffff; padding:10px 15px; border:1px solid #dddddd;}
|
.homepageRightBanner {width:718px; margin:0px auto; float:right; background-color: #ffffff; padding:10px 15px; border:1px solid #dddddd;}
|
||||||
|
.homepageRightBannerImg{width:1000px; margin:0px auto; height: 60px; margin-top: 10px; background:url(../images/TeachersDay.jpg)}
|
||||||
.NewsBannerName {font-size:16px; color:#4b4b4b; display:block; width:150px; float:left;}
|
.NewsBannerName {font-size:16px; color:#4b4b4b; display:block; width:150px; float:left;}
|
||||||
.newsType {width:60px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-40px; font-size:12px; color:#888888; display:none; line-height:2; z-index:9999;}
|
.newsType {width:60px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-40px; font-size:12px; color:#888888; display:none; line-height:2; z-index:9999;}
|
||||||
.newsReadSetting {width:700px; background-color:#f6f6f6; border-bottom:1px solid #eeeeee; margin:10px auto; height:39px; line-height:39px; vertical-align:middle; font-size:14px; color:#7a7a7a; padding-left:10px;}
|
.newsReadSetting {width:700px; background-color:#f6f6f6; border-bottom:1px solid #eeeeee; margin:10px auto; height:39px; line-height:39px; vertical-align:middle; font-size:14px; color:#7a7a7a; padding-left:10px;}
|
||||||
|
@ -575,6 +576,7 @@ a.postReplyCancel:hover {color:#ffffff;}
|
||||||
.homepagePostReplyInput2 {width:588px; height:45px; max-width:588px; max-height:45px; border:1px solid #d9d9d9; outline:none; margin:0px auto 10px auto;}
|
.homepagePostReplyInput2 {width:588px; height:45px; max-width:588px; max-height:45px; border:1px solid #d9d9d9; outline:none; margin:0px auto 10px auto;}
|
||||||
.homepagePostReplyContainer {border-bottom:1px solid #e3e3e3; width:680px; margin:0px auto; margin-top:15px; min-height:60px;}
|
.homepagePostReplyContainer {border-bottom:1px solid #e3e3e3; width:680px; margin:0px auto; margin-top:15px; min-height:60px;}
|
||||||
.homepagePostSetting {position:absolute; width:20px; height:20px; right:0px; top:0px;}
|
.homepagePostSetting {position:absolute; width:20px; height:20px; right:0px; top:0px;}
|
||||||
|
.homepagePostSetting ul li:hover ul {display:block;}
|
||||||
.homepagePostSettingIcon {background:url(../images/homepage_icon.png) -93px -5px no-repeat; width:20px; height:20px;}
|
.homepagePostSettingIcon {background:url(../images/homepage_icon.png) -93px -5px no-repeat; width:20px; height:20px;}
|
||||||
.homepagePostSettiongText {width:85px; line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-68px; top:20px; padding:5px 0px; display:none;}
|
.homepagePostSettiongText {width:85px; line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-68px; top:20px; padding:5px 0px; display:none;}
|
||||||
.homepagePostSettingIcon:hover {background:url(../images/homepage_icon.png) -93px -44px no-repeat;}
|
.homepagePostSettingIcon:hover {background:url(../images/homepage_icon.png) -93px -44px no-repeat;}
|
||||||
|
@ -855,6 +857,8 @@ a:hover.BlueCirBtn{ background:#269ac9; color:#fff;}
|
||||||
.w708{width: 708px;}
|
.w708{width: 708px;}
|
||||||
.w712{width:712px;max-width:712px;min-width: 712px;}
|
.w712{width:712px;max-width:712px;min-width: 712px;}
|
||||||
.w720{width:721px;}
|
.w720{width:721px;}
|
||||||
|
.w709{width: 709px;}
|
||||||
|
.w701{width: 701px;}
|
||||||
a.AnnexBtn{ background: url(../images/homepage_icon2.png) 0px -343px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
a.AnnexBtn{ background: url(../images/homepage_icon2.png) 0px -343px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
||||||
a:hover.AnnexBtn{background: url(../images/homepage_icon2.png) -90px -343px no-repeat; color:#269ac9;}
|
a:hover.AnnexBtn{background: url(../images/homepage_icon2.png) -90px -343px no-repeat; color:#269ac9;}
|
||||||
a.FilesBtn{ background: url(../images/homepage_icon2.png) 0px -373px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
a.FilesBtn{ background: url(../images/homepage_icon2.png) 0px -373px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
||||||
|
|
Loading…
Reference in New Issue