75 lines
2.2 KiB
Ruby
75 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'
|
|
get 'get_single_event'
|
|
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
|
|
|