checks if you already invited the person
This commit is contained in:
parent
1a911a8b99
commit
9e22f4a6e6
3 changed files with 28 additions and 1 deletions
|
|
@ -25,6 +25,14 @@ class Services::Facebook < Service
|
||||||
data_h[d['id']] = {:name => d['name']}
|
data_h[d['id']] = {:name => d['name']}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
invitation_objects = Invitation.joins(:recipient).where(:sender_id => self.user_id,
|
||||||
|
:users => {:invitation_service => 'facebook',
|
||||||
|
:invitation_identifier => data_h.keys})
|
||||||
|
|
||||||
|
invitation_objects.each do |inv|
|
||||||
|
data_h[inv.recipient.invitation_identifier][:invitation] = true
|
||||||
|
end
|
||||||
|
|
||||||
service_objects = Services::Facebook.where(:uid => data_h.keys).includes(:user => :person)
|
service_objects = Services::Facebook.where(:uid => data_h.keys).includes(:user => :person)
|
||||||
service_objects.each do |s|
|
service_objects.each do |s|
|
||||||
data_h[s.uid][:person] = s.user.person
|
data_h[s.uid][:person] = s.user.person
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,8 @@
|
||||||
:id => friend[:person].id},
|
:id => friend[:person].id},
|
||||||
:class => 'button',
|
:class => 'button',
|
||||||
:rel => 'facebox'
|
:rel => 'facebox'
|
||||||
|
- elsif friend[:invitation]
|
||||||
|
= t('invitations.new.already_invited')
|
||||||
- else
|
- else
|
||||||
= form_tag service_inviter_path do
|
= form_tag service_inviter_path do
|
||||||
= select_tag(:aspect_id, options_from_collection_for_select(@all_aspects, 'id', 'name'))
|
= select_tag(:aspect_id, options_from_collection_for_select(@all_aspects, 'id', 'name'))
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,24 @@ JSON
|
||||||
connect_users(@user, @user.aspects.first, @user2, @user2.aspects.first)
|
connect_users(@user, @user.aspects.first, @user2, @user2.aspects.first)
|
||||||
@service.finder.values.first[:contact].should == @user.reload.contact_for(@user2.person)
|
@service.finder.values.first[:contact].should == @user.reload.contact_for(@user2.person)
|
||||||
end
|
end
|
||||||
end
|
context 'already invited' do
|
||||||
|
before do
|
||||||
|
@user2.invitation_service = 'facebook'
|
||||||
|
@user2.invitation_identifier = @user2_fb_id
|
||||||
|
@user2.save!
|
||||||
|
end
|
||||||
|
it 'contains an invitation if invited' do
|
||||||
|
@inv = Invitation.create(:sender => @user, :recipient => @user2, :aspect => @user.aspects.first)
|
||||||
|
@service.finder.values.first[:invitation].should be_true
|
||||||
|
end
|
||||||
|
it 'does not find the user with a wrong identifier' do
|
||||||
|
@user2.invitation_identifier = 'dsaofhnadsoifnsdanf'
|
||||||
|
@user2.save
|
||||||
|
|
||||||
|
@inv = Invitation.create(:sender => @user, :recipient => @user2, :aspect => @user.aspects.first)
|
||||||
|
@service.finder.values.first[:invitation].should be_nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue