diff --git a/app/models/services/facebook.rb b/app/models/services/facebook.rb index c7c0aafba..f0987a16f 100644 --- a/app/models/services/facebook.rb +++ b/app/models/services/facebook.rb @@ -38,11 +38,16 @@ class Services::Facebook < Service end service_objects = Services::Facebook.where(:uid => data_h.keys).includes(:user => {:person => :profile}) + person_ids_and_uids = {} + service_objects.each do |s| 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 + person_ids_and_uids[s.user.person.id] = s.uid end + contact_objects = self.user.contacts.where(:person_id => person_ids_and_uids.keys) + contact_objects.each{|c| data_h[person_ids_and_uids[c.person_id]][:contact] = c} + data_h end end