Merge pull request #2067 from aignatov-bio/ai-sci-3880-fix-error-when-save-pdf-to-inventory

Fix error when save report to inventory [SCI-3880]
This commit is contained in:
aignatov-bio 2019-09-18 14:59:47 +02:00 committed by GitHub
commit fba030dc9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,7 +2,6 @@
module ReportActions module ReportActions
class SavePdfToInventoryItem class SavePdfToInventoryItem
def initialize(user, team, params) def initialize(user, team, params)
@user = user @user = user
@team = team @team = team
@ -14,7 +13,7 @@ module ReportActions
file_path = generate_pdf(@params[:html]) file_path = generate_pdf(@params[:html])
asset = create_new_asset(file_path) asset = create_new_asset(file_path)
cell = fetch_repository_cell cell = fetch_repository_cell
cell.destroy if cell cell&.destroy
@new_cell_value = create_new_cell_value(asset) @new_cell_value = create_new_cell_value(asset)
@new_cell_value.save @new_cell_value.save
log_activity log_activity
@ -22,6 +21,7 @@ module ReportActions
def error_messages def error_messages
return I18n.t('general.error') unless @new_cell_value return I18n.t('general.error') unless @new_cell_value
@new_cell_value.errors.full_messages.join @new_cell_value.errors.full_messages.join
end end
@ -35,7 +35,7 @@ module ReportActions
@repository_item = load_repository_item @repository_item = load_repository_item
unless can_create_repository_rows?(@user, @repository) unless can_create_repository_rows?(@user, @repository)
raise ReportActions::RepositoryPermissionError, raise ReportActions::RepositoryPermissionError,
I18n.t('projects.reports.new.no_permissions') I18n.t('projects.reports.new.no_permissions')
end end
end end
@ -56,10 +56,8 @@ module ReportActions
end end
def create_new_asset(file_path) def create_new_asset(file_path)
asset = Asset.new( asset = Asset.create(created_by: @user, last_modified_by: @user, team: @team)
file: file_path, created_by: @user, last_modified_by: @user, team: @team asset.file.attach(io: file_path, filename: File.basename(file_path))
)
asset.post_process_file(@team) if asset.save
asset asset
end end
@ -82,15 +80,15 @@ module ReportActions
end end
def load_repository def load_repository
Repository.find_by_id(@params[:repository_id]) Repository.find_by(id: @params[:repository_id])
end end
def load_repository_column def load_repository_column
RepositoryColumn.find_by_id(@params[:respository_column_id]) RepositoryColumn.find_by(id: @params[:respository_column_id])
end end
def load_repository_item def load_repository_item
RepositoryRow.find_by_id(@params[:repository_item_id]) RepositoryRow.find_by(id: @params[:repository_item_id])
end end
def action_view_context def action_view_context
@ -105,7 +103,8 @@ module ReportActions
end end
def prepare_pdf_content(content) def prepare_pdf_content(content)
return content unless content.blank? return content if content.present?
I18n.t('projects.reports.new.no_content_for_PDF_html') I18n.t('projects.reports.new.no_content_for_PDF_html')
end end