Rails.application.routes.draw do locales = Site.first.in_use_locales rescue I18n.available_locales begin s = Site.first save_flag = false if !s.orbit_bar_extra_render_files_inside.include?("ruling_timers/timer_button") s.orbit_bar_extra_render_files_inside << "ruling_timers/timer_button" save_flag = true end if !s.orbit_bar_extra_render_files_outside.include?("ruling_timers/timer_window") s.orbit_bar_extra_render_files_outside << "ruling_timers/timer_window" save_flag = true end s.save if save_flag @module_app = ModuleApp.where(:key=>"ruling_timer").first if @module_app.nil? @module_app = OrbitMemberModule.where(:key=>"ruling_timer").first else @new_module_app = OrbitMemberModule.where(:key=>"ruling_timer").first @module_app.categories.each do |c| c.module_app = nil c.orbit_member_module = @new_module_app c.save end @module_app.tags.each do |c| c.module_app = [] c.orbit_member_module = [@new_module_app] c.save end @module_app.destroy @module_app = @new_module_app end if @module_app.categories.count == 0 category = @module_app.categories.new category.title_translations = I18n.available_locales.map{|l| [l.to_s,I18n.with_locale(l){I18n.t("ruling_timer.personal_project")}]}.to_h category.save setting = RulingTimerSetting.first setting = RulingTimerSetting.create if setting.nil? setting.personal_category_id = category.id setting.save else setting = RulingTimerSetting.first setting = RulingTimerSetting.create if setting.nil? if setting.personal_category_id.nil? category = @module_app.categories.first setting.personal_category_id = category.id setting.save else category = Category.find(setting.personal_category_id) end category.title_translations = I18n.available_locales.map{|l| [l.to_s,I18n.with_locale(l){I18n.t("ruling_timer.personal_project")}]}.to_h category.save end RulingTimerTemp.all.to_a.each do |t| if t.user.nil? # user has been removed user_id = t.user_id.to_s RulingTimerTask.where(:user_ids=>user_id).to_a.each do |task| task.ruling_timer_sub_tasks.where(:user_id=>user_id).destroy if task.owner_id.to_s == user_id task.owner_id = nil end task.helper_ids.delete(user_id) task.user_ids.delete(user_id) task.save end RulingTimerProject.where(:all_user_ids=>user_id).each do |proj| proj.all_user_ids.delete(user_id) proj.save end t.destroy end end rescue => e puts e.to_s end namespace :admin do resources :ruling_timers do member do post "delete_history" get "add_history" get "work_history" get "edit_timer" get "edit_temp_timer" patch "update_timer" patch "update_task" get "edit_task" post "delete_task" get "view_task" patch "update_project" get "edit_project" post "delete_project" get "view_project" get "section_management" get "edit_section" patch "update_section" post "delete_section" get "add_section" end collection do post "create_history" patch "create_history" get "timer_management" get "task_management" get "add_task" post "create_task" patch "create_task" get "settings" post "update_setting" patch "update_setting" get "project_management" get "add_project" post "create_project" patch "create_project" post "create_section" patch "create_section" post "save_comment" post "delete_comment" end end end scope "(:locale)", locale: Regexp.new(locales.join("|")) do post "/xhr/ruling_timer/start" => "ruling_timers#start" post "/xhr/ruling_timer/stop" => "ruling_timers#stop" post "/xhr/ruling_timer/rest" => "ruling_timers#rest" post "/xhr/ruling_timer/set_summary" => "ruling_timers#set_summary" post "/xhr/ruling_timer/add_task" => "ruling_timers#add_task" post "/xhr/ruling_timer/add_task_from_list" => "ruling_timers#add_task_from_list" post "/xhr/ruling_timer/remove_task" => "ruling_timers#remove_task" post "/xhr/ruling_timer/set_task_status" => "ruling_timers#set_task_status" post "/xhr/ruling_timer/start_task" => "ruling_timers#start_task" post "/xhr/ruling_timer/stop_task" => "ruling_timers#stop_task" post "/xhr/ruling_timer/add_event" => "ruling_timers#add_event" post "/xhr/ruling_timer/delete_event" => "ruling_timers#delete_event" post "/xhr/ruling_timer/get_work_times" => "ruling_timers#get_work_times" post "/xhr/ruling_timer/save_work_times" => "ruling_timers#save_work_times" end end