Don't allow people to follow people they blocked without unblocking first

master
Eugen Rochko 8 years ago
parent eee8afb0b7
commit 0af3401553
  1. 2
      app/assets/javascripts/components/features/account/components/header.jsx
  2. 2
      app/services/follow_service.rb

@ -44,7 +44,7 @@ const Header = React.createClass({
<IconButton size={26} disabled={true} icon='hourglass' title={intl.formatMessage(messages.requested)} /> <IconButton size={26} disabled={true} icon='hourglass' title={intl.formatMessage(messages.requested)} />
</div> </div>
); );
} else { } else if (!account.getIn(['relationship', 'blocking'])) {
actionBtn = ( actionBtn = (
<div style={{ position: 'absolute', top: '10px', left: '20px' }}> <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} /> <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} />

@ -8,7 +8,7 @@ class FollowService < BaseService
target_account = follow_remote_account_service.call(uri) 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 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? if target_account.locked?
request_follow(source_account, target_account) request_follow(source_account, target_account)

Loading…
Cancel
Save