* Change: #647 NGワードの入力フォーム * Wip: 画面改造 * テストコード、画面 * Fix: 複数の問題
This commit is contained in:
parent
0d2b415e26
commit
95ab1f729c
33 changed files with 526 additions and 172 deletions
30
app/controllers/admin/ng_words/keywords_controller.rb
Normal file
30
app/controllers/admin/ng_words/keywords_controller.rb
Normal file
|
@ -0,0 +1,30 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWords::KeywordsController < NgWordsController
|
||||
def show
|
||||
super
|
||||
@ng_words = ::NgWord.caches.presence || [::NgWord.new]
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def validate
|
||||
begin
|
||||
::NgWord.save_from_raws(settings_params_test)
|
||||
return true
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_words.test_error')
|
||||
redirect_to after_update_redirect_path
|
||||
end
|
||||
|
||||
false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_keywords_path
|
||||
end
|
||||
end
|
||||
end
|
11
app/controllers/admin/ng_words/settings_controller.rb
Normal file
11
app/controllers/admin/ng_words/settings_controller.rb
Normal file
|
@ -0,0 +1,11 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWords::SettingsController < NgWordsController
|
||||
protected
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_settings_path
|
||||
end
|
||||
end
|
||||
end
|
11
app/controllers/admin/ng_words/white_list_controller.rb
Normal file
11
app/controllers/admin/ng_words/white_list_controller.rb
Normal file
|
@ -0,0 +1,11 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWords::WhiteListController < NgWordsController
|
||||
protected
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_white_list_path
|
||||
end
|
||||
end
|
||||
end
|
|
@ -11,13 +11,7 @@ module Admin
|
|||
def create
|
||||
authorize :ng_words, :create?
|
||||
|
||||
begin
|
||||
test_words
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_words.test_error')
|
||||
redirect_to after_update_redirect_path
|
||||
return
|
||||
end
|
||||
return unless validate
|
||||
|
||||
@admin_settings = Form::AdminSettings.new(settings_params)
|
||||
|
||||
|
@ -29,19 +23,24 @@ module Admin
|
|||
end
|
||||
end
|
||||
|
||||
private
|
||||
protected
|
||||
|
||||
def test_words
|
||||
ng_words = "#{settings_params['ng_words']}\n#{settings_params['ng_words_for_stranger_mention']}".split(/\r\n|\r|\n/).filter(&:present?)
|
||||
Admin::NgWord.reject_with_custom_words?('Sample text', ng_words)
|
||||
def validate
|
||||
true
|
||||
end
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def settings_params
|
||||
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
|
||||
end
|
||||
|
||||
def settings_params_test
|
||||
params.require(:form_admin_settings)[:ng_words_test]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -13,7 +13,7 @@ module Admin
|
|||
authorize :sensitive_words, :create?
|
||||
|
||||
begin
|
||||
test_words
|
||||
::SensitiveWord.save_from_raws(settings_params_test)
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_words.test_error')
|
||||
redirect_to after_update_redirect_path
|
||||
|
@ -22,7 +22,7 @@ module Admin
|
|||
|
||||
@admin_settings = Form::AdminSettings.new(settings_params)
|
||||
|
||||
if @admin_settings.save && ::SensitiveWord.save_from_raws(settings_params_test)
|
||||
if @admin_settings.save
|
||||
flash[:notice] = I18n.t('generic.changes_saved_msg')
|
||||
redirect_to after_update_redirect_path
|
||||
else
|
||||
|
@ -32,11 +32,6 @@ module Admin
|
|||
|
||||
private
|
||||
|
||||
def test_words
|
||||
sensitive_words = settings_params_test['keywords'].compact.uniq
|
||||
Admin::NgWord.reject_with_custom_words?('Sample text', sensitive_words)
|
||||
end
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_sensitive_words_path
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue