Merge pull request #221 from glitch-soc/local-only-policy
Update StatusPolicy to check current_account for local_only? toots.
This commit is contained in:
		
						commit
						b006bb82af
					
				| 
						 | 
				
			
			@ -6,7 +6,7 @@ class StatusPolicy < ApplicationPolicy
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def show?
 | 
			
		||||
    return false if local_only? && account.nil?
 | 
			
		||||
    return false if local_only? && current_account.nil?
 | 
			
		||||
 | 
			
		||||
    if direct?
 | 
			
		||||
      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)
 | 
			
		||||
    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
 | 
			
		||||
 | 
			
		||||
  permissions :reblog? do
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue