102 lines
3.5 KiB
Ruby
102 lines
3.5 KiB
Ruby
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
|
|
|