diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb index db15835f2..428bb58c7 100644 --- a/app/controllers/people_controller.rb +++ b/app/controllers/people_controller.rb @@ -12,6 +12,7 @@ class PeopleController < ApplicationController @aspect = :search @people = Person.search(params[:q]).paginate :page => params[:page], :per_page => 25, :order => 'created_at DESC' + @requests = Request.all(:to_id.in => @people.map{|p| p.id}) #only do it if it is an email address if params[:q].try(:match, Devise.email_regexp) diff --git a/app/helpers/sockets_helper.rb b/app/helpers/sockets_helper.rb index 4f6bfaef6..0c61f4bf6 100644 --- a/app/helpers/sockets_helper.rb +++ b/app/helpers/sockets_helper.rb @@ -26,7 +26,14 @@ module SocketsHelper } v = render_to_string(:partial => 'shared/stream_element', :locals => post_hash) elsif object.is_a? Person - v = render_to_string(:partial => type_partial(object), :locals => {:single_aspect_form => opts[:single_aspect_form], :person => object, :aspects => user.aspects, :current_user => user}) + person_hash = { + :single_aspect_form => opts[:single_aspect_form], + :person => object, + :aspects => user.aspects, + :contact => user.contact_for(object), + :request => user.request_for(object), + :current_user => user} + v = render_to_string(:partial => 'people/person', :locals => person_hash) elsif object.is_a? Comment v = render_to_string(:partial => 'comments/comment', :locals => {:hash => {:comment => object, :person => object.person}}) else diff --git a/app/views/people/_person.html.haml b/app/views/people/_person.html.haml index 936eaf2d9..87bcdf756 100644 --- a/app/views/people/_person.html.haml +++ b/app/views/people/_person.html.haml @@ -8,14 +8,14 @@ .content %span.from - = link_to person.real_name, person_path(person) + =person_link(person) .right{:style=>"display:inline;"} - - if person.id == current_user.person.id + - if person.owner_id == current_user.id = t('.thats_you') - - elsif current_user.person_objects.include?(person) + - elsif contact = t('.already_connected') - - elsif current_user.request_for(person) + - elsif request = link_to t('.pending_request'), aspects_manage_path - else - single_aspect_form ||= nil diff --git a/app/views/people/index.html.haml b/app/views/people/index.html.haml index a61655391..98f43fe40 100644 --- a/app/views/people/index.html.haml +++ b/app/views/people/index.html.haml @@ -9,6 +9,10 @@ %ul{:class => 'stream people', :id => 'people_stream'} - for person in @people - = render 'people/person', :person => person, :aspects => @aspects + = render 'people/person', + :person => person, + :aspects => @aspects, + :contact => @contacts.detect{|contact| contact.person_id == person.id}, + :request => @requests.detect{|request| request.to_id == person.id} = will_paginate @people