diff --git a/app/controllers/seminars_controller.rb b/app/controllers/seminars_controller.rb
index 2bf9443..24634e2 100644
--- a/app/controllers/seminars_controller.rb
+++ b/app/controllers/seminars_controller.rb
@@ -383,7 +383,7 @@ class SeminarsController < ApplicationController
referer_url = OrbitHelper.request.referer
- if (referer_url.nil? || referer_url.match(/(\?|&)method=show_privacy/).nil?) && !OrbitHelper.request.flash[:notice]
+ if (referer_url.nil? || referer_url.match(/(\?|&)method=show_privacy/).nil?) && !OrbitHelper.request.params[:notice]
return {
"seminar" => seminar,
"seminar_signup" => seminar_signup,
@@ -443,7 +443,7 @@ class SeminarsController < ApplicationController
if @seminar.enable_recaptcha && (!gotcha_valid?)
notice_words = t('recaptcha.errors.verification_failed')
referer_url = get_referer_url_for_notice(notice_words)
- redirect_to referer_url, :notice => notice_words
+ show_alert(notice_words)
return
end
signup_limit = @seminar.signup_limit
@@ -462,7 +462,7 @@ class SeminarsController < ApplicationController
else
notice_words = t('seminar.sign_up_is_full')
referer_url = get_referer_url_for_notice(notice_words)
- redirect_to referer_url, :notice => notice_words
+ show_alert(notice_words)
return
end
end
@@ -471,7 +471,7 @@ class SeminarsController < ApplicationController
if signup_limit <= signup_count
notice_words = t('seminar.sign_up_is_full')
referer_url = get_referer_url_for_notice(notice_words)
- redirect_to referer_url, :notice => notice_words
+ show_alert(notice_words)
return
end
end
@@ -518,7 +518,9 @@ class SeminarsController < ApplicationController
end
send_mail('signup',params[:seminar_signup][:email],params[:seminar_signup][:seminar_main_id],extra_text)
end
- redirect_to "#{params[:referer_url].to_s.chomp('/').gsub(/\/([^\/?#]+)(|[^\/]+)$/){|f| '/'+$1}}?method=signup_ok#{status_param}&serial_number=#{@seminar_signup.display_serial_number}&seminar=#{@seminar.uid}"
+
+ redirect_with_js("#{params[:referer_url].to_s.chomp('/').gsub(/\/([^\/?#]+)(|[^\/]+)$/){|f| '/'+$1}}?method=signup_ok#{status_param}&serial_number=#{@seminar_signup.display_serial_number}&seminar=#{@seminar.uid}")
+
else
if has_counter
OrbitHelper::SharedMutex.synchronize do
@@ -528,11 +530,11 @@ class SeminarsController < ApplicationController
if !not_signup_yet
notice_words = t('seminar.email_exist')
referer_url = get_referer_url_for_notice(notice_words)
- redirect_to referer_url, :notice => notice_words
+ show_alert(notice_words)
else
notice_words = t('seminar.sign_up_failed')
referer_url = get_referer_url_for_notice(notice_words)
- redirect_to referer_url, :notice => notice_words
+ show_alert(notice_words)
end
end
@@ -572,7 +574,7 @@ class SeminarsController < ApplicationController
end
send_mail('signup',tmp_seminar_signup_params[:email],tmp_seminar_signup_params[:seminar_main_id],extra_text)
end
- redirect_to "#{params[:referer_url].to_s.chomp('/').gsub(/\/([^\/?#]+)(|[^\/]+)$/){|f| '/'+$1}}?method=con_upload"
+ redirect_with_js("#{params[:referer_url].to_s.chomp('/').gsub(/\/([^\/?#]+)(|[^\/]+)$/){|f| '/'+$1}}?method=con_upload")
end
def signup_ok
@@ -934,4 +936,20 @@ class SeminarsController < ApplicationController
def seminar_signup_values_params
params.require(:seminar_signup_values).permit!
end
+
+ private
+ def show_alert(notice_words)
+ respond_to do |format|
+ format.js{
+ render :js => "alert('#{notice_words}');"
+ }
+ end
+ end
+ def redirect_with_js(url)
+ respond_to do |format|
+ format.js{
+ render :js => "window.location.href = '#{url}';"
+ }
+ end
+ end
end
diff --git a/app/views/seminars/edit_login_seminar_signup.html.erb b/app/views/seminars/edit_login_seminar_signup.html.erb
index 2e95b22..bdc4d42 100644
--- a/app/views/seminars/edit_login_seminar_signup.html.erb
+++ b/app/views/seminars/edit_login_seminar_signup.html.erb
@@ -58,7 +58,7 @@
margin: 0;
}
-<%= form_for @seminar_signup, url: (@seminar_signup.new_record? ? seminars_path : update_signup_form_seminars_path), html: {class: "content form-horizontal" , :id=>"new-seminar-signup", multipart: true} do |f| %>
+<%= form_for @seminar_signup, url: (@seminar_signup.new_record? ? seminars_path : update_signup_form_seminars_path), html: {class: "content form-horizontal" , :id=>"new-seminar-signup", multipart: true, :remote=>true} do |f| %>