From 5849bae9dfab90e2a49327d972dcc485dfa3cda9 Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Wed, 1 Nov 2017 22:19:13 +0530 Subject: [PATCH] FIX: rescue error when importing category structure --- lib/import_export/importer.rb | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/lib/import_export/importer.rb b/lib/import_export/importer.rb index 9bc43ae5069..2e982a089ef 100644 --- a/lib/import_export/importer.rb +++ b/lib/import_export/importer.rb @@ -76,23 +76,27 @@ module ImportExport @categories.sort_by! { |c| c[:parent_category_id].presence || 0 } @categories.each do |cat_attrs| - id = cat_attrs.delete(:id) - permissions = cat_attrs.delete(:permissions_params) + begin + id = cat_attrs.delete(:id) + permissions = cat_attrs.delete(:permissions_params) - category = Category.new(cat_attrs) - category.parent_category_id = new_category_id(cat_attrs[:parent_category_id]) if cat_attrs[:parent_category_id].present? - category.user_id = new_user_id(cat_attrs[:user_id]) - import_id = "#{id}#{import_source}" - category.custom_fields["import_id"] = import_id - category.permissions = permissions.present? ? permissions : { "everyone" => CategoryGroup.permission_types[:full] } - category.save! - existing_categories << { category_id: category.id, value: import_id } + category = Category.new(cat_attrs) + category.parent_category_id = new_category_id(cat_attrs[:parent_category_id]) if cat_attrs[:parent_category_id].present? + category.user_id = new_user_id(cat_attrs[:user_id]) + import_id = "#{id}#{import_source}" + category.custom_fields["import_id"] = import_id + category.permissions = permissions.present? ? permissions : { "everyone" => CategoryGroup.permission_types[:full] } + category.save! + existing_categories << { category_id: category.id, value: import_id } - if cat_attrs[:description].present? - post = category.topic.ordered_posts.first - post.raw = cat_attrs[:description] - post.save! - post.rebake! + if cat_attrs[:description].present? + post = category.topic.ordered_posts.first + post.raw = cat_attrs[:description] + post.save! + post.rebake! + end + rescue + next end end