]> cat aescling's git repositories - mastodon.git/commitdiff
Don't allow people to follow people they blocked without unblocking first
authorEugen Rochko <eugen@zeonfederated.com>
Sun, 5 Feb 2017 19:58:09 +0000 (20:58 +0100)
committerEugen Rochko <eugen@zeonfederated.com>
Sun, 5 Feb 2017 20:04:22 +0000 (21:04 +0100)
app/assets/javascripts/components/features/account/components/header.jsx
app/services/follow_service.rb

index dead11265b1869418c0f1dbb9511bf927fcca71d..30e0449c514b94897ae953ddeacd889e95ec3e33 100644 (file)
@@ -44,7 +44,7 @@ const Header = React.createClass({
             <IconButton size={26} disabled={true} icon='hourglass' title={intl.formatMessage(messages.requested)} />
           </div>
         );
-      } else {
+      } else if (!account.getIn(['relationship', 'blocking'])) {
         actionBtn = (
           <div style={{ position: 'absolute', top: '10px', left: '20px' }}>
             <IconButton size={26} icon={account.getIn(['relationship', 'following']) ? 'user-times' : 'user-plus'} active={account.getIn(['relationship', 'following'])} title={intl.formatMessage(account.getIn(['relationship', 'following']) ? messages.unfollow : messages.follow)} onClick={this.props.onFollow} />
index 87c16a6219180c8c3fcbf281f6d1b8b55228e7ec..9f34cb6ac5e3a551e5986133bf076ee3d4678abc 100644 (file)
@@ -8,7 +8,7 @@ class FollowService < BaseService
     target_account = follow_remote_account_service.call(uri)
 
     raise ActiveRecord::RecordNotFound if target_account.nil? || target_account.id == source_account.id || target_account.suspended?
-    raise Mastodon::NotPermitted       if target_account.blocking?(source_account)
+    raise Mastodon::NotPermitted       if target_account.blocking?(source_account) || source_account.blocking?(target_account)
 
     if target_account.locked?
       request_follow(source_account, target_account)