From 42f1bb635378075e412ba5c88e2f5e34216d5e06 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Sat, 2 Nov 2019 15:39:19 +0800 Subject: [PATCH 01/34] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/exercises_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index a6464a151..e5582ab87 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -1116,6 +1116,7 @@ class ExercisesController < ApplicationController # 学生提交试卷 def commit_exercise + tip_exception(-1, "试卷已提交") if @answer_committed_user.commit_status == 1 ActiveRecord::Base.transaction do begin can_commit_exercise = false From 93dffbe1228d8f225d980076d26161d4abcee13a Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Mon, 4 Nov 2019 13:52:32 +0800 Subject: [PATCH 02/34] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=9A=84=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/exercises_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/exercises_helper.rb b/app/helpers/exercises_helper.rb index 395d67913..69a8d4ca1 100644 --- a/app/helpers/exercises_helper.rb +++ b/app/helpers/exercises_helper.rb @@ -502,7 +502,7 @@ module ExercisesHelper exercise_cha_score = 0.0 answer_status = 0 # if game.status == 2 && game.final_score >= 0 - if game.final_score > 0 + if game.final_score > 0 && game.end_time < exercise.end_time exercise_cha_score = game.real_score(exercise_cha.question_score) # exercise_cha_score = exercise_cha.question_score #每一关卡的得分 answer_status = 1 From 9353fc9b7ce982ec0051a59939782e8934d5ff35 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Mon, 4 Nov 2019 17:27:57 +0800 Subject: [PATCH 03/34] =?UTF-8?q?=E8=AF=BE=E5=A0=82=E8=AE=A8=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA=E7=9A=84=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/messages_controller.rb | 9 +++ app/mailers/user_mailer.rb | 7 +++ .../user_mailer/course_message_email.html.erb | 62 +++++++++++++++++++ .../user_mailer/course_message_email.text.erb | 1 + ...191104080912_add_email_notify_to_course.rb | 5 ++ 5 files changed, 84 insertions(+) create mode 100644 app/views/user_mailer/course_message_email.html.erb create mode 100644 app/views/user_mailer/course_message_email.text.erb create mode 100644 db/migrate/20191104080912_add_email_notify_to_course.rb diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 2302272bf..c1e08d440 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -125,6 +125,9 @@ class MessagesController < ApplicationController @message.message_detail_attributes = {content: params[:content]} @message.save! Attachment.associate_container(params[:attachment_ids], @message.id, @message.class.name) + if @board.course.email_notify && params[:email_notify] + notify_course_students @message, @board.course + end rescue Exception => e uid_logger_error(e.message) tip_exception(e.message) @@ -201,4 +204,10 @@ class MessagesController < ApplicationController def message_params params.require(:message).permit(:subject, :sticky) end + + def notify_course_students message, course + course.students.includes(:user).each do |student| + UserMailer.course_message_email(student&.user&.mail, message.id).deliver_now if student&.user&.mail + end + end end diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 03ef63bb2..5cd9d787c 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -7,4 +7,11 @@ class UserMailer < ApplicationMailer @code = code mail(to: mail, subject: '验证你的电子邮件') end + + # 课堂讨论区的邮件通知 + def course_message_email(mail, message_id) + @message = Message.find_by(id: message_id) + @course = @message&.board&.course + mail(to: mail, subject: '课堂通知') if @message.present? && @course.present? + end end diff --git a/app/views/user_mailer/course_message_email.html.erb b/app/views/user_mailer/course_message_email.html.erb new file mode 100644 index 000000000..66c75414b --- /dev/null +++ b/app/views/user_mailer/course_message_email.html.erb @@ -0,0 +1,62 @@ + +
+ ++ 您好! +
++ 您正在注册Educoder,请在10分钟内在注册页输入此验证码,并进行下一步操作。 + 如非你本人操作,请忽略此邮件。 +
+<%= @code %>
++ 如果您并未发过此请求,则可能是因为其他用户在注册时误输了您的邮件地址,而使您收到了这封邮件,那么您可以放心的忽略此邮件,无需进一步采取任何操作。 +
+