about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-12-22 23:07:46 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-12-22 23:07:46 +0100
commit9d42bff285551303ed4f49935991321de570564e (patch)
treed41d41fe351e5bf523f93bbb29c091caddb0f3cd
parentb891a81008d2cf595cb37432a8e1f36606db16d6 (diff)
Hide follow/unfollow button from public page if follow already requested
-rw-r--r--app/models/account.rb4
-rw-r--r--app/views/accounts/_header.html.haml2
2 files changed, 5 insertions, 1 deletions
diff --git a/app/models/account.rb b/app/models/account.rb
index 273c09833..5c1f6e7c1 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -91,6 +91,10 @@ class Account < ApplicationRecord
     blocking.include?(other_account)
   end
 
+  def requested?(other_account)
+    follow_requests.where(target_account: other_account).exists?
+  end
+
   def local?
     domain.nil?
   end
diff --git a/app/views/accounts/_header.html.haml b/app/views/accounts/_header.html.haml
index c132a6896..77fd6c457 100644
--- a/app/views/accounts/_header.html.haml
+++ b/app/views/accounts/_header.html.haml
@@ -1,5 +1,5 @@
 .card{ style: "background-image: url(#{@account.header.url( :original)})" }
-  - if user_signed_in? && current_account.id != @account.id
+  - if user_signed_in? && current_account.id != @account.id && !current_account.requested?(@account)
     .controls
       - if current_account.following?(@account)
         = link_to t('accounts.unfollow'), unfollow_account_path(@account), data: { method: :post }, class: 'button'