diff --git a/app/models/user.rb b/app/models/user.rb index 306458485c9ba96dd5cd2d0af18166d74ca95465..1a3504120ed3240e48491ea28c10396080fc22f4 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -45,7 +45,7 @@ class User self.pending_requests << request self.save - group = self.groups.first(:id => group_id) + group = self.group_by_id(group_id) group.requests << request group.save @@ -60,7 +60,7 @@ class User request = Request.where(:id => friend_request_id).first n = pending_requests.delete(request) - activate_friend(request.person, groups.first(:id => group_id)) + activate_friend(request.person, group_by_id(group_id)) request.reverse self @@ -82,7 +82,7 @@ class User def receive_friend_request(friend_request) Rails.logger.info("receiving friend request #{friend_request.to_json}") if request_from_me?(friend_request) - group = self.groups.first(:id => friend_request.group_id) + group = self.group_by_id(friend_request.group_id) activate_friend(friend_request.person, group) Rails.logger.info("#{self.real_name}'s friend request has been accepted") @@ -145,8 +145,8 @@ class User if object.is_a? Retraction if object.type == 'Person' && object.signature_valid? - Rails.logger.info( "the person id is #{object.post_id} the friend found is #{friends.first(:id => object.post_id).inspect}") - unfriended_by friends.first(:id => object.post_id) + Rails.logger.info( "the person id is #{object.post_id} the friend found is #{friend_by_id(object.post_id).inspect}") + unfriended_by friend_by_id(object.post_id) else object.perform self.id @@ -189,10 +189,13 @@ class User self.password_confirmation = self.password end - def self.owner - User.first + def friend_by_id( id ) + friends.detect{|x| x.id == id } + end + + def group_by_id( id ) + groups.detect{|x| x.id == id } end - protected def assign_key