From 228349162986dea8c5e7fc7c5f4aec62da40d8dc Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Wed, 20 May 2020 09:09:14 +0200 Subject: [PATCH] Conver to string if not importing into Number column --- .../repository_import_parser/importer.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/utilities/repository_import_parser/importer.rb b/app/utilities/repository_import_parser/importer.rb index f016bf2cc..779fb0b2f 100644 --- a/app/utilities/repository_import_parser/importer.rb +++ b/app/utilities/repository_import_parser/importer.rb @@ -75,7 +75,10 @@ module RepositoryImportParser SpreadsheetParser.parse_row(row, @sheet).each_with_index do |value, index| if index == @name_index new_row = - RepositoryRow.new(name: value, repository: @repository, created_by: @user, last_modified_by: @user) + RepositoryRow.new(name: try_decimal_to_string(value), + repository: @repository, + created_by: @user, + last_modified_by: @user) unless new_row.valid? errors = true break @@ -128,6 +131,9 @@ module RepositoryImportParser row.reject { |k| k == :repository_row }.each do |index, value| column = @columns[index] + + value = try_decimal_to_string(value) unless column.repository_number_value? + cell_value_attributes = { created_by: @user, last_modified_by: @user, repository_cell_attributes: { repository_row: row[:repository_row], @@ -150,5 +156,13 @@ module RepositoryImportParser data_type.to_s.constantize.import(cell_values, recursive: true, validate: false) end end + + def try_decimal_to_string(value) + if value.is_a?(BigDecimal) + value.frac.zero? ? value.to_i.to_s : value.to_s + else + value + end + end end end