diff --git a/app/models/services/facebook.rb b/app/models/services/facebook.rb index 651dff7b7..c7c0aafba 100644 --- a/app/models/services/facebook.rb +++ b/app/models/services/facebook.rb @@ -39,7 +39,7 @@ class Services::Facebook < Service service_objects = Services::Facebook.where(:uid => data_h.keys).includes(:user => {:person => :profile}) service_objects.each do |s| - data_h[s.uid][:person] = s.user.person + data_h[s.uid][:person] = s.user.person if s.user.person.profile.searchable data_h[s.uid][:contact] = self.user.contacts.where(:person_id => s.user.person.id).first end diff --git a/spec/models/services/facebook_spec.rb b/spec/models/services/facebook_spec.rb index 70d718ac6..57f4ca63f 100644 --- a/spec/models/services/facebook_spec.rb +++ b/spec/models/services/facebook_spec.rb @@ -70,6 +70,12 @@ JSON it 'contains a diaspora person object' do @service.finder.values.first[:person].should == @user2.person end + it 'does not include the person if the search is disabled' do + p = @user2.person.profile + p.searchable = false + p.save + @service.finder.values.first[:person].should be_nil + end it 'contains a contact object if connected' do connect_users(@user, @user.aspects.first, @user2, @user2.aspects.first) @service.finder.values.first[:contact].should == @user.reload.contact_for(@user2.person)