Rails.application.routes.draw do OrbitHelper::SharedMutex.synchronize do OrbitHelper::SharedHash['seminar'][:counter] = SeminarMain.where(:signup_limit.ne => nil).map{|v| [v.id, v.seminar_signups.count]}.to_h OrbitHelper::SharedHash['seminar'][:limit] = SeminarMain.where(:signup_limit.ne => nil).map{|v| [v.id, v.signup_limit]}.to_h end Thread.new do if Page.fields.include?('all_pageids') s = Site.first update_flag = s.respond_to?(:tmp_flags) need_update1 = update_flag && !(s.tmp_flags.include?('fix_sr')) need_update2 = !update_flag || !(s.tmp_flags.include?('smer1')) need_update3 = !update_flag || !(s.tmp_flags.include?('smer2')) need_update4 = !update_flag || !(s.tmp_flags.include?('smer3')) if need_update1 Page.where(:bind_model=>"SeminarMain",:all_pageids=>nil).each do |p| p.save end Site.update_all("$push"=>{"tmp_flags"=>'fix_sr'}) end if need_update2 SeminarMain.where(:enable_recaptcha=>nil).each do |seminar_main| seminar_main.update_enable_recaptcha end if update_flag Site.update_all("$push"=>{"tmp_flags"=>'smer1'}) end end if need_update3 SeminarMain.all.to_a.each do |seminar_main| seminar_main.migrate_old end if update_flag Site.update_all("$push"=>{"tmp_flags"=>'smer2'}) end end if need_update4 in_use_locales = s.in_use_locales.map(&:to_s) Page.where(:parent_page_id.in=>SeminarMain.pluck(:id)).update_all(:enabled_for_mobile=>true, :menu_enabled_for=>in_use_locales, :enabled_for=>in_use_locales) Page.where(:parent_page_id.in=>SeminarMain.pluck(:id)).each do |p| p.find_page.each do |pp| if pp[:enabled_for_mobile].class == Array pp.enabled_for_mobile = pp[:enabled_for_mobile].present? pp.save end end end if update_flag Site.update_all("$push"=>{"tmp_flags"=>'smer3'}) end end end SeminarSignupField.create_indexes SeminarSubmissionField.create_indexes end locales = Site.first.in_use_locales rescue I18n.available_locales scope "(:locale)", locale: Regexp.new(locales.join("|")) do namespace :admin do resources :seminars do member do get 'copy' get 'export' get 'set_write_off' get 'seminar_signup' get 'seminar_item_content' get 'seminar_signup_field' get 'seminar_submission_field' get 'seminar_signup_admin_setting' post 'update_seminar_signup_admin_setting' patch 'update_seminar_signup_admin_setting' get 'get_hide_reviewer' get 'get_hide_session' get 'get_reviewer_block' get 'get_session_block' get 'reviewer_setting' post 'update_reviewer_setting' patch 'update_reviewer_setting' post 'update_seminar_session' get 'template_setting' post 'update_template_setting' patch 'update_template_setting' get 'sub_page_setting' end end get 'seminar/enquiry_for_applicants' => "seminars#enquiry_for_applicants" post 'seminar/update_seminar_review' => "seminars#update_seminar_review" resources :seminar_items do collection do post 'delete_items' end end resources :seminar_agreements resources :seminar_signups resources :seminar_submission_values resources :seminar_review_results resources :seminar_item_contents end resources :seminars do collection do get ':slug_title-:uid', to: 'seminars#show' post 'con_login_proc', to: 'seminars#con_login_proc' post 'reset_password_proc', to: 'seminars#reset_password_proc' post 'reset_confirm_password_proc', to: 'seminars#reset_confirm_password_proc' post 'con_logout_proc', to: 'seminars#con_logout_proc' post 'add_file_proc', to: 'seminars#add_file_proc' post 'edit_file_proc', to: 'seminars#edit_file_proc' post 'del_file', to: 'seminars#del_file' end end get "/xhr/seminars/check_email/:no" => "seminars#check_email" end end