Fix user disabling changing activity timestamps, fix nil error (#12943)
parent
b89e6cfe70
commit
71921f6bc3
|
@ -128,9 +128,7 @@ class User < ApplicationRecord
|
|||
end
|
||||
|
||||
def disable!
|
||||
update!(disabled: true,
|
||||
last_sign_in_at: current_sign_in_at,
|
||||
current_sign_in_at: nil)
|
||||
update!(disabled: true)
|
||||
end
|
||||
|
||||
def enable!
|
||||
|
@ -301,7 +299,7 @@ class User < ApplicationRecord
|
|||
arr << [current_sign_in_at, current_sign_in_ip] if current_sign_in_ip.present?
|
||||
arr << [last_sign_in_at, last_sign_in_ip] if last_sign_in_ip.present?
|
||||
|
||||
arr.sort_by(&:first).uniq(&:last).reverse!
|
||||
arr.sort_by { |pair| pair.first || Time.now.utc }.uniq(&:last).reverse!
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -322,20 +322,7 @@ RSpec.describe User, type: :model do
|
|||
end
|
||||
|
||||
it 'disables user' do
|
||||
expect(user).to have_attributes(disabled: true, current_sign_in_at: nil, last_sign_in_at: current_sign_in_at)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#disable!' do
|
||||
subject(:user) { Fabricate(:user, disabled: false, current_sign_in_at: current_sign_in_at, last_sign_in_at: nil) }
|
||||
let(:current_sign_in_at) { Time.zone.now }
|
||||
|
||||
before do
|
||||
user.disable!
|
||||
end
|
||||
|
||||
it 'disables user' do
|
||||
expect(user).to have_attributes(disabled: true, current_sign_in_at: nil, last_sign_in_at: current_sign_in_at)
|
||||
expect(user).to have_attributes(disabled: true)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Reference in New Issue