diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-02-05 20:58:09 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-02-05 21:04:22 +0100 |
commit | 0af3401553bfc8366779bf64ebe257c962eb82eb (patch) | |
tree | 8a58782e808655729a789ca0da66bcd52bd2d76a | |
parent | eee8afb0b711205b793cb881ad6e875305d6d45e (diff) |
Don't allow people to follow people they blocked without unblocking first
-rw-r--r-- | app/assets/javascripts/components/features/account/components/header.jsx | 2 | ||||
-rw-r--r-- | app/services/follow_service.rb | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/app/assets/javascripts/components/features/account/components/header.jsx b/app/assets/javascripts/components/features/account/components/header.jsx index dead11265..30e0449c5 100644 --- a/app/assets/javascripts/components/features/account/components/header.jsx +++ b/app/assets/javascripts/components/features/account/components/header.jsx @@ -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} /> diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index 87c16a621..9f34cb6ac 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -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) |