From 93d69c4ec796c157d5edec369ecae79d4dc0c910 Mon Sep 17 00:00:00 2001 From: zhitomirskiyi <ilya@joindiaspora.com> Date: Mon, 21 Mar 2011 12:28:21 -0700 Subject: [PATCH] fixed the views for the friend finder --- app/controllers/services_controller.rb | 3 ++- app/models/services/facebook.rb | 4 ++-- app/views/services/_finder.html.haml | 2 +- app/views/services/_remote_friend.html.haml | 8 ++++---- spec/controllers/services_controller_spec.rb | 5 +++-- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/controllers/services_controller.rb b/app/controllers/services_controller.rb index b50a401ced..d3cc5549e9 100644 --- a/app/controllers/services_controller.rb +++ b/app/controllers/services_controller.rb @@ -46,7 +46,8 @@ class ServicesController < ApplicationController def finder service = current_user.services.where(:type => "Services::#{params[:provider].titleize}").first - @friends = service ? service.finder(:remote => params[:remote]) : {} + @friends = service ? service.finder(:remote => params[:remote]) : [] + pp @friends.class render :layout => false end diff --git a/app/models/services/facebook.rb b/app/models/services/facebook.rb index f8a5a1f445..be1f1f922d 100644 --- a/app/models/services/facebook.rb +++ b/app/models/services/facebook.rb @@ -29,9 +29,9 @@ class Services::Facebook < Service person = Person.arel_table service_user = ServiceUser.arel_table if opts[:local] - ServiceUser.joins(:person).where(:service_id => self.id).where(person[:owner_id].not_eq(nil)) + ServiceUser.joins(:person).where(:service_id => self.id).where(person[:owner_id].not_eq(nil)).all elsif opts[:remote] - ServiceUser.joins(:person).where(:service_id => self.id).where(person[:owner_id].eq(nil)) + ServiceUser.joins(:person).where(:service_id => self.id).where(person[:owner_id].eq(nil)).all else self.service_users end diff --git a/app/views/services/_finder.html.haml b/app/views/services/_finder.html.haml index caf89a21e0..0dbe0e28dd 100644 --- a/app/views/services/_finder.html.haml +++ b/app/views/services/_finder.html.haml @@ -5,4 +5,4 @@ = search_field_tag :contact_search, "", :class => 'contact_list_search', :results => 5, :placeholder => t('shared.contact_list.all_contacts') %ul.friend_finder - for friend in friends - = render :partial => 'services/remote_friend', :locals => {:friend => friend, :uid => friend.uid} + = render :partial => 'services/remote_friend', :locals => {:friend => friend} diff --git a/app/views/services/_remote_friend.html.haml b/app/views/services/_remote_friend.html.haml index d15e2a28e2..ebb3c16944 100644 --- a/app/views/services/_remote_friend.html.haml +++ b/app/views/services/_remote_friend.html.haml @@ -1,4 +1,4 @@ -%li.remote_friend{:id => "uid_" + uid, :uid => uid} +%li.remote_friend{:id => "uid_" + friend.uid, :uid => friend.uid} .right -if friend.contact && !friend.contact.pending = t('people.person.already_connected') @@ -11,7 +11,7 @@ - elsif friend.invitation_id = t('invitations.new.already_invited') %br - = link_to t('.resend'), service_inviter_path(:uid => uid, :provider => 'facebook', :invitation_id => friend.invitation_id) + = link_to t('.resend'), service_inviter_path(:uid => friend.uid, :provider => 'facebook', :invitation_id => friend.invitation_id) - elsif friend.person = link_to t('people.show.start_sharing'), '#', @@ -20,7 +20,7 @@ - elsif current_user.invites > 0 = form_tag service_inviter_path(:provider => 'facebook') do = select_tag(:aspect_id, options_from_collection_for_select(@all_aspects, 'id', 'name')) - = hidden_field_tag :uid, uid + = hidden_field_tag :uid, friend.uid = submit_tag t('.invite') - if friend.person @@ -35,7 +35,7 @@ = friend.name - unless friend.person.nil? || (friend.contact && friend.contact.pending) || (friend.request && friend.request.sender_id != friend.person.id) - %li{:id => "options_" + uid, :class => "share_with hidden", :style => "height:auto"} + %li{:id => "options_" + friend.uid, :class => "share_with hidden", :style => "height:auto"} - contact = friend.contact - contact ||= Contact.new = render :partial => 'contacts/share_with_list', diff --git a/spec/controllers/services_controller_spec.rb b/spec/controllers/services_controller_spec.rb index b02c35adcc..b57fbf17c5 100644 --- a/spec/controllers/services_controller_spec.rb +++ b/spec/controllers/services_controller_spec.rb @@ -87,8 +87,9 @@ describe ServicesController do @user.services << @service1 @person = Factory(:person) @user.services.stub!(:where).and_return([@service1]) - @hash = {"facebook_id" => {:contact => @user.contact_for(bob.person), :name => "Robert Bobson", :person => bob.person}, - "facebook_id2" => {:name => "Robert Bobson2"}} + @hash = [ ServiceUser.create(:contact => @user.contact_for(bob.person), :name => "Robert Bobson", :person => bob.person, + :service => @service1, :uid => "321" ), + ServiceUser.create(:name => "Robert Bobson", :service => @service1, :uid => "dsfasdfas")] @service1.should_receive(:finder).and_return(@hash) end -- GitLab