Skip to content
Extraits de code Groupes Projets
Valider e05956bd rédigé par Raphael's avatar Raphael
Parcourir les fichiers

rescuing 500 on friending someone that was already friends

parent ed99532a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -38,18 +38,22 @@ class RequestsController < ApplicationController
redirect_to current_user.group_by_id(params[:request][:group_id])
return
end
Rails.logger.debug("Sending request: #{rel_hash}")
@request = current_user.send_request(rel_hash, params[:request][:group_id])
begin
@request = current_user.send_request(rel_hash, params[:request][:group_id])
rescue Exception => e
raise e unless e.message.include? "already friends"
flash[:notice] = "You are already friends with #{params[:request][:destination_url]}!"
redirect_to current_user.group_by_id(params[:request][:group_id])
end
if @request
flash[:notice] = "a friend request was sent to #{@request.destination_url}"
redirect_to requests_url
redirect_to current_user.group_by_id(params[:request][:group_id])
else
if url.include? '@'
flash[:error] = "no diaspora seed found with this email!"
else
flash[:error] = "you have already friended this person"
end
flash[:error] = "Something went horribly wrong..."
redirect_to current_user.group_by_id(params[:request][:group_id])
end
end
......
......@@ -124,22 +124,22 @@ class User
######### Friend Requesting ###########
def send_friend_request_to(friend_url, group_id)
unless self.friends.detect{ |x| x.receive_url == friend_url}
request = Request.instantiate(:to => friend_url, :from => self.person, :into => group_id)
if request.save
self.pending_requests << request
self.save
raise "You are already friends with that person!" if self.friends.detect{ |x| x.receive_url == friend_url}
request = Request.instantiate(:to => friend_url, :from => self.person, :into => group_id)
if request.save
self.pending_requests << request
self.save
group = self.group_by_id(group_id)
group = self.group_by_id(group_id)
group.requests << request
group.save
request.push_to_url friend_url
end
request
group.requests << request
group.save
request.push_to_url friend_url
end
end
request
end
def accept_friend_request(friend_request_id, group_id)
request = Request.find_by_id(friend_request_id)
......
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