Merge pull request #221 from glitch-soc/local-only-policy
Update StatusPolicy to check current_account for local_only? toots.main
commit
b006bb82af
|
@ -6,7 +6,7 @@ class StatusPolicy < ApplicationPolicy
|
||||||
end
|
end
|
||||||
|
|
||||||
def show?
|
def show?
|
||||||
return false if local_only? && account.nil?
|
return false if local_only? && current_account.nil?
|
||||||
|
|
||||||
if direct?
|
if direct?
|
||||||
owned? || record.mentions.where(account: current_account).exists?
|
owned? || record.mentions.where(account: current_account).exists?
|
||||||
|
|
|
@ -71,6 +71,12 @@ RSpec.describe StatusPolicy, type: :model do
|
||||||
|
|
||||||
expect(subject).to_not permit(viewer, status)
|
expect(subject).to_not permit(viewer, status)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'denies access when local-only and the viewer is not logged in' do
|
||||||
|
allow(status).to receive(:local_only?) { true }
|
||||||
|
|
||||||
|
expect(subject).to_not permit(nil, status)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :reblog? do
|
permissions :reblog? do
|
||||||
|
|
Loading…
Reference in New Issue