Rails.application.routes.draw do locales = Site.first.in_use_locales rescue I18n.available_locales if ENV['worker_num']=='0' && File.basename($0) != 'rake' && !Rails.const_defined?('Console') Thread.new do AskPrintSetting.create() if AskPrintSetting.count == 0 s = OrbitHelper::SharedHash['current_site']['site'] rescue Site.first update_flag = s.respond_to?(:tmp_flags) need_update = !update_flag || !(s.tmp_flags.include?('askf1')) need_update2 = !update_flag || !(s.tmp_flags.include?('askf3')) if need_update ask_setting = AskSetting.first check_custom_fields = {} if ask_setting.nil? ask_setting = AskSetting.create else ask_setting.sort_number = ask_setting.sort_number.map{|k,v| [k, v.to_i]}.sort_by{|k,v| v}.to_h AskSetting::No_required.each do |f| ask_setting.default_setting_required.delete(f) end ask_setting.save check_custom_fields = ask_setting.custom_fields.map{|k,v| [k, v["field"][I18n.default_locale.to_s]]}.to_h end default_setting_field_name = ask_setting.default_setting_field_name AskCategorySetting.all.each do |ask_setting| ask_setting.sort_number = ask_setting.sort_number.map{|k,v| [k, v.to_i]}.sort_by{|k,v| v}.to_h AskSetting::No_required.each do |f| ask_setting.default_setting_required.delete(f) end ask_setting.default_setting_field_name = default_setting_field_name ask_setting.update_need_check_customs(check_custom_fields, true, true) ask_setting.save end default_keys = AskTicketStatus::DefaultKeys if AskTicketStatus.count < default_keys.count default_keys.each do |k| ticket_status = AskTicketStatus.where(:is_default=>true,:key=>k).first if ticket_status.nil? AskTicketStatus.create(:is_default=>true,:key=>k, :title_translations=>locales.map{|l| [l.to_s, I18n.with_locale(l){I18n.t("ask.#{k}")}]}.to_h ) end end end AskQuestion.where(:serial_number=>nil).asc(:id).each do |a| last_serial_number = AskSetting.update_last_serial_number a.serial_number = last_serial_number a.save end if update_flag Site.update_all("$push"=>{"tmp_flags"=>'askf1'}) end elsif need_update2 ([AskSetting.first] + AskCategorySetting.all.to_a).each do |a| a.migrate_old end if update_flag Site.update_all("$push"=>{"tmp_flags"=>'askf3'}) end end end end scope "(:locale)", locale: Regexp.new(locales.join("|")) do namespace :admin do #backend resources :asks do collection do delete 'delete' post 'batch_modify_status' get ':id/print', to: 'asks#print' get 'export' get 'setting' get 'backend_table_setting' get 'category_setting' post 'get_category_setting_field' post 'category_setting_save' get 'category_setting_delete' get 'category_print_setting_delete' post 'category_print_setting_save' get 'category_print_setting_save' post 'switch_to_default_setting' get 'get_new_category_setting_index' get 'print_setting' get 'ticket_status' post 'get_ticket_status' post 'update_ticket_status' delete 'delete_ticket_status' post 'print_setting_save' post 'setting_save' post 'ask_list_setting_save' post 'get_new_setting_index' post 'get_new_category_setting_index' post 'export', to: 'asks#do_export' get 'order_fields' post 'update_order_fields' post 'apply_default_custom_fields' end end resources :ask_acknowledgements resources :ask_admins end resources :asks #fronted end end