params.require(:user).permit(
:setting_default_privacy,
:setting_boost_modal,
+ :setting_delete_modal,
:setting_auto_play_gif,
notification_emails: %i(follow follow_request reblog favourite mention digest),
interactions: %i(must_be_follower must_be_following)
status: getStatus(state, props.id),
me: state.getIn(['meta', 'me']),
boostModal: state.getIn(['meta', 'boost_modal']),
+ deleteModal: state.getIn(['meta', 'delete_modal']),
autoPlayGif: state.getIn(['meta', 'auto_play_gif']),
});
},
onDelete (status) {
- dispatch(openModal('CONFIRM', {
- message: intl.formatMessage(messages.deleteMessage),
- confirm: intl.formatMessage(messages.deleteConfirm),
- onConfirm: () => dispatch(deleteStatus(status.get('id'))),
- }));
+ if (!this.deleteModal) {
+ dispatch(deleteStatus(status.get('id')));
+ } else {
+ dispatch(openModal('CONFIRM', {
+ message: intl.formatMessage(messages.deleteMessage),
+ confirm: intl.formatMessage(messages.deleteConfirm),
+ onConfirm: () => dispatch(deleteStatus(status.get('id'))),
+ }));
+ }
},
onMention (account, router) {
descendantsIds: state.getIn(['timelines', 'descendants', Number(props.params.statusId)]),
me: state.getIn(['meta', 'me']),
boostModal: state.getIn(['meta', 'boost_modal']),
+ deleteModal: state.getIn(['meta', 'delete_modal']),
autoPlayGif: state.getIn(['meta', 'auto_play_gif']),
});
descendantsIds: ImmutablePropTypes.list,
me: PropTypes.number,
boostModal: PropTypes.bool,
+ deleteModal: PropTypes.bool,
autoPlayGif: PropTypes.bool,
intl: PropTypes.object.isRequired,
};
handleDeleteClick = (status) => {
const { dispatch, intl } = this.props;
- dispatch(openModal('CONFIRM', {
- message: intl.formatMessage(messages.deleteMessage),
- confirm: intl.formatMessage(messages.deleteConfirm),
- onConfirm: () => dispatch(deleteStatus(status.get('id'))),
- }));
+ if (!this.props.deleteModal) {
+ dispatch(deleteStatus(status.get('id')));
+ } else {
+ dispatch(openModal('CONFIRM', {
+ message: intl.formatMessage(messages.deleteMessage),
+ confirm: intl.formatMessage(messages.deleteConfirm),
+ onConfirm: () => dispatch(deleteStatus(status.get('id'))),
+ }));
+ }
}
handleMentionClick = (account, router) => {
user.settings['interactions'] = merged_interactions
user.settings['default_privacy'] = default_privacy_preference
user.settings['boost_modal'] = boost_modal_preference
+ user.settings['delete_modal'] = delete_modal_preference
user.settings['auto_play_gif'] = auto_play_gif_preference
end
boolean_cast_setting 'setting_boost_modal'
end
+ def delete_modal_preference
+ boolean_cast_setting 'setting_delete_modal'
+ end
+
def auto_play_gif_preference
boolean_cast_setting 'setting_auto_play_gif'
end
settings.boost_modal
end
+ def setting_delete_modal
+ settings.delete_modal
+ end
+
def setting_auto_play_gif
settings.auto_play_gif
end
me: current_account.id,
admin: @admin.try(:id),
boost_modal: current_account.user.setting_boost_modal,
+ delete_modal: current_account.user.setting_delete_modal,
auto_play_gif: current_account.user.setting_auto_play_gif,
}
end
.fields-group
= f.input :setting_boost_modal, as: :boolean, wrapper: :with_label
+ = f.input :setting_delete_modal, as: :boolean, wrapper: :with_label
.fields-group
= f.input :setting_auto_play_gif, as: :boolean, wrapper: :with_label
password: Password
setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialog before boosting
+ setting_delete_modal: Show confirmation dialog before deleting a toot
setting_default_privacy: Post privacy
severity: Severity
type: Import type
password: パスワード
setting_auto_play_gif: アニメーションGIFを自動再生する
setting_boost_modal: ブーストする前に確認ダイアログを表示する
+ setting_delete_modal: トゥートを削除する前に確認ダイアログを表示する
setting_default_privacy: 投稿の公開範囲
severity: 重大性
type: インポートする項目
closed_registrations_message: ''
boost_modal: false
auto_play_gif: true
+ delete_modal: true
notification_emails:
follow: false
reblog: false
it 'updates user settings' do
user.settings['boost_modal'] = false
+ user.settings['delete_modal'] = true
user.settings['notification_emails'] = user.settings['notification_emails'].merge('follow' => false)
user.settings['interactions'] = user.settings['interactions'].merge('must_be_follower' => true)
put :update, params: {
user: {
setting_boost_modal: '1',
+ setting_delete_modal: '0',
notification_emails: { follow: '1' },
interactions: { must_be_follower: '0' },
}
expect(response).to redirect_to(settings_preferences_path)
user.reload
expect(user.settings['boost_modal']).to be true
+ expect(user.settings['delete_modal']).to be false
expect(user.settings['notification_emails']['follow']).to be true
expect(user.settings['interactions']['must_be_follower']).to be false
end
expect(user.settings['boost_modal']).to eq true
end
+ it 'updates the user settings value for delete toot modal' do
+ values = { 'setting_delete_modal' => '0' }
+
+ settings.update(values)
+ expect(user.settings['delete_modal']).to eq false
+ end
+
it 'updates the user settings value for gif auto play' do
values = { 'setting_auto_play_gif' => '0' }