Browse Source

Fix papertrail create version

pull/2391/head
Kat 2 years ago
parent
commit
a563b97551
  1. 1
      app/models/log.rb
  2. 4
      lib/tasks/update_created_by_values.rake
  3. 4
      spec/lib/tasks/update_created_by_values_spec.rb

1
app/models/log.rb

@ -379,4 +379,3 @@ private
self[postcode_key] = nil
end
end

4
lib/tasks/update_created_by_values.rake

@ -2,14 +2,14 @@ desc "Updates created_by values for lettings and sales logs"
task update_created_by_values: :environment do
LettingsLog.filter_by_years(%w[2023 2024]).where.not(bulk_upload_id: nil).update_all("created_by_id = (SELECT user_id FROM bulk_uploads WHERE bulk_uploads.id = lettings_logs.bulk_upload_id)")
LettingsLog.filter_by_years(%w[2023 2024]).where(bulk_upload_id: nil).each do |lettings_log|
user = PaperTrail::Version.find_by(item_id: lettings_log.id, event: "create")&.actor
user = PaperTrail::Version.find_by(item_id: lettings_log.id, item_type: "LettingsLog", event: "create")&.actor
lettings_log.created_by = user.presence || lettings_log.assigned_to
lettings_log.save!(touch: false, validate: false)
end
SalesLog.filter_by_years(%w[2023 2024]).where.not(bulk_upload_id: nil).update_all("created_by_id = (SELECT user_id FROM bulk_uploads WHERE bulk_uploads.id = sales_logs.bulk_upload_id)")
SalesLog.filter_by_years(%w[2023 2024]).where(bulk_upload_id: nil).each do |sales_log|
user = PaperTrail::Version.find_by(item_id: sales_log.id, event: "create")&.actor
user = PaperTrail::Version.find_by(item_id: sales_log.id, item_type: "SalesLog", event: "create")&.actor
sales_log.created_by = user.presence || sales_log.assigned_to
sales_log.save!(touch: false, validate: false)
end

4
spec/lib/tasks/update_created_by_values_spec.rb

@ -49,8 +49,8 @@ RSpec.describe "update_created_by_values" do
let(:other_user) { create(:user, organisation: user.organisation) }
before do
PaperTrail::Version.find_by(item_id: lettings_log.id, event: "create").update!(whodunnit: other_user.to_global_id.uri.to_s)
PaperTrail::Version.find_by(item_id: sales_log.id, event: "create").update!(whodunnit: other_user.to_global_id.uri.to_s)
PaperTrail::Version.find_by(item_id: lettings_log.id, item_type: "LettingsLog", event: "create").update!(whodunnit: other_user.to_global_id.uri.to_s)
PaperTrail::Version.find_by(item_id: sales_log.id, item_type: "SalesLog", event: "create").update!(whodunnit: other_user.to_global_id.uri.to_s)
end
it "updates created_by to create whodunnit for lettings" do

Loading…
Cancel
Save