calendar/config/routes.rb

74 lines
2.2 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
s = Site.first
update_flag = s.respond_to?(:tmp_flags)
need_update = !update_flag || !(s.tmp_flags.include?('cf2'))
need_update2 = !update_flag || !(s.tmp_flags.include?('cf3'))
calendar_setting = CalendarSetting.first
calendar_setting = CalendarSetting.create if calendar_setting.nil?
if need_update
Event.where(:title_translations.in=>[nil,{}]).each do |e|
e.title_translations = locales.map{|l| [l.to_s, e[:title]]}.to_h
e.save
end
Event.where(:note_translations.in=>[nil,{}]).each do |e|
e.note_translations = locales.map{|l| [l.to_s, e[:note]]}.to_h
e.save
end
Event.where(:url_translations=>nil).each do |e|
e.url_translations = locales.map{|l| [l.to_s, e[:url].to_s]}.to_h
e.save
end
Event.where(:period=>'Weekly',:weekdays=>nil).each do |e|
wday = e.start.wday rescue nil
e.weekdays = [wday]
e.save
end
if update_flag
s = Site.first
s.tmp_flags << 'cf2'
s.save
end
puts "Calendar fix!"
end
if need_update2
Event.where(:all_day=>true).each do |e|
if e.end == e.start + 1.day
e.end = e.start
e.save
end
end
if update_flag
s = Site.first
s.tmp_flags << 'cf3'
s.save
end
puts "Calendar fix!"
end
end
end
scope "(:locale)", locale: Regexp.new(locales.join("|")) do
namespace :admin do
get "/calendars/agenda" => "calendars#agenda"
resources :calendars do
collection do
get 'calendar_setting'
post 'update_calendar_setting'
patch 'update_calendar_setting'
end
end
resources :calendar_types
end
get "/xhr/calendars/events" => "calendars#events"
get "/xhr/calendars/agenda" => "calendars#agenda"
get "/xhr/calendars/index_agenda" => "calendars#index_agenda"
end
end