diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 52a157ba8..935019724 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -13,14 +13,14 @@ class UsersController < ApplicationController def edit @aspect = :user_edit @user = current_user - @email_prefs = Hash.new(true) + @email_prefs = Hash.new(true) @user.user_preferences.each do |pref| @email_prefs[pref.email_type] = false end end def update - + u = params[:user] @user = current_user @@ -102,6 +102,7 @@ class UsersController < ApplicationController if @step == 3 @requests = Request.where(:recipient_id => @person.id).includes(:sender => :profile).all @friends = service ? service.finder(:local => true) : {} + @friends ||= {} @friends.delete_if{|key, value| @requests.any?{ |r| r.sender_id == value[:person].id} } end diff --git a/app/models/service.rb b/app/models/service.rb index 14c05a8d3..97d639429 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -8,7 +8,7 @@ class Service < ActiveRecord::Base belongs_to :user has_many :service_users after_create do - Resque.enqueue(Job::UpdateServiceUsers, self.id) if s.respond_to? :save_friends + Resque.enqueue(Job::UpdateServiceUsers, self.id) if self.respond_to? :save_friends end def public_message(post, length, url = "") diff --git a/app/models/services/facebook.rb b/app/models/services/facebook.rb index d1e51380e..051abda88 100644 --- a/app/models/services/facebook.rb +++ b/app/models/services/facebook.rb @@ -1,6 +1,10 @@ class Services::Facebook < Service MAX_CHARACTERS = 420 + after_create do + Resque.enqueue(Job::UpdateServiceUsers, self.id) + end + def provider "facebook" end @@ -38,7 +42,7 @@ class Services::Facebook < Service end def save_friends - url = "https://graph.facebook.com/me/friends?fields[]=name&fields[]=picture&access_token=#{URI.escape(self.access_token)}" + url = "https://graph.facebook.com/me/friends?fields[]=name&fields[]=picture&access_token=#{URI.escape(self.access_token)}" response = RestClient.get(url) data = JSON.parse(response.body)['data'] data.each{ |p|