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

dev_hjm
hjm 6 years ago
commit e68241c064

@ -190,7 +190,7 @@ class ApplicationController < ActionController::Base
def check_account
if !current_user.profile_completed?
info_url = '/account/profile'
tip_exception(402, info_url)
tip_exception(402, '')
end
end

@ -265,10 +265,10 @@ class MyshixunsController < ApplicationController
# params[:evaluate] 实训评测时更新必须给的参数,需要依据该参数做性能统计,其它类型的更新可以跳过
# 自动保存的时候evaluate为0点评测的时候为1
if params[:evaluate] == 1
#exec_time = game.challenge.try(:exec_time)
exec_time = game.challenge.try(:exec_time)
@sec_key = generate_identifier(EvaluateRecord, 12)
record = EvaluateRecord.create!(:user_id => current_user.id, :shixun_id => @myshixun.shixun_id, :game_id => game_id,
:identifier => @sec_key)
:identifier => @sec_key, :exec_time => exec_time)
uid_logger("-- game build: file update #{@sec_key}, record id is #{record.id}, time is **** #{Time.now.strftime("%Y-%m-%d %H:%M:%S.%L")}")
end
unless @hide_code

@ -1,73 +1,131 @@
class ModifyKeContentsForMarkdown < ActiveRecord::Migration[5.2]
include ActionView::Helpers::SanitizeHelper
def change
def ke_transform_to_md content
sanitize(content, tags: %w(img a span), attributes: %w(src href target style))
.gsub(/^(\n)/, "").gsub(/(\n)+/, "<br />").gsub(/$(\n)/, "")
.gsub(/(\n)+/, "<br />").gsub("\t", "&nbsp;&nbsp;&nbsp;&nbsp;")
end
# 课程讨论区
MessageDetail.find_each do |m|
content = ke_transform_to_md m.content
puts("content:#{content}")
m.update_column(:content, content)
end
# 试卷的描述
Exercise.find_each do |e|
exercise_description = ke_transform_to_md e.exercise_description
puts("#exercise_description: #{exercise_description}")
e.update_column(:exercise_description, exercise_description)
end
# 试卷的标题
ExerciseQuestion.find_each do |eq|
question_title = ke_transform_to_md eq.question_title
puts("question_title:#{question_title}")
eq.update_column(:question_title, question_title)
end
# 试卷的答案
ExerciseStandardAnswer.find_each do |esa|
answer_text = ke_transform_to_md esa.answer_text
puts("answer_text: #{answer_text}")
esa.update_column(:answer_text, answer_text)
end
# 试卷题库
ExerciseBankQuestion.find_each do |ebq|
question_title = ke_transform_to_md ebq.question_title
puts("#question_title: #{question_title}")
end
# 问卷的标题
PollQuestion.find_each do |pq|
question_title = ke_transform_to_md pq.question_title
puts("question_title:#{question_title}")
pq.update_column(:question_title, question_title)
end
StudentWork
HomeworkCommon
JournalsForMessage
GraduationTask
GraduationTopic
GraduationWork
GtaskBank
GtopicBank
HomeworkBank
QuestionBank
ExerciseBankStandardAnswer
Memo
# def ke_transform_to_md content
# sanitize(content, tags: %w(img a span), attributes: %w(src href target style))
# .gsub(/^(\n)/, "").gsub(/(\n)+/, "<br />").gsub(/$(\n)/, "")
# .gsub(/(\n)+/, "<br />").gsub("\t", "&nbsp;&nbsp;&nbsp;&nbsp;")
# end
#
# # 课程讨论区
# MessageDetail.find_each do |m|
# content = ke_transform_to_md m.content
# puts("content:#{content}")
# m.update_column(:content, content)
# end
#
# # 试卷的描述
# Exercise.find_each do |e|
# exercise_description = ke_transform_to_md e.exercise_description
# puts("#exercise_description: #{exercise_description}")
# e.update_column(:exercise_description, exercise_description)
# end
#
# # 试卷的标题
# ExerciseQuestion.find_each do |eq|
# question_title = ke_transform_to_md eq.question_title
# puts("question_title:#{question_title}")
# eq.update_column(:question_title, question_title)
# end
#
# # 试卷的答案
# ExerciseStandardAnswer.find_each do |esa|
# answer_text = ke_transform_to_md esa.answer_text
# puts("answer_text: #{answer_text}")
# esa.update_column(:answer_text, answer_text)
# end
#
# # 试卷题库的问题标题
# ExerciseBankQuestion.find_each do |ebq|
# question_title = ke_transform_to_md ebq.question_title
# puts("#question_title: #{question_title}")
# ebq.update_column(:question_title, question_title)
# end
#
# # 试卷答案
# ExerciseBankStandardAnswer.find_each do |ebsa|
# answer_text = ke_transform_to_md ebsa.answer_text
# puts("#answer_text: #{answer_text}")
# ebsa.update_column(:answer_text, answer_text)
# end
#
# # 问卷的标题
# PollQuestion.find_each do |pq|
# question_title = ke_transform_to_md pq.question_title
# puts("question_title:#{question_title}")
# pq.update_column(:question_title, question_title)
# end
#
# # 学生的作品
# StudentWork.find_each do |sw|
# description = ke_transform_to_md sw.description
# puts("#description: #{description}")
# sw.update_column(:description, description)
# end
#
# # 作业
# HomeworkCommon.find_each do |hc|
# description = ke_transform_to_md hc.description
# reference_answer = ke_transform_to_md hc.reference_answer
# explanation = ke_transform_to_md hc.explanation
# hc.update_attributes(description: description, reference_answer: reference_answer, explanation: explanation)
# end
#
# # 作业题库
# HomeworkBank.find_each do |hb|
# description = ke_transform_to_md hb.description
# reference_answer = ke_transform_to_md hb.reference_answer
# hb.update_attributes(description: description, reference_answer: reference_answer)
# end
#
# # 课堂评论
# JournalsForMessage.find_each do |jfm|
# notes = ke_transform_to_md jfm.notes
# puts("#notes: #{notes}")
# jfm.update_column(:notes, notes)
# end
#
# # 毕业任务
# GraduationTask.find_each do |gt|
# description = ke_transform_to_md gt.description
# puts("#description: #{description}")
# gt.update_column(:description, description)
# end
#
# # 毕设选题
# GraduationTopic.find_each do |gt|
# description = ke_transform_to_md gt.description
# puts("#description: #{description}")
# gt.update_column(:description, description)
# end
#
# # 毕设作品
# GraduationWork.find_each do |gw|
# description = ke_transform_to_md gw.description
# puts("#description: #{description}")
# gw.update_column(:description, description)
# end
#
# # 毕设任务题库
# GtaskBank.find_each do |gb|
# description = ke_transform_to_md gb.description
# puts("#description: #{description}")
# gb.update_column(:description, description)
# end
#
# # 毕设选题题库
# GtopicBank.find_each do |gb|
# description = ke_transform_to_md gb.description
# puts("#description: #{description}")
# gb.update_column(:description, description)
# end
#
# # 交流问答
# Memo.find_each do |m|
# content = ke_transform_to_md m.content
# puts("#description: #{content}")
# m.update_column(:content, content)
# end
end
end

@ -40,6 +40,7 @@ class CaseNew extends Component{
imageUrl:undefined,
loading: false,
checkTag:false,
checkFile:false,
coverID:undefined
}
}
@ -89,10 +90,12 @@ class CaseNew extends Component{
let contentFileList = info.fileList;
this.setState({ contentFileList: appendFileSizeToUploadFileAll(contentFileList)});
let list = appendFileSizeToUploadFileAll(contentFileList);
let arr = list.map(item=>{
return ( item.response && item.response.id )
})
this.setState({
filesID:list.map(item=>{
return ( item.response && item.response.id )
})
filesID:arr,
checkFile:arr.length > 0 ? false : true
})
console.log("fujian");
console.log(list.map(item=>{
@ -165,7 +168,7 @@ class CaseNew extends Component{
let caseID = this.props.match.params.caseID;
console.log(type);
this.props.form.validateFieldsAndScroll((err, values) => {
let { casesTags } = this.state;
let { casesTags , filesID } = this.state;
if(casesTags.length == 0){
$("html").animate({ scrollTop: $("#tagFormItem").offset().top - 100 });
this.setState({
@ -173,6 +176,13 @@ class CaseNew extends Component{
})
return;
}
if(filesID.length == 0){
$("html").animate({ scrollTop: $("#fileFormItem").offset().top - 100 });
this.setState({
checkFile:true
})
return;
}
//const mdContnet = this.DescMdRef.current.getValue().trim();
console.log(values);
let url = caseID ? `/libraries/${caseID}.json`: `/libraries.json`;
@ -235,7 +245,7 @@ class CaseNew extends Component{
render(){
let { caseID } = this.props.match.params;
let { CaseDetail } = this.props;
let { casesTags , contentFileList , imageUrl , checkTag } = this.state;
let { casesTags , contentFileList , imageUrl , checkTag , checkFile } = this.state;
const {getFieldDecorator} = this.props.form;
@ -363,11 +373,14 @@ class CaseNew extends Component{
watch={true} className="caseMessageMD" initValue={CaseDetail && CaseDetail.content}></TPMMDEditor>
)}
</Form.Item>
<div style={{marginLeft:"76px"}}>
<div className={checkFile == true ? "clearfix mb20 pr has-error" : "clearfix mb20"} id="fileFormItem" style={{marginLeft:"76px"}}>
<Dragger {...uploadProps} className="librariesField upload_1">
<p className="ant-upload-text color-blue font-18 mb20">上传附件</p>
<p className="ant-upload-text color-grey-c">从我的电脑选择要上传的文档按住CTRL可以上传多份文档单个文件最大限制150MB</p>
</Dragger>
{
checkFile && <div style={{left:"0px",bottom:"-21px"}} class="ant-form-explain">请先上传附件</div>
}
</div>
<p className="lineh-25 mt20 mb10 clearfix">
<span className="upload_Title" style={{marginRight:"12px"}}>封面图</span><span class="color-grey-c fl lineh-35">120*90 px</span>

Loading…
Cancel
Save