From 40722b70708ca88a183da9443f5e2ca2a221656d Mon Sep 17 00:00:00 2001 From: rulingcom Date: Wed, 3 Sep 2025 17:39:28 +0800 Subject: [PATCH] updates for Junyi --- app/controllers/admin/asks_controller.rb | 17 +++++-- app/controllers/asks_controller.rb | 2 +- app/views/admin/asks/_form.html.erb | 61 ++++++++++++++++++++++++ app/views/asks/see_email.html.erb | 7 +-- 4 files changed, 80 insertions(+), 7 deletions(-) diff --git a/app/controllers/admin/asks_controller.rb b/app/controllers/admin/asks_controller.rb index 7b13a9a..fe9421d 100644 --- a/app/controllers/admin/asks_controller.rb +++ b/app/controllers/admin/asks_controller.rb @@ -398,6 +398,17 @@ class Admin::AsksController < OrbitAdminController build_email(@ask_question) end + # 取得同一 ask_question 的所有歷史紀錄,依時間排序 + histories = AskStatusHistory.where(ask_question_id: @ask_question.id).order_by(:created_at.asc) + + # 比對相鄰兩筆 + histories.each_cons(2) do |h1, h2| + # 判斷是否為重複:同一狀態,且時間差小於 1 秒 + if h2.status == h1.status && (h2.created_at - h1.created_at).abs < 1.second + h2.destroy + end + end + redirect_to admin_asks_path(:locale=>locale), notice: t('ask.reply_success') end @@ -413,7 +424,7 @@ class Admin::AsksController < OrbitAdminController @mail_sentdate = DateTime.now site = Site.first - mail_from = site.title_translations[site.default_locale] + mail_from = site.title_translations[site['default_locale']] new_history = email_er.new_history host_url = Site.first.root_url rescue "http://" @@ -422,12 +433,12 @@ class Admin::AsksController < OrbitAdminController end email_er.email.update_attributes( - :mail_lang=> site.default_locale, + :mail_lang=> site['default_locale'], :create_user=>current_user, :mail_sentdate=>@mail_sentdate, :module_app=>@module_app, :mail_to=>@group_mail, - :mail_subject=>(mail_from+" #{t('ask.reply')}:" rescue "#{t('ask.reply')}:"), + :mail_subject=>mail_from+" #{t('ask.reply')}:", :template=>'admin/asks/email', :template_data=>{ "host_url" => host_url, diff --git a/app/controllers/asks_controller.rb b/app/controllers/asks_controller.rb index d0c7f6c..1c8e632 100644 --- a/app/controllers/asks_controller.rb +++ b/app/controllers/asks_controller.rb @@ -479,7 +479,7 @@ class AsksController < ApplicationController build_email(@ask_question) end if @must_verify_email - redirect_to "#{params[:referer_url]}?method=see_email" + redirect_to "#{params[:referer_url]}?method=see_email&email=#{@ask_question.mail}" else redirect_to "#{params[:referer_url]}?method=thank&category=#{params['ask_question']['category_id']}" end diff --git a/app/views/admin/asks/_form.html.erb b/app/views/admin/asks/_form.html.erb index dc18d1e..cd67f6e 100644 --- a/app/views/admin/asks/_form.html.erb +++ b/app/views/admin/asks/_form.html.erb @@ -235,3 +235,64 @@ <%= f.submit t('submit'), class: 'btn btn-primary' %> <%= link_to t('cancel'),cancel_href,title: t('cancel'),:class=> 'btn' %> + + diff --git a/app/views/asks/see_email.html.erb b/app/views/asks/see_email.html.erb index 1b6ec63..61ef351 100644 --- a/app/views/asks/see_email.html.erb +++ b/app/views/asks/see_email.html.erb @@ -1,9 +1,10 @@
-

- <%= t('ask.see_email') %> +

+ 請確認email驗證信 (<%= params[:email] %>) ,以開始填寫表單。 +

\ No newline at end of file