diff --git a/app/controllers/data_controller.rb b/app/controllers/data_controller.rb index a38726a3..93644940 100644 --- a/app/controllers/data_controller.rb +++ b/app/controllers/data_controller.rb @@ -132,103 +132,7 @@ class DataController < ApplicationController end def yaml_import - @errmessage = '' - @inarray = YAML::load(params['import']['yaml']) - # arrays to handle id translations - - # contexts - translate_context = Hash.new - translate_context[nil] = nil - current_user.contexts.each { |context| context.destroy } - @inarray['contexts'].each { | item | - newitem = Context.new(item.ivars['attributes']) - newitem.user_id = current_user.id - newitem.created_at = adjust_time(item.ivars['attributes']['created_at']) - newitem.save(false) - translate_context[item.ivars['attributes']['id'].to_i] = newitem.id - } - - # projects - translate_project = Hash.new - translate_project[nil] = nil - current_user.projects.each { |item| item.destroy } - @inarray['projects'].each { |item| - newitem = Project.new(item.ivars['attributes']) - # ids - newitem.user_id = current_user.id - newitem.default_context_id = translate_context[newitem.default_context_id] - newitem.save(false) - translate_project[item.ivars['attributes']['id'].to_i] = newitem.id - - # state + dates - newitem.transition_to(item.ivars['attributes']['state']) - newitem.completed_at = adjust_time(item.ivars['attributes']['completed_at']) - newitem.created_at = adjust_time(item.ivars['attributes']['created_at']) - newitem.position = item.ivars['attributes']['position'] - newitem.save(false) - } - - # todos - translate_todo = Hash.new - translate_todo[nil] = nil - current_user.todos.each { |item| item.destroy } - @inarray['todos'].each { |item| - newitem = Todo.new(item.ivars['attributes']) - # ids - newitem.user_id = current_user.id - newitem.context_id = translate_context[newitem.context_id] - newitem.project_id = translate_project[newitem.project_id] - # TODO: vyresit recurring_todo_id - newitem.save(false) - translate_todo[item.ivars['attributes']['id'].to_i] = newitem.id - - # state + dates - case item.ivars['attributes']['state'] - when 'active' then newitem.activate! - when 'project_hidden' then newitem.hide! - when 'completed' - newitem.complete! - newitem.completed_at = adjust_time(item.ivars['attributes']['completed_at']) - when 'deferred' then newitem.defer! - end - newitem.created_at = adjust_time(item.ivars['attributes']['created_at']) - newitem.save(false) - } - - # tags - translate_tag = Hash.new - translate_tag[nil] = nil - current_user.tags.each { |item| item.destroy } - @inarray['tags'].each { |item| - newitem = Tag.new(item.ivars['attributes']) - newitem.created_at = adjust_time(item.ivars['attributes']['created_at']) - newitem.save - translate_tag[item.ivars['attributes']['id'].to_i] = newitem.id - } - - # taggings - current_user.taggings.each { |item| item.destroy } - @inarray['taggings'].each { |item| - newitem = Tagging.new(item.ivars['attributes']) - newitem.user_id = current_user.id - newitem.tag_id = translate_tag[newitem.tag_id] - case newitem.taggable_type - when 'Todo' then newitem.taggable_id = translate_todo[newitem.taggable_id] - else newitem.taggable_id = 0 - end - newitem.save - } - - # notes - current_user.notes.each { |item| item.destroy } - @inarray['notes'].each { |item| - newitem = Note.new(item.ivars['attributes']) - newitem.id = item.ivars['attributes']['id'] - newitem.user_id = current_user.id - newitem.project_id = translate_project[newitem.project_id] - newitem.created_at = adjust_time(item.ivars['attributes']['created_at']) - newitem.save - } + raise "YAML loading is disabled" end end \ No newline at end of file