From 814aa13c21518c8c463761e09e8c993364ed1c98 Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Tue, 30 Jul 2019 14:05:26 +0800
Subject: [PATCH 1/7] =?UTF-8?q?Mp3=E3=80=81mp4=E7=B1=BB=E5=AE=9E=E8=AE=AD?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/games_controller.rb | 2 +-
app/controllers/myshixuns_controller.rb | 2 +-
app/helpers/games_helper.rb | 8 +++++++-
app/models/challenge.rb | 1 +
4 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
index b2de6dcad..667d45f2b 100644
--- a/app/controllers/games_controller.rb
+++ b/app/controllers/games_controller.rb
@@ -116,7 +116,7 @@ class GamesController < ApplicationController
@qrcode_str = Base64.encode64( qr.to_img.resize(400,400).to_s )
else
- @type = "image"
+ @type = ""
#conv = Iconv.new("GBK", "utf-8")
@game_challenge = @game.challenge
type = @game_challenge.show_type
diff --git a/app/controllers/myshixuns_controller.rb b/app/controllers/myshixuns_controller.rb
index fa47fd7f6..1d6b15969 100644
--- a/app/controllers/myshixuns_controller.rb
+++ b/app/controllers/myshixuns_controller.rb
@@ -24,7 +24,7 @@ class MyshixunsController < ApplicationController
ActiveRecord::Base.transaction do
begin
@shixun = Shixun.select(:id, :identifier).find(@myshixun.shixun_id)
- @myshixun.destroy
+ @myshixun.destroy!
StudentWork.where(:myshixun_id => @myshixun.id).update_all(:myshixun_id => 0, :work_status => 0)
diff --git a/app/helpers/games_helper.rb b/app/helpers/games_helper.rb
index aff05904f..dfc3fb321 100644
--- a/app/helpers/games_helper.rb
+++ b/app/helpers/games_helper.rb
@@ -6,7 +6,7 @@ module GamesHelper
end
# 获取目录下所有文件,返回一个文件名的数组 type是查看文件的类型image表示图片
- # type [[1, "图片"], [2, "apk/exe"], [3, "txt"], [4, "html"]]
+ # type [[1, "图片"], [2, "apk/exe"], [3, "txt"], [4, "html"], [5, "mp3"], [6, "mp4"]]
def get_dir_filename(path, type, game_id)
answer_picture = []
return answer_picture unless File.directory?(path)
@@ -39,6 +39,12 @@ module GamesHelper
end
f.close
@type = 'txt'
+ elsif extension == 'mp3' && type == 5
+ answer_picture << file
+ @type = 'mp3'
+ elsif extension == 'mp4' && type == 6
+ answer_picture << file
+ @type = 'mp4'
end
end
diff --git a/app/models/challenge.rb b/app/models/challenge.rb
index 0bea54eb4..8e4d2ae42 100644
--- a/app/models/challenge.rb
+++ b/app/models/challenge.rb
@@ -1,5 +1,6 @@
class Challenge < ApplicationRecord
# difficulty: 关卡难度: 1.简单 2.中等 3.困难
+ # show_type: 效果展示:-1.无效果 1.图片 2.apk/exe 3.txt 4.html 5.mp3 6.mp4
default_scope { order("challenges.position asc") }
belongs_to :shixun, :touch => true, counter_cache: true
From 3029588c84d06fb260f587f09827b0426ec31d3a Mon Sep 17 00:00:00 2001
From: hjm <63528605@qq.com>
Date: Wed, 31 Jul 2019 09:53:38 +0800
Subject: [PATCH 2/7] + '?export=true'
---
.../src/modules/courses/busyWork/common/TabRightComponents.js | 2 +-
.../src/modules/courses/exercise/Testpapersettinghomepage.js | 2 +-
.../courses/graduation/tasks/GraduationTaskssetting.js | 2 +-
.../courses/graduation/tasks/GraduationTaskssettinglist.js | 2 +-
.../graduation/tasks/GraduationTaskssettingquestions.js | 2 +-
public/react/src/modules/courses/graduation/topics/index.js | 2 +-
public/react/src/modules/courses/members/studentsList.js | 2 +-
public/react/src/modules/courses/poll/PollDetailIndex.js | 2 +-
.../modules/courses/shixunHomework/Listofworksstudentone.js | 2 +-
.../src/modules/courses/shixunHomework/ShixunStudentWork.js | 2 +-
.../src/modules/courses/shixunHomework/Trainingjobsetting.js | 4 ++--
.../modules/courses/shixunHomework/Workquestionandanswer.js | 4 ++--
12 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/public/react/src/modules/courses/busyWork/common/TabRightComponents.js b/public/react/src/modules/courses/busyWork/common/TabRightComponents.js
index a070ba69a..5320dd0ca 100644
--- a/public/react/src/modules/courses/busyWork/common/TabRightComponents.js
+++ b/public/react/src/modules/courses/busyWork/common/TabRightComponents.js
@@ -44,7 +44,7 @@ class TabRightComponents extends Component{
}
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true' ).then((response) => {
if(response.data.status&&response.data.status===-1){
}else if(response.data.status&&response.data.status===-2){
diff --git a/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js b/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js
index 36b319f5a..5a410ab4a 100644
--- a/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js
+++ b/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js
@@ -164,7 +164,7 @@ class Testpapersettinghomepage extends Component{
}
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true' ).then((response) => {
if(response.data.status&&response.data.status===-1){
}else if(response.data.status&&response.data.status===-2){
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js
index 5bbbe1a14..d6382165b 100644
--- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js
+++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js
@@ -896,7 +896,7 @@ class GraduationTaskssettingapp extends Component{
}
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true' ).then((response) => {
if(response === undefined){
return
}
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js
index 7d421da4b..1b98f00f3 100644
--- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js
+++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js
@@ -645,7 +645,7 @@ class GraduationTaskssettinglist extends Component{
b_order:b_order,
search:search,
}
- axios.get(url,{
+ axios.get(url + '?export=true',{
params
}).then((response) => {
if(response === undefined){
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettingquestions.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettingquestions.js
index 1bf6eb962..a812bd803 100644
--- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettingquestions.js
+++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettingquestions.js
@@ -199,7 +199,7 @@ class GraduationTasksquestions extends Component{
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true').then((response) => {
if(response === undefined){
return
}
diff --git a/public/react/src/modules/courses/graduation/topics/index.js b/public/react/src/modules/courses/graduation/topics/index.js
index f4303ff87..84b500716 100644
--- a/public/react/src/modules/courses/graduation/topics/index.js
+++ b/public/react/src/modules/courses/graduation/topics/index.js
@@ -322,7 +322,7 @@ onBoardsNew=()=>{
}
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true').then((response) => {
if(response.data.status&&response.data.status===-1){
}else if(response.data.status&&response.data.status===-2){
diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js
index 6780948ef..d7c4cb85b 100644
--- a/public/react/src/modules/courses/members/studentsList.js
+++ b/public/react/src/modules/courses/members/studentsList.js
@@ -127,7 +127,7 @@ class studentsList extends Component{
}
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '&export=true').then((response) => {
if(response === undefined){
return
}
diff --git a/public/react/src/modules/courses/poll/PollDetailIndex.js b/public/react/src/modules/courses/poll/PollDetailIndex.js
index b1e8c3443..cdc6a5ae2 100644
--- a/public/react/src/modules/courses/poll/PollDetailIndex.js
+++ b/public/react/src/modules/courses/poll/PollDetailIndex.js
@@ -75,7 +75,7 @@ class PollDetailIndex extends Component{
/// 确认是否下载
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true' ).then((response) => {
if(response.data.status&&response.data.status===-1){
}else if(response.data.status&&response.data.status===-2){
diff --git a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js
index 4dc41fcf7..17778dea9 100644
--- a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js
+++ b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js
@@ -2214,7 +2214,7 @@ class Listofworksstudentone extends Component {
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '&export=true').then((response) => {
if(response === undefined){
return
}
diff --git a/public/react/src/modules/courses/shixunHomework/ShixunStudentWork.js b/public/react/src/modules/courses/shixunHomework/ShixunStudentWork.js
index 4bb44b697..97bc651ea 100644
--- a/public/react/src/modules/courses/shixunHomework/ShixunStudentWork.js
+++ b/public/react/src/modules/courses/shixunHomework/ShixunStudentWork.js
@@ -539,7 +539,7 @@ class ShixunStudentWork extends Component {
}
confirmysl(url){
- axios.get(url).then((response) => {
+ axios.get(url + '?export=true').then((response) => {
if(response === undefined){
return
}
diff --git a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
index b07392153..8cbf0402f 100644
--- a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
+++ b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
@@ -1766,12 +1766,12 @@ class Trainingjobsetting extends Component {
daochushixunbaogao=()=>{
let url =`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`;
- this.confirmysl(url);
+ this.confirmysl(url + '&export=true');
}
daochuzuoye =() =>{
let url = `/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`;
- this.confirmysl(url);
+ this.confirmysl(url + '?export=true');
}
confirmysl(url){
diff --git a/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js b/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js
index a46d783ea..2da08e2ad 100644
--- a/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js
+++ b/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js
@@ -339,12 +339,12 @@ class Workquestionandanswer extends Component {
daochushixunbaogao=()=>{
let url =`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`;
- this.confirmysl(url);
+ this.confirmysl(url + '&export=true');
}
daochuzuoye =() =>{
let url = `/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`;
- this.confirmysl(url);
+ this.confirmysl(url + '?export=true');
}
confirmysl(url){
From 72cba9fc2888db71b60e9771cc1020d89e482784 Mon Sep 17 00:00:00 2001
From: SylorHuang
Date: Wed, 31 Jul 2019 09:57:57 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E8=AF=BE=E5=A0=82=E7=9A=84=E5=85=A8?=
=?UTF-8?q?=E9=83=A8excel=E5=AF=BC=E5=87=BA=E5=92=8Cpdf=E5=92=8Czip?=
=?UTF-8?q?=E5=AF=BC=E5=87=BA=E7=9A=84=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/courses_controller.rb | 3 +++
app/controllers/exercises_controller.rb | 2 ++
.../graduation_tasks_controller.rb | 19 +++++++++++++------
.../graduation_topics_controller.rb | 7 ++++++-
app/controllers/polls_controller.rb | 3 +++
app/controllers/zips_controller.rb | 1 +
6 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 9ae909dbc..abc3e4856 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -1027,7 +1027,10 @@ class CoursesController < ApplicationController
tip_exception(403,"无权限操作")
elsif @all_members.size == 0
normal_status(-1,"课堂暂时没有学生")
+ elsif params[:export].present? && params[:export]
+ normal_status(0,"正在下载中")
else
+ set_export_cookies
member_to_xlsx(@course, @all_members, @c_homeworks, @c_exercises, @c_tasks)
filename_ = "#{current_user.real_name}_#{@course.name}_全部成绩_#{Time.now.strftime('%Y%m%d_%H%M%S')}"
render xlsx: "#{format_sheet_name filename_.strip}",template: "courses/export_member_scores_excel.xlsx.axlsx",
diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb
index 915a4e22c..6f121db5f 100644
--- a/app/controllers/exercises_controller.rb
+++ b/app/controllers/exercises_controller.rb
@@ -1261,6 +1261,7 @@ class ExercisesController < ApplicationController
else
respond_to do |format|
format.xlsx{
+ set_export_cookies
get_export_users(@exercise,@course,@export_ex_users)
exercise_export_name_ =
"#{current_user.real_name}_#{@course.name}_#{@exercise.exercise_name}_#{Time.now.strftime('%Y%m%d_%H%M%S')}"
@@ -1286,6 +1287,7 @@ class ExercisesController < ApplicationController
if params[:export].present? && params[:export]
normal_status(0,"正在下载中")
else
+ set_export_cookies
render pdf: 'exercise_export/blank_exercise', filename: filename_, stylesheets: stylesheets
end
end
diff --git a/app/controllers/graduation_tasks_controller.rb b/app/controllers/graduation_tasks_controller.rb
index aeb5c409d..0885eeae2 100644
--- a/app/controllers/graduation_tasks_controller.rb
+++ b/app/controllers/graduation_tasks_controller.rb
@@ -132,6 +132,8 @@ class GraduationTasksController < ApplicationController
tip_exception(403, "无权限操作")
elsif complete_works == 0
normal_status(-1,"暂无用户提交")
+ elsif params[:export].present? && params[:export]
+ normal_status(0,"正在下载中")
else
respond_to do |format|
format.xlsx{
@@ -148,12 +150,17 @@ class GraduationTasksController < ApplicationController
zip_works = @work_excel.where("work_status > 0")
status = checkfileSize(zip_works)
if status == 0
- respond_to do |format|
- format.zip{
- zipfile = zip_homework_common @task, zip_works
- file = decode64(zipfile[0][:base64file])
- send_file "#{OUTPUT_FOLDER}/#{file}", filename: filename_for_content_disposition(file), type: 'application/zip'
- }
+ if params[:export].present? && params[:export]
+ normal_status(0,"正在下载中")
+ else
+ respond_to do |format|
+ format.zip{
+ set_export_cookies
+ zipfile = zip_homework_common @task, zip_works
+ file = decode64(zipfile[0][:base64file])
+ send_file "#{OUTPUT_FOLDER}/#{file}", filename: filename_for_content_disposition(file), type: 'application/zip'
+ }
+ end
end
else
normal_status(status,status == -2 ? "500M" : "无附件可下载")
diff --git a/app/controllers/graduation_topics_controller.rb b/app/controllers/graduation_topics_controller.rb
index 96816c2a6..bd93401f3 100644
--- a/app/controllers/graduation_topics_controller.rb
+++ b/app/controllers/graduation_topics_controller.rb
@@ -271,7 +271,12 @@ class GraduationTopicsController < ApplicationController
students = course.students.joins(user: :user_extension).order("user_extensions.student_id")
graduation_topic_to_xlsx(students,course)
topic_export_name_ = "#{current_user.real_name}_#{course.name}_毕设选题_#{Time.now.strftime('%Y%m%d_%H%M%S')}"
- render xlsx: "#{topic_export_name_.strip}",template: "graduation_topics/export.xlsx.axlsx",locals: {table_columns:@topic_head_cells,topic_users:@topic_body_cells}
+ if params[:export].present? && params[:export]
+ normal_status(0,"正在下载中")
+ else
+ set_export_cookies
+ render xlsx: "#{topic_export_name_.strip}",template: "graduation_topics/export.xlsx.axlsx",locals: {table_columns:@topic_head_cells,topic_users:@topic_body_cells}
+ end
rescue Exception => e
uid_logger(e.message)
missing_template
diff --git a/app/controllers/polls_controller.rb b/app/controllers/polls_controller.rb
index 87435f743..7d978d722 100644
--- a/app/controllers/polls_controller.rb
+++ b/app/controllers/polls_controller.rb
@@ -945,9 +945,12 @@ class PollsController < ApplicationController
tip_exception(403,"无权限操作")
elsif (@poll.polls_status == 1) || (@poll_export_questions.size == 0) || (@poll_commit_ids.size == 0)
normal_status(-1,"暂无用户提交")
+ elsif params[:export].present? && params[:export]
+ normal_status(0,"正在下载中")
else
respond_to do |format|
format.xlsx{
+ set_export_cookies
polls_export_name_ = "#{current_user.real_name}_#{@course.name}_#{@poll.polls_name}_#{Time.now.strftime('%Y%m%d_%H%M%S')}"
polls_user_commit = poll_commit_result(@poll,@poll_export_questions,@poll_users,@poll_commit_ids)
render xlsx: "#{polls_export_name_.strip}",template: "polls/commit_result.xlsx.axlsx",locals: {polls_user_commit:polls_user_commit}
diff --git a/app/controllers/zips_controller.rb b/app/controllers/zips_controller.rb
index b1f7804a9..3ed1eb8b3 100644
--- a/app/controllers/zips_controller.rb
+++ b/app/controllers/zips_controller.rb
@@ -27,6 +27,7 @@ class ZipsController < ApplicationController
if params[:export].present? && params[:export]
normal_status(0,"正在下载中")
else
+ set_export_cookies
send_file exercises.ex_zip, filename: file_name_, type: 'application/zip'
end
rescue Exception => e
From 8c584ba15d2080559518b2bdcc151452e1f3c1b5 Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 31 Jul 2019 09:58:08 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=A4=9A=E5=AA=92?=
=?UTF-8?q?=E4=BD=93=E7=B1=BB=E7=9A=84=E5=AE=9E=E8=AE=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/games_controller.rb | 2 +-
app/views/games/picture_display.json.jbuilder | 25 +++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
index b2de6dcad..510044aa4 100644
--- a/app/controllers/games_controller.rb
+++ b/app/controllers/games_controller.rb
@@ -116,7 +116,7 @@ class GamesController < ApplicationController
@qrcode_str = Base64.encode64( qr.to_img.resize(400,400).to_s )
else
- @type = "image"
+ @type = shixun_show_type @game_challenge.show_type
#conv = Iconv.new("GBK", "utf-8")
@game_challenge = @game.challenge
type = @game_challenge.show_type
diff --git a/app/views/games/picture_display.json.jbuilder b/app/views/games/picture_display.json.jbuilder
index 541c478a9..b43efa57e 100644
--- a/app/views/games/picture_display.json.jbuilder
+++ b/app/views/games/picture_display.json.jbuilder
@@ -24,5 +24,30 @@ elsif @type == "txt"
json.contents @contents.html_safe
elsif @type =="qrcode"
json.qrcode_str @qrcode_str
+elsif @type == "mp3" || @type == "mp4"
+ if @type == "mp4"
+ json.orignal_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378171/123.mp4"}]
+ json.user_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378172/456.mp4"}]
+ json.answer_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378173/789.mp4"}]
+ else
+ json.orignal_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378174/58099.mp3"}]
+ json.user_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378175/654058514.mp3"}]
+ json.answer_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378175/654058514.mp3"}]
+ end
+ # json.orignal_file do
+ # json.array! @orignal_picture do |file|
+ # json.file_url attachment_show_users_path(:file_name => file, :path => @original_path)
+ # end
+ # end
+ # json.user_file do
+ # json.array! @user_picture do |file|
+ # json.file_url attachment_show_users_path(:file_name => file, :path => @user_path, :time => Time.now.to_i)
+ # end
+ # end
+ # json.answer_file do
+ # json.array! @answer_picture do |file|
+ # json.file_url attachment_show_users_path(:file_name => file, :path => @answer_path)
+ # end
+ # end
end
\ No newline at end of file
From 400e5c104011c1f593daf97092d230fa4acffc37 Mon Sep 17 00:00:00 2001
From: hjm <63528605@qq.com>
Date: Wed, 31 Jul 2019 10:08:01 +0800
Subject: [PATCH 5/7] export true
---
.../modules/courses/shixunHomework/Trainingjobsetting.js | 8 ++++----
.../courses/shixunHomework/Workquestionandanswer.js | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
index 8cbf0402f..99c295c40 100644
--- a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
+++ b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
@@ -1766,16 +1766,16 @@ class Trainingjobsetting extends Component {
daochushixunbaogao=()=>{
let url =`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`;
- this.confirmysl(url + '&export=true');
+ this.confirmysl(url, url + '&export=true');
}
daochuzuoye =() =>{
let url = `/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`;
- this.confirmysl(url + '?export=true');
+ this.confirmysl(url, url + '?export=true');
}
- confirmysl(url){
- axios.get(url).then((response) => {
+ confirmysl(url, urlWithExport){
+ axios.get(urlWithExport).then((response) => {
if(response === undefined){
return
}
diff --git a/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js b/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js
index 2da08e2ad..4ed45790d 100644
--- a/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js
+++ b/public/react/src/modules/courses/shixunHomework/Workquestionandanswer.js
@@ -339,16 +339,16 @@ class Workquestionandanswer extends Component {
daochushixunbaogao=()=>{
let url =`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`;
- this.confirmysl(url + '&export=true');
+ this.confirmysl(url, url + '&export=true');
}
daochuzuoye =() =>{
let url = `/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`;
- this.confirmysl(url + '?export=true');
+ this.confirmysl(url, url + '?export=true');
}
- confirmysl(url){
- axios.get(url).then((response) => {
+ confirmysl(url, urlWithExport){
+ axios.get(urlWithExport).then((response) => {
if(response === undefined){
return
}
From 2e889a74e56189c9077fa443a2a267df9cba4a22 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 31 Jul 2019 11:20:32 +0800
Subject: [PATCH 6/7] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8E=A7=E5=88=B6?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E4=B8=8D=E8=83=BD=E9=80=89=E4=BB=8A?=
=?UTF-8?q?=E5=A4=A9=E4=B9=8B=E5=89=8D=E7=9A=84=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/courses/coursesPublic/HomeworkModal.js | 11 ++++++++++-
.../modules/courses/coursesPublic/SelectSetting.js | 8 +++++++-
.../src/modules/courses/coursesPublic/sendResource.js | 8 +++++++-
.../src/modules/courses/exercise/Exercisesetting.js | 8 ++++++++
.../graduation/tasks/GraduationTaskssetting.js | 9 +++++++++
public/react/src/modules/courses/new/CoursesNew.js | 4 ++++
.../modules/courses/poll/PollDetailTabForthRules.js | 8 ++++++++
.../courses/shixunHomework/Trainingjobsetting.js | 6 ++++++
.../react/src/modules/tpm/TPMsettings/TPMsettings.js | 7 ++++++-
public/react/src/modules/tpm/newshixuns/Newshixuns.js | 8 +++++---
10 files changed, 70 insertions(+), 7 deletions(-)
diff --git a/public/react/src/modules/courses/coursesPublic/HomeworkModal.js b/public/react/src/modules/courses/coursesPublic/HomeworkModal.js
index 440d8893c..deb329fb9 100644
--- a/public/react/src/modules/courses/coursesPublic/HomeworkModal.js
+++ b/public/react/src/modules/courses/coursesPublic/HomeworkModal.js
@@ -20,6 +20,14 @@ function disabledDateTime() {
// disabledSeconds: () => [55, 56],
};
}
+
+
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
+
+
+
class HomeworkModal extends Component{
constructor(props){
super(props);
@@ -81,7 +89,7 @@ class HomeworkModal extends Component{
// console.log('startValue',dateString);
this.setState({
- endtime: handleDateString(dateString),
+ endtime: date===null?"":handleDateString(dateString),
})
}
@@ -188,6 +196,7 @@ class HomeworkModal extends Component{
dropdownClassName="hideDisable"
showTime={{ format: 'HH:mm' }}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
showToday={false}
locale={locale}
format={dateFormat}
diff --git a/public/react/src/modules/courses/coursesPublic/SelectSetting.js b/public/react/src/modules/courses/coursesPublic/SelectSetting.js
index 08e01e28e..fa2e014f9 100644
--- a/public/react/src/modules/courses/coursesPublic/SelectSetting.js
+++ b/public/react/src/modules/courses/coursesPublic/SelectSetting.js
@@ -16,12 +16,17 @@ function range(start, end) {
}
return result;
}
+
function disabledDateTime() {
return {
disabledMinutes: () => range(1, 30).concat(range(31, 60)),
// disabledSeconds: () => range(1,60)
}
}
+
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
class Selectsetting extends Component{
constructor(props){
super(props);
@@ -698,6 +703,7 @@ class Selectsetting extends Component{
onChange={(e,index)=>this.onChangeTimepublishs(e,index,key)}
// onChange={ this.onChangeTimepublish }
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
/>
{key!=0?this.deletegrouppublish(key)}>:""}
@@ -730,7 +736,7 @@ class Selectsetting extends Component{
value={datatime===undefined||datatime===""?"":moment(datatime, dateFormat)}
onChange={this.onChangeTimepublish}
disabledTime={disabledDateTime}
-
+ disabledDate={disabledDate}
/>
:""}
diff --git a/public/react/src/modules/courses/coursesPublic/sendResource.js b/public/react/src/modules/courses/coursesPublic/sendResource.js
index 397711ca3..8443061dd 100644
--- a/public/react/src/modules/courses/coursesPublic/sendResource.js
+++ b/public/react/src/modules/courses/coursesPublic/sendResource.js
@@ -22,6 +22,11 @@ function disabledDateTime() {
};
}
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
+
+
const dateFormat="YYYY-MM-DD HH:mm";
class Sendresource extends Component{
constructor(props){
@@ -525,6 +530,7 @@ class Sendresource extends Component{
onChange={(e,index)=>this.onChangeTimepublish(e,index,key,2)}
// onChange={ this.onChangeTimepublish }
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
/>
{key!=0?this.deletegrouppublish(key)}>:""}
{key===course_group_publish_times.length-1&&key:""}
@@ -551,7 +557,7 @@ class Sendresource extends Component{
value={datatime===undefined||datatime===""?undefined:moment(datatime, dateFormat)}
onChange={(e,index)=>this.onChangeTimepublish(e,index,undefined,1)}
disabledTime={disabledDateTime}
-
+ disabledDate={disabledDate}
/>
:""}
diff --git a/public/react/src/modules/courses/exercise/Exercisesetting.js b/public/react/src/modules/courses/exercise/Exercisesetting.js
index 9b6103fdb..a93aa9942 100644
--- a/public/react/src/modules/courses/exercise/Exercisesetting.js
+++ b/public/react/src/modules/courses/exercise/Exercisesetting.js
@@ -23,6 +23,7 @@ function range(start, end) {
}
return result;
}
+
function disabledDateTime() {
return {
// disabledHours: () => range(0, 24).splice(4, 20),
@@ -30,6 +31,11 @@ function disabledDateTime() {
// disabledSeconds: () => [0, 60],
};
}
+
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
+
const dataformat="YYYY-MM-DD HH:mm";
class Exercisesetting extends Component{
@@ -636,6 +642,7 @@ class Exercisesetting extends Component{
format="YYYY-MM-DD HH:mm"
showToday={false}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
onChange={this.onChangeTimepublish}
value={publish_time && moment(publish_time,"YYYY-MM-DD HH:mm")}
disabled={ publish_timetype===true?true:!flagPageEdit }
@@ -661,6 +668,7 @@ class Exercisesetting extends Component{
width={"240px"}
format="YYYY-MM-DD HH:mm"
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
onChange={this.onChangeTimeEnd}
value={end_time && moment(end_time,"YYYY-MM-DD HH:mm")}
disabled={ end_timetype===true?true:!flagPageEdit}
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js
index 5bbbe1a14..59d3dce17 100644
--- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js
+++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssetting.js
@@ -27,6 +27,11 @@ function disabledDateTime() {
};
}
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
+
+
class GraduationTaskssettingapp extends Component{
constructor(props){
@@ -1181,6 +1186,7 @@ class GraduationTaskssettingapp extends Component{
value={publish_time===null||publish_time===""?"":moment(publish_time, dateFormat)}
onChange={this.onChangeTimepublish}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
disabled={this.props.isAdmin()===true?starttimetype===true?true:flagPageEdit===true?false:true:true}
className={ this.state.publishTimetypes===true?"noticeTip":""}
/>
@@ -1218,6 +1224,7 @@ class GraduationTaskssettingapp extends Component{
value={end_time===null||end_time===""?"":moment(end_time, dateFormat)}
onChange={this.onChangeTimeend}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
// disabled={this.props.isSuperAdmin()===true?flagPageEdit===true?false:true:this.props.isAdmin()===true?endtimetype===true?true:flagPageEdit===true?false:true:true}
disabled={this.props.isAdmin()===true?endtimetype===true?true:flagPageEdit===true?false:true:true}
className={this.state.endTimetypes===true||end_timetype===true?"noticeTip":""}
@@ -1269,6 +1276,7 @@ class GraduationTaskssettingapp extends Component{
width={"210px"}
value={latetime===null||latetime===""?"":moment(latetime, dateFormat)}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
onChange={this.onChangeTimelatetime}
disabled={this.props.isAdmin()===true?allowlate===true||allowlate===1?flagPageEdit===true?false:true:true:true}
className={ latetimetype===true?"noticeTip":""}
@@ -1319,6 +1327,7 @@ class GraduationTaskssettingapp extends Component{
width={"210px"}
value={commenttime===null||commenttime=== ""?"":moment(commenttime, dateFormat)}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
onChange={this.onChangeTimecommenttime}
disabled={this.props.isAdmin()===true?flagPageEdit===true?false:true:true}
className={ commenttimetype===true?"noticeTip":""}
diff --git a/public/react/src/modules/courses/new/CoursesNew.js b/public/react/src/modules/courses/new/CoursesNew.js
index b817136ed..c5602d285 100644
--- a/public/react/src/modules/courses/new/CoursesNew.js
+++ b/public/react/src/modules/courses/new/CoursesNew.js
@@ -28,6 +28,9 @@ function disabledDateTime() {
};
}
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
class CoursesNew extends Component {
@@ -572,6 +575,7 @@ class CoursesNew extends Component {
width={"210px"}
value={datatime === undefined ? "" :datatime === null ? "" : moment(datatime, dateFormat)}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
dropdownClassName="hideDisable"
onChange={this.onChangeTimepublishs}
/>
diff --git a/public/react/src/modules/courses/poll/PollDetailTabForthRules.js b/public/react/src/modules/courses/poll/PollDetailTabForthRules.js
index 292830fb8..8b62dd5e4 100644
--- a/public/react/src/modules/courses/poll/PollDetailTabForthRules.js
+++ b/public/react/src/modules/courses/poll/PollDetailTabForthRules.js
@@ -26,6 +26,12 @@ function disabledDateTime() {
// disabledSeconds: () => range(1,60)
}
}
+
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
+
+
class PollDetailTabForthRules extends Component{
constructor(props){
super(props);
@@ -404,6 +410,7 @@ class PollDetailTabForthRules extends Component{
showTime={{ format: 'HH:mm' }}
format="YYYY-MM-DD HH:mm"
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
disabled={ rule.e_timeflag ===undefined?rule.publish_time===null?false:!flagPageEdit:rule.p_timeflag == true ? true : !flagPageEdit}
style={{"height":"42px",width:'100%'}}
>
@@ -429,6 +436,7 @@ class PollDetailTabForthRules extends Component{
showTime={{ format: 'HH:mm' }}
format="YYYY-MM-DD HH:mm"
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
disabled={ rule.e_timeflag ===undefined?rule.publish_time===null?false:!flagPageEdit:rule.e_timeflag == true ? true : !flagPageEdit}
style={{"height":"42px"}}
>
diff --git a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
index b07392153..21f03a819 100644
--- a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
+++ b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
@@ -47,6 +47,9 @@ function disabledDateTime() {
}
}
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
class Trainingjobsetting extends Component {
//unifiedsetting 统一设置
@@ -1935,6 +1938,7 @@ class Trainingjobsetting extends Component {
id={"publishtimeid"}
disabledDate={this.disabledStartDatestart}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
className={borreds}
showTime={{ format: 'HH:mm' }}
format="YYYY-MM-DD HH:mm"
@@ -1967,6 +1971,7 @@ class Trainingjobsetting extends Component {
showToday={false}
id={"end_timeid"}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
showTime={{ format: 'HH:mm' }}
className={borredss}
format="YYYY-MM-DD HH:mm"
@@ -2049,6 +2054,7 @@ class Trainingjobsetting extends Component {
showToday={false}
id={"late_timeid"}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
format="YYYY-MM-DD HH:mm"
value={late_time && moment(late_time, dataformat)}
onChange={this.onEndChangeys}
diff --git a/public/react/src/modules/tpm/TPMsettings/TPMsettings.js b/public/react/src/modules/tpm/TPMsettings/TPMsettings.js
index 8eb2c76dd..bb318ba13 100644
--- a/public/react/src/modules/tpm/TPMsettings/TPMsettings.js
+++ b/public/react/src/modules/tpm/TPMsettings/TPMsettings.js
@@ -199,6 +199,10 @@ function disabledDateTime() {
// disabledSeconds: () => [0, 60],
};
}
+
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
export default class TPMsettings extends Component {
constructor(props) {
super(props)
@@ -1144,7 +1148,7 @@ export default class TPMsettings extends Component {
}
onChangeTimePicker =(value, dateString)=> {
this.setState({
- opening_time:moment(handleDateStrings(dateString))
+ opening_time: dateString=== ""?"":moment(handleDateStrings(dateString))
})
}
@@ -1871,6 +1875,7 @@ export default class TPMsettings extends Component {
width={178}
locale={locale}
disabledTime={disabledDateTime}
+ disabledDate={disabledDate}
placeholder="请选择开启时间"
value={opening_time===null||opening_time===""?"":moment(opening_time, dateFormat)}
onChange={this.onChangeTimePicker}
diff --git a/public/react/src/modules/tpm/newshixuns/Newshixuns.js b/public/react/src/modules/tpm/newshixuns/Newshixuns.js
index f9c8f5b10..790402a22 100644
--- a/public/react/src/modules/tpm/newshixuns/Newshixuns.js
+++ b/public/react/src/modules/tpm/newshixuns/Newshixuns.js
@@ -191,7 +191,9 @@ function disabledDateTime() {
};
}
-
+function disabledDate(current) {
+ return current && current < moment().endOf('day').subtract(1, 'days');
+}
class Newshixuns extends Component {
constructor(props) {
super(props)
@@ -743,7 +745,7 @@ class Newshixuns extends Component {
onChangeTimePicker = (value, dateString) => {
this.setState({
- TimePickervalue: moment(handleDateStrings(dateString))
+ TimePickervalue: dateString=== ""?"":moment(handleDateStrings(dateString))
})
}
@@ -1288,7 +1290,7 @@ class Newshixuns extends Component {
placeholder="请选择开启时间"
onChange={this.onChangeTimePicker}
value={TimePickervalue && moment(TimePickervalue, "YYYY-MM-DD HH:mm")}
-
+ disabledDate={disabledDate}
disabledTime={disabledDateTime}
dropdownClassName="hideDisable"
/>
From 7eb2e4c71351398cbcbf5a1f2c9b77c1099a9e1b Mon Sep 17 00:00:00 2001
From: p31729568
Date: Wed, 31 Jul 2019 13:42:05 +0800
Subject: [PATCH 7/7] move user project search api controller
---
app/controllers/projects_controller.rb | 8 --------
app/controllers/users/base_controller.rb | 2 +-
app/controllers/users/projects_controller.rb | 11 +++++++++++
app/views/{ => users}/projects/search.json.jbuilder | 0
config/routes.rb | 2 +-
5 files changed, 13 insertions(+), 10 deletions(-)
rename app/views/{ => users}/projects/search.json.jbuilder (100%)
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index c9ed6c597..672477790 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -1,10 +1,2 @@
class ProjectsController < ApplicationController
- def search
- query_params = { keyword: params[:keyword], category: 'manage' }
- projects = Users::ProjectService.new(current_user, query_params).call
-
- params[:limit] = params[:per_page].to_i.zero? ? 20 : params[:per_page].to_i
- @count = projects.count
- @projects = paginate projects
- end
end
\ No newline at end of file
diff --git a/app/controllers/users/base_controller.rb b/app/controllers/users/base_controller.rb
index fd138a182..969aca320 100644
--- a/app/controllers/users/base_controller.rb
+++ b/app/controllers/users/base_controller.rb
@@ -43,7 +43,7 @@ class Users::BaseController < ApplicationController
page = page_value
per_page = per_page_value
- return Kaminari.paginate_array(objs).page(page).per(per_page) unless observed_logged_user? && opts[:special]
+ return Kaminari.paginate_array(objs).page(page).per(per_page) unless opts[:special] && observed_logged_user?
# note: 为实现第一页少一条记录,让前端放置新建入口
if page == 1
diff --git a/app/controllers/users/projects_controller.rb b/app/controllers/users/projects_controller.rb
index 863b99b37..07f4d5cac 100644
--- a/app/controllers/users/projects_controller.rb
+++ b/app/controllers/users/projects_controller.rb
@@ -1,4 +1,6 @@
class Users::ProjectsController < Users::BaseController
+ skip_before_action :check_observed_user_exists!, only: [:search]
+
def index
projects = Users::ProjectService.new(observed_user, query_params).call
@@ -6,6 +8,15 @@ class Users::ProjectsController < Users::BaseController
@projects = paginate(projects.includes(:project_score, owner: { user_extension: :school }), special: true)
end
+ def search
+ query_params = { keyword: params[:keyword], category: 'manage' }
+ projects = Users::ProjectService.new(current_user, query_params).call
+
+ params[:limit] = params[:per_page].to_i.zero? ? 20 : params[:per_page].to_i
+ @count = projects.count
+ @projects = paginate projects
+ end
+
private
def query_params
diff --git a/app/views/projects/search.json.jbuilder b/app/views/users/projects/search.json.jbuilder
similarity index 100%
rename from app/views/projects/search.json.jbuilder
rename to app/views/users/projects/search.json.jbuilder
diff --git a/config/routes.rb b/config/routes.rb
index 2f9eed61b..581f563b0 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -75,7 +75,7 @@ Rails.application.routes.draw do
get :system_update
resource :trial_apply, only: [:create]
- resources :projects, only: [] do
+ resources :projects, module: :users, only: [] do
get :search, on: :collection
end