Skip to content
Extraits de code Groupes Projets
Valider 7021cd79 rédigé par Raphael Sofaer's avatar Raphael Sofaer
Parcourir les fichiers

Select distinct people in contacts index

parent a2043671
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -25,6 +25,7 @@ class ContactsController < ApplicationController ...@@ -25,6 +25,7 @@ class ContactsController < ApplicationController
format.mobile { @contacts = sort_and_paginate_profiles(@contacts) } format.mobile { @contacts = sort_and_paginate_profiles(@contacts) }
format.json { format.json {
@people = Person.joins(:contacts => :aspect_memberships). @people = Person.joins(:contacts => :aspect_memberships).
select('DISTINCT people.*').
where(:contacts => { :user_id => current_user.id }, where(:contacts => { :user_id => current_user.id },
:aspect_memberships => { :aspect_id => params[:aspect_ids] }) :aspect_memberships => { :aspect_id => params[:aspect_ids] })
......
...@@ -67,6 +67,14 @@ describe ContactsController do ...@@ -67,6 +67,14 @@ describe ContactsController do
get :index get :index
save_fixture(html_for("body"), "aspects_manage") save_fixture(html_for("body"), "aspects_manage")
end end
it 'does not select duplicate contacts' do
aspect = bob.aspects.create(:name => 'hilarious people')
aspect.contacts << bob.contact_for(eve.person)
get :index, :format => 'json', :aspect_ids => bob.aspect_ids
assigns[:people].map{|p| p.id}.uniq.should == assigns[:people].map{|p| p.id}
assigns[:people].should == bob.contacts.map(&:person)
end
end end
describe '#featured' do describe '#featured' do
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter