From c0960e9184183f5cbd058deaf6389f2065a51628 Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Tue, 17 Nov 2015 12:09:16 +0200 Subject: [PATCH] Story #105839906 -- drop Version and log_legal_documents from legal_documents --- app/models/concerns/version_creator.rb | 33 +++++++++++++++++++ app/models/legal_document.rb | 3 +- ...20151117081204_drop_log_legal_documents.rb | 12 +++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 app/models/concerns/version_creator.rb create mode 100644 db/migrate/20151117081204_drop_log_legal_documents.rb diff --git a/app/models/concerns/version_creator.rb b/app/models/concerns/version_creator.rb new file mode 100644 index 000000000..45a1c424a --- /dev/null +++ b/app/models/concerns/version_creator.rb @@ -0,0 +1,33 @@ +module VersionCreator + extend ActiveSupport::Concern + + included do + before_create :add_creator + + def add_creator + self.creator_str = ::PaperTrail.whodunnit + true + end + + def add_updator + self.updator_str = ::PaperTrail.whodunnit + true + end + + # returns a user object for a reference + def creator + return nil if creator_str.blank? + + if creator_str =~ /^\d+-AdminUser:/ + creator = AdminUser.find_by(id: creator_str) + elsif creator_str =~ /^\d+-ApiUser:/ + creator = ApiUser.find_by(id: creator_str) + elsif creator_str =~ /^\d+-api-/ # depricated + creator = ApiUser.find_by(id: creator_str) + end + + creator.present? ? creator : creator_str + end + end + +end \ No newline at end of file diff --git a/app/models/legal_document.rb b/app/models/legal_document.rb index f1a63e976..49c0b2730 100644 --- a/app/models/legal_document.rb +++ b/app/models/legal_document.rb @@ -1,5 +1,6 @@ class LegalDocument < ActiveRecord::Base - include Versions # version/legal_document_version.rb + extend VersionCreator + belongs_to :documentable, polymorphic: true if ENV['legal_document_types'].present? diff --git a/db/migrate/20151117081204_drop_log_legal_documents.rb b/db/migrate/20151117081204_drop_log_legal_documents.rb new file mode 100644 index 000000000..45802ea0e --- /dev/null +++ b/db/migrate/20151117081204_drop_log_legal_documents.rb @@ -0,0 +1,12 @@ +class DropLogLegalDocuments < ActiveRecord::Migration + def up + drop_table :log_legal_documents + remove_column :legal_documents, :updated_at + remove_column :legal_documents, :updator_str + end + + def down + # removed concern Version, which removed LegalDocumentVersion + fail ActiveRecord::IrreversibleMigration + end +end