rescuing 500 on friending someone that was already friends
This commit is contained in:
parent
ed99532a83
commit
e05956bddd
2 changed files with 24 additions and 20 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue