25 changed files with 100 additions and 14 deletions
@ -0,0 +1,24 @@
|
||||
module Imports |
||||
class SchemeImportService < ImportService |
||||
def create_schemes(folder) |
||||
import_from(folder, :create_scheme) |
||||
end |
||||
|
||||
private |
||||
|
||||
def create_scheme(xml_document) |
||||
old_visible_id = scheme_field_value(xml_document, "visible-id") |
||||
Scheme.create!( |
||||
old_id: scheme_field_value(xml_document, "id"), |
||||
old_visible_id: |
||||
) |
||||
rescue ActiveRecord::RecordNotUnique |
||||
name = scheme_field_value(xml_document, "name") |
||||
@logger.warn("Scheme #{name} is already present with old visible ID #{old_visible_id}, skipping.") |
||||
end |
||||
|
||||
def scheme_field_value(xml_document, field) |
||||
field_value(xml_document, "mgmtgroup", field) |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,24 @@
|
||||
module Imports |
||||
class SchemeLocationImportService < ImportService |
||||
def create_scheme_locations(folder) |
||||
import_from(folder, :create_scheme_location) |
||||
end |
||||
|
||||
private |
||||
|
||||
def create_scheme_location(xml_document) |
||||
old_visible_id = location_field_value(xml_document, "visible-id") |
||||
Scheme.create!( |
||||
old_id: location_field_value(xml_document, "id"), |
||||
old_visible_id: |
||||
) |
||||
rescue ActiveRecord::RecordNotUnique |
||||
name = location_field_value(xml_document, "name") |
||||
@logger.warn("Location #{name} is already present with old visible ID #{old_visible_id}, skipping.") |
||||
end |
||||
|
||||
def location_field_value(xml_document, field) |
||||
field_value(xml_document, "scheme", field) |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue