From 58443f23aa87fa6ff9f09a44b7f509d04190b899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Tue, 7 Jul 2020 15:23:23 +0300 Subject: [PATCH] Don't create new legaldoc if it's already persistent --- app/models/epp/domain.rb | 9 ++++----- app/models/legal_document.rb | 9 --------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 8c3ffec48..a6fe58c71 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -184,12 +184,10 @@ class Epp::Domain < Domain def add_legal_file_to_new frame legal_document_data = ::Deserializers::Xml::LegalDocument.new(frame).call return unless legal_document_data + return if legal_document_data[:body].starts_with?(ENV['legal_documents_dir']) - doc = LegalDocument.create( - documentable_type: Domain, - document_type: legal_document_data[:type], - body: legal_document_data[:body] - ) + doc = LegalDocument.create(documentable_type: Domain, document_type: legal_document_data[:type], + body: legal_document_data[:body]) self.legal_documents = [doc] frame.css("legalDocument").first.content = doc.path if doc&.persisted? @@ -543,6 +541,7 @@ class Epp::Domain < Domain def attach_legal_document(legal_document_data) return unless legal_document_data + return if legal_document_data[:body].starts_with?(ENV['legal_documents_dir']) legal_documents.create( document_type: legal_document_data[:type], diff --git a/app/models/legal_document.rb b/app/models/legal_document.rb index d3729cafb..446087124 100644 --- a/app/models/legal_document.rb +++ b/app/models/legal_document.rb @@ -28,18 +28,9 @@ class LegalDocument < ApplicationRecord end def val_body_length - if body.start_with? ENV['legal_documents_dir'] - if File.exist? body - self.path = body - self.body = nil - return - end - end - errors.add(:body, :length) if body.nil? || body.size < MIN_BODY_SIZE end - def save_to_filesystem binary = Base64.decode64(body) digest = Digest::SHA1.new.update(binary).to_s