diff --git a/lib/tasks/migrate.rake b/lib/tasks/migrate.rake index bb92e72e..fcb979be 100644 --- a/lib/tasks/migrate.rake +++ b/lib/tasks/migrate.rake @@ -1,309 +1,6 @@ # encoding: utf-8 namespace :migrate do - - task :i18n => :environment do - - p 'Start Bulletin' - bulletins = Bulletin.admin_manager_all - i = 1 - bulletins.each do |bulletin| - p "#{i}/#{bulletins.size} - #{bulletin.id}" - title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) - bulletin.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - subtitle = I18nVariable.first(:conditions => {:key => 'subtitle', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) - bulletin.subtitle_translations = {'en' => subtitle['en'], 'zh_tw' => subtitle['zh_tw']} if subtitle - text = I18nVariable.first(:conditions => {:key => 'text', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) - bulletin.text_translations = {'en' => text['en'], 'zh_tw' => text['zh_tw']} if text - p bulletin.save(:validate => false) - i += 1 - end - p 'End Bulletin' - - p '=====================================================' - - p 'Start BulletinCategory' - categories = BulletinCategory.admin_manager_all - i = 1 - categories.each do |category| - p "#{i}/#{categories.size} - #{category.id}" - title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) - category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p category.save(:validate => false) - i += 1 - end - p 'End BulletinCategory' - - p '=====================================================' - - p 'Start BulletinFile' - files = BulletinFile.all - i = 1 - files.each do |file| - p "#{i}/#{files.size} - #{file.id}" - description = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) - file.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description - title = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) - file.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p file.save(:validate => false) - i += 1 - end - p 'End BulletinFile' - - p '=====================================================' - - p 'Start BulletinLink' - links = BulletinLink.all - i = 1 - links.each do |link| - p "#{i}/#{links.size} - #{link.id}" - title = I18nVariable.first(:conditions => {:language_value_id => link.id, :language_value_type => link.class}) - link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p link.save(:validate => false) - i += 1 - end - p 'End BulletinLink' - - p '=====================================================' - - p 'Start UnitListForAnc' - units = UnitListForAnc.all - i = 1 - units.each do |unit| - p "#{i}/#{units.size} - #{unit.id}" - title = I18nVariable.first(:conditions => {:language_value_id => unit.id, :language_value_type => unit.class}) - unit.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p unit.save(:validate => false) - i += 1 - end - p 'End UnitListForAnc' - - p '=====================================================' - p '=====================================================' - - p 'Start PageContext' - page_contexts = PageContext.all - i = 1 - page_contexts.each do |page_context| - p "#{i}/#{page_contexts.size} - #{page_context.id}" - context = I18nVariable.first(:conditions => {:language_value_id => page_context.id, :language_value_type => page_context.class}) - page_context.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context - p page_context.save(:validate => false) - i += 1 - end - p 'End PageContext' - - p '=====================================================' - p '=====================================================' - - p 'Start WebLink' - links = WebLink.all - i = 1 - links.each do |link| - p "#{i}/#{links.size} - #{link.id}" - # the original key was 'name' - title = I18nVariable.first(:conditions => {:key => 'name', :language_value_id => link.id, :language_value_type => link.class}) - link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - context = I18nVariable.first(:conditions => {:key => 'context', :language_value_id => link.id, :language_value_type => link.class}) - link.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context - p link.save(:validate => false) - i += 1 - end - p 'End WebLink' - - p '=====================================================' - - p 'Start WebLinkCategory' - categories = WebLinkCategory.admin_manager_all - i = 1 - categories.each do |category| - p "#{i}/#{categories.size} - #{category.id}" - title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) - category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p category.save(:validate => false) - i += 1 - end - p 'End WebLinkCategory' - - p '=====================================================' - p '=====================================================' - - p 'Start Meta' - metas = Meta.all - i = 1 - metas.each do |meta| - p "#{i}/#{metas.size} - #{meta.id}" - title = I18nVariable.first(:conditions => {:language_value_id => meta.id, :language_value_type => meta.class}) - meta.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p meta.save(:validate => false) - i += 1 - end - p 'End Meta' - - p '=====================================================' - p '=====================================================' - - p 'Start Attribute' - attributes = Attribute.all - i = 1 - attributes.each do |attribute| - p "#{i}/#{attributes.size} - #{attribute.id}" - title = I18nVariable.first(:conditions => {:language_value_id => attribute.id, :language_value_type => attribute.class}) - attribute.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p attribute.save(:validate => false) - i += 1 - end - p 'End Attribute' - - p '=====================================================' - - p 'Start AttributeField' - attribute_fields = AttributeField.all - i = 1 - attribute_fields.each do |attribute_field| - p "#{i}/#{attribute_fields.size} - #{attribute_field.id}" - title = I18nVariable.first(:conditions => {:language_value_id => attribute_field.id, :language_value_type => attribute_field.class}) - attribute_field.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p attribute_field.save(:validate => false) - i += 1 - end - p 'End AttributeField' - - p '=====================================================' - - p 'Start Role' - roles = Role.all - i = 1 - roles.each do |role| - p "#{i}/#{roles.size} - #{role.id}" - title = I18nVariable.first(:conditions => {:language_value_id => role.id, :language_value_type => role.class}) - role.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p role.save(:validate => false) - i += 1 - end - p 'End Role' - - p '=====================================================' - p '=====================================================' - - p 'Start AdImage' - ad_images = AdImage.all - i = 1 - ad_images.each do |image| - p "#{i}/#{ad_images.size} - #{image.id}" - # no key is set and title = context, this is due to original error in the code - title = I18nVariable.first(:conditions => {:language_value_id => image.id, :language_value_type => image.class}) - image.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - image.context_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p image.save(:validate => false) - i += 1 - end - p 'End AdImage' - - p '=====================================================' - p '=====================================================' - - p 'Start Asset' - assets = Asset.all - i = 1 - assets.each do |asset| - p "#{i}/#{assets.size} - #{asset.id}" - title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => asset.id, :language_value_type => asset.class}) - asset.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - description = I18nVariable.first(:conditions => {:key => 'description', :language_value_id => asset.id, :language_value_type => asset.class}) - asset.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description - p asset.save(:validate => false) - i += 1 - end - p 'End Asset' - - p '=====================================================' - - p 'Start AssetCategory' - categories = AssetCategory.all - i = 1 - categories.each do |category| - p "#{i}/#{categories.size} - #{category.id}" - title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) - category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p category.save(:validate => false) - i += 1 - end - p 'End AssetCategory' - - p '=====================================================' - p '=====================================================' - - p 'Start Item' - items = Item.all - i = 1 - items.each do |item| - p "#{i}/#{items.size} - #{item.id}" - title = I18nVariable.first(:conditions => {:language_value_id => item.id, :language_value_type => item.class}) - item.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p item.save(:validate => false) - i += 1 - end - p 'End Item' - - p '=====================================================' - - p 'Start Page' - pages = Page.all - i = 1 - pages.each do |item| - p "#{i}/#{pages.size} - #{item.id}" - # the key was originally 'title', changed to 'page_title' to avoit conflict with parent - title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => item.id, :language_value_type => item.class}) - item.page_title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - p item.save(:validate => false) - i += 1 - end - p 'End Page' - - p '=====================================================' - - p 'Start PagePart' - page_parts = PagePart.all - i = 1 - page_parts.each do |part| - p "#{i}/#{page_parts.size} - #{part.id}" - title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => part.id, :language_value_type => part.class}) - part.page_title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - content = I18nVariable.first(:conditions => {:key => 'i18n_variable', :language_value_id => part.id, :language_value_type => part.class}) - part.content_translations = {'en' => content['en'], 'zh_tw' => content['zh_tw']} if content - p part.save(:validate => false) - i += 1 - end - p 'End PagePart' - - p '=====================================================' - p '=====================================================' - - p 'Start Site' - site = Site.first - title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => site.id, :language_value_type => site.class}) - site.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title - footer = I18nVariable.first(:conditions => {:key => 'footer', :language_value_id => site.id, :language_value_type => site.class}) - site.footer_translations = {'en' => footer['en'], 'zh_tw' => footer['zh_tw']} if footer - sub_menu = I18nVariable.first(:conditions => {:key => 'sub_menu', :language_value_id => site.id, :language_value_type => site.class}) - site.sub_menu_translations = {'en' => sub_menu['en'], 'zh_tw' => sub_menu['zh_tw']} if sub_menu - p site.save(:validate => false) - p 'End Site' - - end - - - task :news_p => :environment do - news_bulletins = NewsBulletin.admin_manager_all rescue nil - i = 1 - news_bulletins.each do |news| - p "#{i}/#{news_bulletins.size} - #{news.id}" - news.subtitle_translations = {'en' => (news.subtitle_translations['en'].gsub(/^\/, '').gsub(/\<\/p\>$/, '') rescue ''), 'zh_tw' => (news.subtitle_translations['zh_tw'].gsub(/^\/, '').gsub(/\<\/p\>$/, '') rescue nil)} - p news.save(:validate => false) if news.changed? - i += 1 - end if news_bulletins - end task :sitemap_i18n => :environment do Item.all.each do |item| @@ -498,4 +195,17 @@ namespace :migrate do PagePart.where(widget_style: /\d/).each{|part| part.update_attributes({widget_style: nil, widget_field: nil})} end + task :delete_import_archive => :environment do + categories = ArchiveFileCategory.where(key: /import_/).entries + unless categories.blank? + categories.each do |category| + files = category.archive_files + unless files.blank? + files.each(&:destroy) + end + category.destroy + end + end + end + end diff --git a/vendor/built_in_modules/archive/app/views/panel/archive/back_end/archive_file_categorys/_archive_file_category.html.erb b/vendor/built_in_modules/archive/app/views/panel/archive/back_end/archive_file_categorys/_archive_file_category.html.erb index f92168ad..9022282a 100644 --- a/vendor/built_in_modules/archive/app/views/panel/archive/back_end/archive_file_categorys/_archive_file_category.html.erb +++ b/vendor/built_in_modules/archive/app/views/panel/archive/back_end/archive_file_categorys/_archive_file_category.html.erb @@ -6,7 +6,7 @@