# encoding: utf-8 require 'resque_scheduler/tasks' namespace :data_migration do task :migrate_user_infos_from_1121 => :environment do AttributeField.all.each do |af| if af.has_attribute?('locale') af.title_translations = case af[:locale] when true af[:locale_title] when false {af[:neutral_for] => af[:neutral_title]} end af.unset("locale") af.unset("locale_title") af.unset("neutral_for") af.unset("neutral_title") af.save end end end task :add_order_to_announcement_tag_0703 => :environment do AnnouncementTag.first({conditions:{ key: 'students' }}).update_attributes(:order=>1) AnnouncementTag.first({conditions:{ key: 'alumni' }}).update_attributes(:order=>2) AnnouncementTag.first({conditions:{ key: 'employee' }}).update_attributes(:order=>3) AnnouncementTag.first({conditions:{ key: 'guest' }}).update_attributes(:order=>4) end task :add_archive_func_to_bulletin_category_0704 => :environment do BulletinCategory.all.each{|bc| bc.disable=false;bc.save!} end task :add_archive_func_to_news_bulletin_category_0704 => :environment do NewsBulletinCategory.all.each{|bc| bc.disable=false;bc.save!} end task :add_search_widget_to_announcement => :environment do app = ModuleApp.first({:conditions=>{:title => 'Announcement'}}) app.widgets << "bulletins_search_block" if !app.widgets.include?("bulletins_search_block") app.save! p "==DO NOT FORGET TO RUN: rake redis_search:index" end task :add_search_func => :environment do ModuleApp.create!(:key=>'search',:title => 'search',:enable_frontend=> true,:app_pages=>["full_search","optional_search"]) end task :rename_test_role_name => :environment do sr = SubRole.first({conditions:{key: 'good_teacher' }}) sr.i18n_variable[:zh_tw] = '銳論數位' sr.i18n_variable[:en] = 'RulingCom' sr.save! sr = SubRole.first({conditions:{key: 'bad_teacher' }}) sr.i18n_variable[:zh_tw] = '銳論數位' sr.i18n_variable[:en] = 'RulingCom' sr.save! end task :make_bulletins_and_news_has_language_flag => :environment do a = [] i = 0 [Bulletin,NewsBulletin].each do |bulletin| puts "="*10 + bulletin.to_s + "="*10 bulletin.admin_manager_all.each do |bt| result = if (bt.save(:validate => false) rescue false ) "OK" else a << bt.id 'Failed' end i += 1 puts((bt.title.to_s rescue '') + "----------#{result}") end end p a p i puts("#{'='*10}Finished#{'='*10}") end task :make_web_link_has_language_flag => :environment do a=[] i=0 WebLink.all.each do |wl| result = if (wl.save(:validate => false) rescue false ) "OK" else a << wl.id 'Failed' end i += 1 puts((wl.title.to_s rescue '') + "----------#{result}") end p a p i puts("#{'='*10}Finished#{'='*10}") end task :make_bulletin_save_dept_data => :environment do Bulletin.all.each{|bt| bt.save!} end task :extend_exsisted_app_module_for_dept_search => :environment do app = ModuleApp.first({:conditions=>{:title => 'news'}}) app.app_pages << "index_by_unit" if !app.widgets.include?("index_by_unit") app.save! app = ModuleApp.first({:conditions=>{:title => 'Announcement'}}) app.app_pages << "index_by_unit" if !app.widgets.include?("index_by_unit") app.save! end task :rename_attribute_field => :environment do AttributeField.collection.update({},{'$rename' => {'title' => 'locale_title'}}, multi: true, safe: true) end end