forked from spen/seminar
115 lines
4.1 KiB
Ruby
115 lines
4.1 KiB
Ruby
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
|