Compare commits

...

3 Commits

Author SHA1 Message Date
邱博亞 6c190bfecb Add agree settings. 2024-01-18 23:47:13 +08:00
邱博亞 61fa9d03f8 Fix bug. 2024-01-18 23:46:47 +08:00
邱博亞 8768186242 Fix bug. 2024-01-18 22:56:04 +08:00
8 changed files with 103 additions and 31 deletions

View File

@ -1,6 +1,6 @@
# encoding: utf-8
class Admin::ApplicationFormsController < OrbitAdminController
Is_Rails5 = (Rails::VERSION::MAJOR >= 5)
require 'axlsx'
include Admin::ApplicationFormsHelper
helper Admin::ApplicationFormsFieldHelper
@ -501,7 +501,20 @@ class Admin::ApplicationFormsController < OrbitAdminController
application_form.application_form_email_sets.create(value)
end
end
redirect_to params['referer_url']
if params['referer_url'].blank?
fallback_location = admin_application_forms_path
if Is_Rails5
redirect_back(fallback_location: fallback_location) and return
else
begin
redirect_to :back and return
rescue
redirect_to fallback_location and return
end
end
else
redirect_to params['referer_url'] and return
end
end
@ -603,7 +616,20 @@ class Admin::ApplicationFormsController < OrbitAdminController
@application_form.update_user_id = current_user.id
if @application_form.update_attributes(@application_form_params)
@application_form.application_form_signup_fields.each{|t| t.destroy if t["to_delete"] == true}
redirect_to params['referer_url'] and return
if params['referer_url'].blank?
fallback_location = admin_application_forms_path
if Is_Rails5
redirect_back(fallback_location: fallback_location) and return
else
begin
redirect_to :back and return
rescue
redirect_to fallback_location and return
end
end
else
redirect_to params['referer_url'] and return
end
else
flash.now[:error] = t('update.error.category')
render action: :edit and return
@ -916,7 +942,31 @@ class Admin::ApplicationFormsController < OrbitAdminController
(ApplicationFormSignup.attribute_names + ['recaptcha']).each do |attr_signup|
next if except_attributes.include?(attr_signup)
signup_set = @application_form.application_form_signup_field_sets.select{|v| v.field_name==attr_signup }
if signup_set.length==0
fix_trans = false
if signup_set.length > 0 && signup_set[0].name[I18n.locale.to_s].include?("Translation missing")
fix_trans = true
end
if signup_set.length==0 || fix_trans
name1 = Hash.new
now_locale = I18n.locale
I18n.available_locales.each do |locale|
I18n.with_locale(locale) do
tmp = t("application_form_signup.#{attr_signup}", :default=>nil)
if tmp.nil?
tmp = t("application_form.#{attr_signup}", :default=>nil)
end
if tmp
name1[locale] = tmp
end
end
end
I18n.locale = now_locale
if fix_trans
signup_set.each do |s|
s.update(name:name1,placeholder:name1)
end
next
end
if ApplicationFormSignup::DefaultEnableFields.include? attr_signup
disabled = false
else
@ -927,17 +977,10 @@ class Admin::ApplicationFormsController < OrbitAdminController
else
hidden = true
end
name1 = Hash.new
now_locale = I18n.locale
I18n.available_locales.each do |locale|
I18n.locale = locale
name1[locale] = t("application_form_signup.#{attr_signup}")
end
I18n.locale = now_locale
if save_flag
@application_form.application_form_signup_field_sets.create(field_name:attr_signup,disabled:disabled,hidden:hidden,name:name1,placeholder:name1)
@application_form.application_form_signup_field_sets.create(field_name:attr_signup,disabled:disabled,hidden:hidden,name:name1,placeholder:name1)
else
@application_form.application_form_signup_field_sets.new(field_name:attr_signup,disabled:disabled,hidden:hidden,name:name1,placeholder:name1)
@application_form.application_form_signup_field_sets.new(field_name:attr_signup,disabled:disabled,hidden:hidden,name:name1,placeholder:name1)
end
end
end
@ -945,18 +988,35 @@ class Admin::ApplicationFormsController < OrbitAdminController
ApplicationFormSignupContribute.attribute_names.each do |attr_submission|
next if except_attributes.include?(attr_submission)
signup_set = @application_form.application_form_submission_field_sets.select{|v| v.field_name==attr_submission }
if signup_set.length==0
fix_trans = false
if signup_set.length > 0 && signup_set[0].name[I18n.locale.to_s].include?("Translation missing")
fix_trans = true
end
if signup_set.length==0 || fix_trans
name1 = Hash.new
now_locale = I18n.locale
I18n.available_locales.each do |locale|
I18n.locale = locale
name1[locale] = t("application_form_signup.#{attr_submission}")
I18n.with_locale(locale) do
tmp = t("application_form_signup.#{attr_submission}", :default=>nil)
if tmp.nil?
tmp = t("application_form.#{attr_submission}", :default=>nil)
end
if tmp
name1[locale] = tmp
end
end
end
I18n.locale = now_locale
if fix_trans
signup_set.each do |s|
s.update(name:name1,placeholder:name1)
end
next
end
if save_flag
@application_form.application_form_submission_field_sets.create(field_name:attr_submission,name:name1,placeholder:name1)
@application_form.application_form_submission_field_sets.create(field_name:attr_submission,name:name1,placeholder:name1)
else
@application_form.application_form_submission_field_sets.new(field_name:attr_submission,name:name1,placeholder:name1)
@application_form.application_form_submission_field_sets.new(field_name:attr_submission,name:name1,placeholder:name1)
end
end
end

View File

@ -4,7 +4,7 @@ class ApplicationFormSignup
include Mongoid::Document
include Mongoid::Timestamps
HiddenFields = ['ip', 'application_form_signup_id', 'password', 'status', 'reviewer_ids_list','_id', 'created_at', 'updated_at','application_form_main_id',"serial_number","final_session","final_sessions","preferred_sessions",'application_form_session_id',"application_form_session_ids","preferred_session","sort_number","abstract_number","presentation_type", "cipher_stage_num", "process_stage", "review_status", "agree_reviewer_ids", "agree_reviewer_times"]
DefaultEnableFields = ['name','tel','phone','email', 'recaptcha']
DefaultEnableFields = ['name','tel','phone','email', 'recaptcha', 'agree']
field :ip, type: String
field :sort_number , type: Integer, default: 10000
field :process_stage, type: Integer, default: 1

View File

@ -377,7 +377,6 @@
<!-- Form Actions -->
<div class="form-actions">
<%= get_referer_url[:application_formion] rescue "" %>
<%= f.submit t('submit'), class: 'btn btn-primary' %>
<input type="hidden" name="referer_url" value="<%= get_referer_url %>">
<%= link_to t('cancel'), admin_application_forms_path, :class=>"btn" %>

View File

@ -25,7 +25,8 @@
<div class="form-actions">
<button type="button" class="btn btn-success add-attributes"><%= t(:add_attribute_field) %></button>
<%= hidden_field_tag 'id', params[:id] if !params[:id].blank? %>
<%= f.submit t(:submit),:class=>"btn btn-primary"%>
<%= f.submit t(:submit),:class=>"btn btn-primary"%>
<input type="hidden" name="referer_url" value="<%= get_referer_url %>">
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div>
</fieldset>

View File

@ -24,7 +24,8 @@
<div class="form-actions">
<button type="button" class="btn btn-success add-attributes"><%= t(:add_attribute_field) %></button>
<%= hidden_field_tag 'id', params[:id] if !params[:id].blank? %>
<%= f.submit t(:submit),:class=>"btn btn-primary"%>
<%= f.submit t(:submit),:class=>"btn btn-primary"%>
<input type="hidden" name="referer_url" value="<%= get_referer_url %>">
<%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div>
</fieldset>

View File

@ -1,8 +1,8 @@
<%
data = action_data
@application_form = data["application_form"]
@application_form_signup = data["application_form_signup"]
@time_now = data["time_now"]
data = action_data
@application_form = data["application_form"]
@application_form_signup = data["application_form_signup"]
@time_now = data["time_now"]
@form_index = 0
email_regex = @application_form.get_email_regex(true)
if data["prefix_url"]
@ -11,7 +11,7 @@
prefix_url = OrbitHelper.url_to_show(@application_form.to_param)
end
%>
<% if @application_form.application_form_start_date < @time_now and ( @application_form.application_form_end_date.nil? or @application_form.application_form_end_date+1.days > @time_now ) %>
<% if @application_form.application_form_start_date && @application_form.application_form_start_date < @time_now && ( @application_form.application_form_end_date.nil? || @application_form.application_form_end_date+1.days > @time_now ) %>
<%#= stylesheet_link_tag "lib/main-forms" %>
<% notice = flash["notice"] || params[:notice] %>
@ -54,7 +54,7 @@
</div>
<% if @application_form.application_form_signup_field_sets.count != 0 %>
<% @application_form.application_form_signup_field_sets.each do |signup_field| %>
<% if !(signup_field.disabled) && signup_field.field_name != 'recaptcha' %>
<% if !(signup_field.disabled) && !(['recaptcha', 'agree'].include?(signup_field.field_name)) %>
<div class="form-group<%= (@application_form.registration_status[0] == 'G' && signup_field.field_name == 'password') ? ' hide' : '' %>" id="<%= signup_field.field_name == 'password' ? 'registration_status' : '' %>">
<label for="<%= signup_field['name'][I18n.locale] %>" class="col-sm-2 control-label">
<% if !(['address','note'].include? signup_field.field_name) %>
@ -288,14 +288,23 @@
</div>
</div> -->
<% agree_set = @application_form.application_form_signup_field_sets.select{|v| v.field_name=='agree'}[0]
if agree_set.nil?
agree_trans = t("application_form_signup.agree")
else
agree_trans = agree_set.name[I18n.locale.to_s]
end
%>
<% if agree_set.nil? || !agree_set.disabled %>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<label>
<input id="agree" name="agree" value="1" type="checkbox" required="required">
<a href="<%= prefix_url %>?method=show_privacy" target="_blank"><%= t("application_form_signup.agree")%></a>
<input id="agree" name="agree" value="1" type="checkbox" required="required">
<a href="<%= prefix_url %>?method=show_privacy" target="_blank"><%= agree_trans %></a>
</label>
</div>
</div>
<% end %>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
@ -389,7 +398,7 @@
})();
</script>
<% elsif @application_form.application_form_start_date > @time_now %>
<% elsif @application_form.application_form_start_date && @application_form.application_form_start_date > @time_now %>
<%= t('application_form.sign_up_not_yet') %>

View File

@ -27,6 +27,7 @@ en:
abstract_number: Abstract number
presentation_type: Presentation
application_form:
save_success: "Save Successfully!"
mail_exist: "mail exist!"
select: Select
go_back: "Go back"

View File

@ -28,6 +28,7 @@ zh_tw:
abstract_number: 摘要編號
presentation_type: 發表方式
application_form:
save_success: "儲存成功!"
mail_exist: "mail已存在!"
select: 選擇
go_back: "回上一頁"