From 850ac0e318cfd9f026208606825405aba064e74a Mon Sep 17 00:00:00 2001 From: bohung Date: Wed, 21 Sep 2022 18:07:01 +0800 Subject: [PATCH] Fix bug. --- app/controllers/admin/asks_controller.rb | 4 +-- app/controllers/asks_controller.rb | 3 +- app/helpers/admin/asks_helper.rb | 30 +++++++++---------- app/models/ask_category_setting.rb | 4 +-- app/models/ask_setting.rb | 6 ++-- .../admin/ask_acknowledgements/index.html.erb | 2 +- app/views/admin/asks/_ask_setting.html.erb | 12 ++++---- .../asks/_category_setting_field.html.erb | 2 +- app/views/admin/asks/_form.html.erb | 2 +- .../asks/_show_default_ask_setting.html.erb | 2 +- .../admin/asks/category_setting.html.erb | 2 +- app/views/admin/asks/setting.html.erb | 2 +- app/views/asks/index.html.erb | 2 +- 13 files changed, 37 insertions(+), 36 deletions(-) diff --git a/app/controllers/admin/asks_controller.rb b/app/controllers/admin/asks_controller.rb index 0bc1a37..1177c0e 100644 --- a/app/controllers/admin/asks_controller.rb +++ b/app/controllers/admin/asks_controller.rb @@ -120,8 +120,8 @@ class Admin::AsksController < OrbitAdminController if is_agree ask_setting.agree_customs_func(apply_fields) custom_fields = AskSetting.first.custom_fields - set_input_name('ask_category_setting[custom_fields]') - view_context.set_input_name('ask_category_setting[custom_fields]') #prevent not setting variables + set_input_name_for_ask('ask_category_setting[custom_fields]') + view_context.set_input_name_for_ask('ask_category_setting[custom_fields]') #prevent not setting variables html = apply_fields.map do |k| view_context.custom_field_block("default@#{k}", custom_fields[k]) end.join("\n") diff --git a/app/controllers/asks_controller.rb b/app/controllers/asks_controller.rb index c6f3aa9..381fc52 100644 --- a/app/controllers/asks_controller.rb +++ b/app/controllers/asks_controller.rb @@ -6,6 +6,7 @@ class AsksController < ApplicationController helper ActionView::Helpers::UrlHelper include ActionController::RequestForgeryProtection include RuCaptcha::ViewHelpers + FrontendMethods = ["thank", "sorry"] def widget subpart = OrbitHelper.get_current_widget case subpart.widget_type @@ -335,7 +336,7 @@ class AsksController < ApplicationController defalt_fields = [] tmp_type = (ask_setting.class == AskSetting) ? 0 : 1 tmp_ask_cat_id = (tmp_type == 1) ? ask_setting.id.to_s : "" - set_input_name("ask_question") + set_input_name_for_ask("ask_question") disp_fields_infos.each do |field, info| if field.start_with?("default@") k = field[8..-1] diff --git a/app/helpers/admin/asks_helper.rb b/app/helpers/admin/asks_helper.rb index 40aa3c4..faf2093 100644 --- a/app/helpers/admin/asks_helper.rb +++ b/app/helpers/admin/asks_helper.rb @@ -35,10 +35,10 @@ module Admin::AsksHelper end cats_relations end - def set_input_name(input_name) + def set_input_name_for_ask(input_name) @input_name = input_name end - def get_input_name + def get_input_name_for_ask @input_name end def create_lang_panel(field) @@ -52,15 +52,15 @@ module Admin::AsksHelper end def multiple_lang_show_tag(field_name, index1,field,value=nil,combine_element='',exteral_options={},sortable=false) if !index1.nil? - all_field = (get_input_name + "[#{index1}][#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') + all_field = (get_input_name_for_ask + "[#{index1}][#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') else - all_field = (get_input_name + "[#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') + all_field = (get_input_name_for_ask + "[#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') end tmp = (I18n.available_locales.collect do |locale| active_flag = ((locale == I18n.locale) ? ' active' : '') content_tag(:div,:class => "tab-content#{active_flag}",:id=>"#{all_field}_#{locale}") do value_locale = value[locale.to_s] rescue nil - "
#{value_locale}
".html_safe + "
#{value_locale}
".html_safe end end.join + create_lang_panel(all_field)).html_safe + combine_element @@ -84,18 +84,18 @@ module Admin::AsksHelper end def multiple_lang_tag(index1,type_of_tag,field,value=nil,custom_options={},combine_element='',exteral_options={},sortable=false) if !index1.nil? - all_field = (get_input_name + "[#{index1}][#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') + all_field = (get_input_name_for_ask + "[#{index1}][#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') else - all_field = (get_input_name + "[#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') + all_field = (get_input_name_for_ask + "[#{field}][parant]").gsub(/[\[@]/,'_').gsub(/\]/,'') end tmp = (I18n.available_locales.collect do |locale| active_flag = ((locale == I18n.locale) ? ' active' : '') content_tag(:div,:class => "tab-content#{active_flag}",:id=>"#{all_field}_#{locale}") do value_locale = value[locale.to_s] rescue nil if !index1.nil? - self.__send__("#{type_of_tag}_tag","#{get_input_name}[#{index1}][#{field}][#{locale}]",value_locale,custom_options) + self.__send__("#{type_of_tag}_tag","#{get_input_name_for_ask}[#{index1}][#{field}][#{locale}]",value_locale,custom_options) else - self.__send__("#{type_of_tag}_tag","#{get_input_name}[#{field}][#{locale}]",value_locale,custom_options) + self.__send__("#{type_of_tag}_tag","#{get_input_name_for_ask}[#{field}][#{locale}]",value_locale,custom_options) end end end.join + create_lang_panel(all_field)).html_safe + combine_element @@ -139,10 +139,10 @@ module Admin::AsksHelper " end def field_select_tag(index1,field,options,selected=nil,custom_options={}) - select_tag("#{get_input_name}[#{index1}][#{field}]",options_for_select(options,selected: selected),custom_options) + select_tag("#{get_input_name_for_ask}[#{index1}][#{field}]",options_for_select(options,selected: selected),custom_options) end def field_radio_button_tag(index1,field,show_value,checked,custom_options={}) - radio_button_tag("#{get_input_name}[#{index1}][#{field}]",show_value,checked,custom_options) + radio_button_tag("#{get_input_name_for_ask}[#{index1}][#{field}]",show_value,checked,custom_options) end def render_date_block(field_name,v,i,value) case v['format'] @@ -208,7 +208,7 @@ module Admin::AsksHelper end.join('  ') end def show_on_front(k,v,value=nil,readonly=false,lock=false) - field_name = "#{get_input_name}[custom_values][#{k}]" + field_name = "#{get_input_name_for_ask}[custom_values][#{k}]" begin case v['type'] when 'text_field' @@ -321,7 +321,7 @@ module Admin::AsksHelper markups = markups.map{|k,v| [v,k]}.to_h tmp = markups[v['type']] tmp = markups.values[0] if tmp.nil? - field_select_tag = "#{t('ask.setting_type')}:
#{tmp}
" + field_select_tag = "#{t('ask.setting_type')}:
#{tmp}
" active_prompt_class = ['date','radio_button','checkbox'].exclude?(v['type']) ? ' active' : '' active_class = ['select','radio_button','checkbox'].include?(v['type']) ? ' active' : '' multi_lang_prompt_tag = multiple_lang_show_tag(t('ask.prompt_word'),k,'prompt_word',v['prompt_word']) @@ -350,9 +350,9 @@ module Admin::AsksHelper end multi_lang_tag = multiple_lang_tag(k,'text_field','field',v['field'],{placeholder: t('ask.field_name'), disabled: (not_editable ? 'disabled' : nil)}) field_select_tag = field_select_tag(k,'type',markups,v['type'],{:onchange=>'check_available_setting_block(this)', :disabled=>(not_editable ? 'disabled' : nil)}) - key = hidden_field_tag "#{get_input_name}[#{k}][key]",k,{'class' => 'key'} + key = hidden_field_tag "#{get_input_name_for_ask}[#{k}][key]",k,{'class' => 'key'} all_new_options = Array(v['options']).collect do |key,value| - tmp = create_delete_button('delete_added_select_option').html_safe+hidden_field_tag("#{get_input_name}[#{k}][options][#{key}][disabled]",value['disabled'],{'class' => 'disabled_field'}) + tmp = create_delete_button('delete_added_select_option').html_safe+hidden_field_tag("#{get_input_name_for_ask}[#{k}][options][#{key}][disabled]",value['disabled'],{'class' => 'disabled_field'}) hidden_style = value['disabled'] == 'true' ? {style: 'display:none;'} : {} "#{multiple_lang_tag(k,'text_field',"options][#{key}",value,{placeholder: t('ask.option_name'), :disabled=>(not_editable ? 'disabled' : nil)},tmp,hidden_style,true)}" end.join diff --git a/app/models/ask_category_setting.rb b/app/models/ask_category_setting.rb index af1ba20..7293be7 100644 --- a/app/models/ask_category_setting.rb +++ b/app/models/ask_category_setting.rb @@ -126,9 +126,9 @@ class AskCategorySetting field :default_setting_prompt_word, type: Hash,default: {} field :use_default, type: Boolean, default: false field :custom_fields, type: Hash,default: {} - field :usage_rule + field :usage_rule, type: String, default: '' field :category_id - field :title_layout, type: Integer + field :title_layout, type: Integer, default: 0 field :email_regex_enable, type: Boolean, default: false field :email_regex, type: String, default: '\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z' field :need_check_customs, type: Array, default: [] #From AskSetting diff --git a/app/models/ask_setting.rb b/app/models/ask_setting.rb index 20698cb..e1f145a 100644 --- a/app/models/ask_setting.rb +++ b/app/models/ask_setting.rb @@ -89,9 +89,9 @@ class AskSetting field :default_setting_field_name, type: Hash,default: {} field :default_setting_prompt_word, type: Hash,default: {} - field :custom_fields, type: Hash,default: {} - field :usage_rule - field :title_layout, type: Integer + field :custom_fields, type: Hash, default: {} + field :usage_rule, type: String, default: '' + field :title_layout, type: Integer, default: 0 field :last_ticket_key, type: Integer, default: 0 field :last_serial_number, type: Integer, default: 0 def get_attrs diff --git a/app/views/admin/ask_acknowledgements/index.html.erb b/app/views/admin/ask_acknowledgements/index.html.erb index 498b5b2..39966b5 100644 --- a/app/views/admin/ask_acknowledgements/index.html.erb +++ b/app/views/admin/ask_acknowledgements/index.html.erb @@ -1,5 +1,5 @@ <% - set_input_name('ask_acknowledgement') + set_input_name_for_ask('ask_acknowledgement') %>