Select distinct people in contacts index
This commit is contained in:
parent
a2043671ce
commit
7021cd79c8
2 changed files with 9 additions and 0 deletions
|
|
@ -25,6 +25,7 @@ class ContactsController < ApplicationController
|
|||
format.mobile { @contacts = sort_and_paginate_profiles(@contacts) }
|
||||
format.json {
|
||||
@people = Person.joins(:contacts => :aspect_memberships).
|
||||
select('DISTINCT people.*').
|
||||
where(:contacts => { :user_id => current_user.id },
|
||||
:aspect_memberships => { :aspect_id => params[:aspect_ids] })
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,14 @@ describe ContactsController do
|
|||
get :index
|
||||
save_fixture(html_for("body"), "aspects_manage")
|
||||
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
|
||||
|
||||
describe '#featured' do
|
||||
|
|
|
|||
Loading…
Reference in a new issue