diff --git a/app/controllers/dev_utilities_controller.rb b/app/controllers/dev_utilities_controller.rb index f5f96683f..f45be992b 100644 --- a/app/controllers/dev_utilities_controller.rb +++ b/app/controllers/dev_utilities_controller.rb @@ -23,9 +23,10 @@ def warzombie def zombiefriends render :nothing => true - backer_info - if User.owner.email == "tom@tom.joindiaspora.com" && Person.friends.first.nil? - backer_info.each do |backer| + bkr_info = backer_info + + if User.owner.email == "tom@tom.joindiaspora.com" && User.owner.friends.first.nil? + bkr_info.each do |backer| logger.info "Zombefriending #{backer['given_name']} #{backer['family_name']}" User.owner.send_friend_request_to("http://#{backer['username']}.joindiaspora.com/") end diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb index 25fcdf2af..b93a9f059 100644 --- a/app/controllers/people_controller.rb +++ b/app/controllers/people_controller.rb @@ -2,14 +2,15 @@ class PeopleController < ApplicationController before_filter :authenticate_user! def index - @people = Person.friends.paginate :page => params[:page], :order => 'created_at DESC' + @people = current_user.friends.paginate :page => params[:page], :order => 'created_at DESC' end def show @person= Person.where(:id => params[:id]).first + @person_profile = @person.profile @person_posts = Post.where(:person_id => @person.id).paginate :page => params[:page], :order => 'created_at DESC' - @latest_status_message = StatusMessage.newest(@person) + @latest_status_message = StatusMessage.newest_for(@person) @post_count = @person_posts.count end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 69011b563..bd0ede89b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -31,7 +31,9 @@ module ApplicationHelper end end - def link_to_person(person) + def link_to_person(user) + person = user.person + puts person.inspect link_to person.real_name, person_path(person) end diff --git a/app/models/request.rb b/app/models/request.rb index e8b073aa6..1db410bbc 100644 --- a/app/models/request.rb +++ b/app/models/request.rb @@ -35,13 +35,6 @@ class Request - def activate_friend - from_user = Person.first(:url => self.callback_url).owner - from_user.pending_friends.delete(person) - - from_user.friends << person - from_user.save - end def set_pending_friend p = Person.first(:id => self.person.id) diff --git a/app/models/user.rb b/app/models/user.rb index 8744699bc..e2d1a5773 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -32,7 +32,7 @@ class User ######### Friend Requesting def send_friend_request_to(friend_url) - unless Person.where(:url => friend_url).first + unless self.friends.find{ |x| x.url == friend_url} p = Request.instantiate(:to => friend_url, :from => self.person) if p.save p.push_to_url friend_url @@ -43,10 +43,12 @@ class User def accept_friend_request(friend_request_id) request = Request.where(:id => friend_request_id).first - pending_friends.delete(request.person) + n = pending_friends.delete(request.person) + friends << request.person + save - request.person = self + request.person = self.person request.exported_key = self.export_key request.destination_url = request.callback_url request.push_to_url(request.callback_url) @@ -66,12 +68,13 @@ class User friend_request.person.serialized_key = friend_request.exported_key if Request.where(:callback_url => friend_request.callback_url).first - friend_request.activate_friend + activate_friend friend_request.person Rails.logger.info("#{self.real_name}'s friend request has been accepted") friend_request.destroy else friend_request.person.save pending_friends << friend_request.person + save Rails.logger.info("#{self.real_name} has received a friend request") friend_request.save end @@ -97,6 +100,11 @@ class User raise "you can't do anything to that url" end end + + def activate_friend (person) + friends << person + save + end ###Helpers############ diff --git a/db/seeds/tom.rb b/db/seeds/tom.rb index d180c3a7d..17b9375ca 100644 --- a/db/seeds/tom.rb +++ b/db/seeds/tom.rb @@ -18,3 +18,10 @@ user = User.create( :email => "tom@tom.joindiaspora.com", ) user.person.save +user2 = User.create( :email => "korth@tom.joindiaspora.com", + :password => "evankorth", + :person => Person.new( :email => "korth@tom.joindiaspora.com", + :url => "http://tom.joindiaspora.com/", + :profile => Profile.new( :first_name => "Evan", + :last_name => "Korth"))) +user2.person.save