logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: ff142eb64d2d1251f9df1baa0b302fd532ec30ed
parent: 500e28442f8e6657de766fbdb4a4cfdb164b2b92
Author: masarakki <masaki182@gmail.com>
Date:   Mon, 19 Jun 2017 22:12:31 +0900

setting-for-account-deletable (#3852)


Diffstat:

Mapp/controllers/settings/deletes_controller.rb5+++++
Mapp/helpers/application_helper.rb4++++
Mapp/views/auth/registrations/edit.html.haml7++++---
Mconfig/settings.yml1+
Mspec/controllers/settings/deletes_controller_spec.rb14++++++++++++++
5 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/app/controllers/settings/deletes_controller.rb b/app/controllers/settings/deletes_controller.rb @@ -3,6 +3,7 @@ class Settings::DeletesController < ApplicationController layout 'admin' + before_action :check_enabled_deletion before_action :authenticate_user! def show @@ -21,6 +22,10 @@ class Settings::DeletesController < ApplicationController private + def check_enabled_deletion + redirect_to root_path unless Setting.open_deletion + end + def delete_params params.require(:form_delete_confirmation).permit(:password) end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb @@ -13,6 +13,10 @@ module ApplicationHelper Setting.open_registrations end + def open_deletion? + Setting.open_deletion + end + def add_rtl_body_class(other_classes) other_classes = "#{other_classes} rtl" if [:ar, :fa, :he].include?(I18n.locale) other_classes diff --git a/app/views/auth/registrations/edit.html.haml b/app/views/auth/registrations/edit.html.haml @@ -12,7 +12,8 @@ .actions = f.button :button, t('generic.save_changes'), type: :submit -%hr/ +- if open_deletion? + %hr/ -%h6= t('auth.delete_account') -%p.muted-hint= t('auth.delete_account_html', path: settings_delete_path) + %h6= t('auth.delete_account') + %p.muted-hint= t('auth.delete_account_html', path: settings_delete_path) diff --git a/config/settings.yml b/config/settings.yml @@ -14,6 +14,7 @@ defaults: &defaults site_contact_email: '' open_registrations: true closed_registrations_message: '' + open_deletion: true boost_modal: false auto_play_gif: true delete_modal: true diff --git a/spec/controllers/settings/deletes_controller_spec.rb b/spec/controllers/settings/deletes_controller_spec.rb @@ -68,5 +68,19 @@ describe Settings::DeletesController do expect(response).to redirect_to '/auth/sign_in' end end + + context do + around do |example| + open_deletion = Setting.open_deletion + example.run + Setting.open_deletion = open_deletion + end + + it 'redirects' do + Setting.open_deletion = false + delete :destroy + expect(response).to redirect_to root_path + end + end end end