about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-02-11 19:42:05 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-02-11 19:42:05 +0100
commit94d21827174c52a6b70ba2e45f098223f5d904fa (patch)
treeea9a16ad1567e139da34cc9bf2f958bdeb778f09
parent31c633e528393e4b3ebfdf89d48d50bbe53f7104 (diff)
Resolve issue with rendering authorize/reject Salmon slaps
-rw-r--r--app/models/concerns/streamable.rb6
-rw-r--r--app/models/follow_request.rb4
-rw-r--r--app/services/authorize_follow_service.rb1
-rw-r--r--app/services/reject_follow_service.rb1
4 files changed, 11 insertions, 1 deletions
diff --git a/app/models/concerns/streamable.rb b/app/models/concerns/streamable.rb
index 58c15cfbc..910736dac 100644
--- a/app/models/concerns/streamable.rb
+++ b/app/models/concerns/streamable.rb
@@ -30,8 +30,12 @@ module Streamable
       false
     end
 
+    def needs_stream_entry?
+      account.local?
+    end
+
     after_create do
-      account.stream_entries.create!(activity: self, hidden: hidden?) if account.local?
+      account.stream_entries.create!(activity: self, hidden: hidden?) if needs_stream_entry?
     end
   end
 end
diff --git a/app/models/follow_request.rb b/app/models/follow_request.rb
index 080c686e5..2755ba0ab 100644
--- a/app/models/follow_request.rb
+++ b/app/models/follow_request.rb
@@ -45,6 +45,10 @@ class FollowRequest < ApplicationRecord
     true
   end
 
+  def needs_stream_entry?
+    true
+  end
+
   def title
     if destroyed?
       case @verb
diff --git a/app/services/authorize_follow_service.rb b/app/services/authorize_follow_service.rb
index 1590d8433..5370b4b61 100644
--- a/app/services/authorize_follow_service.rb
+++ b/app/services/authorize_follow_service.rb
@@ -7,5 +7,6 @@ class AuthorizeFollowService < BaseService
     follow_request = FollowRequest.find_by!(account: source_account, target_account: target_account)
     follow_request.authorize!
     NotificationWorker.perform_async(stream_entry_to_xml(follow_request.stream_entry), target_account.id, source_account.id) unless source_account.local?
+    follow_request.stream_entry.destroy
   end
 end
diff --git a/app/services/reject_follow_service.rb b/app/services/reject_follow_service.rb
index 0c568b981..a17d6a7be 100644
--- a/app/services/reject_follow_service.rb
+++ b/app/services/reject_follow_service.rb
@@ -7,5 +7,6 @@ class RejectFollowService < BaseService
     follow_request = FollowRequest.find_by!(account: source_account, target_account: target_account)
     follow_request.reject!
     NotificationWorker.perform_async(stream_entry_to_xml(follow_request.stream_entry), target_account.id, source_account.id) unless source_account.local?
+    follow_request.stream_entry.destroy
   end
 end