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

This commit is contained in:
Eugen Rochko 2017-02-05 20:58:09 +01:00
parent eee8afb0b7
commit 0af3401553
2 changed files with 2 additions and 2 deletions

View file

@ -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} />

View file

@ -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)