Skip to content
Extraits de code Groupes Projets
Valider 10e6ff9d rédigé par Thomas Krehbiel's avatar Thomas Krehbiel Validation de root
Parcourir les fichiers

Fix for sending unlimited duplicate friend requests

parent aaa4d75a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -47,8 +47,8 @@ class RequestsController < ApplicationController ...@@ -47,8 +47,8 @@ class RequestsController < ApplicationController
begin begin
@request = current_user.send_friend_request_to(rel_hash[:friend], aspect) @request = current_user.send_friend_request_to(rel_hash[:friend], aspect)
rescue Exception => e rescue Exception => e
raise e unless e.message.include? "already friends" raise e unless e.message.include? "already"
flash[:notice] = "You are already friends with #{params[:request][:destination_url]}!" flash[:notice] = "#{e.message} #{params[:request][:destination_url]}"
respond_with :location => aspect respond_with :location => aspect
return return
end end
......
...@@ -8,6 +8,9 @@ module Diaspora ...@@ -8,6 +8,9 @@ module Diaspora
module UserModules module UserModules
module Friending module Friending
def send_friend_request_to(desired_friend, aspect) def send_friend_request_to(desired_friend, aspect)
# should have different exception types for these?
raise "You have already sent a friend request to that person!" if self.pending_requests.detect{
|x| x.destination_url == desired_friend.receive_url }
raise "You are already friends with that person!" if self.friends.detect{ raise "You are already friends with that person!" if self.friends.detect{
|x| x.receive_url == desired_friend.receive_url} |x| x.receive_url == desired_friend.receive_url}
request = Request.instantiate( request = Request.instantiate(
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter