diff --git a/app/settings.rb b/app/settings.rb index fb35e541..74249cd1 100644 --- a/app/settings.rb +++ b/app/settings.rb @@ -211,6 +211,8 @@ post '/settings/:username/change_nsfw' do require_login require_ownership_for_settings + redirect "/settings/#{@site.username}" if @site.admin_nsfw == true + @site.is_nsfw = params[:is_nsfw] @site.save_changes validate: false flash[:success] = @site.is_nsfw ? 'Marked 18+' : 'Unmarked 18+' @@ -260,7 +262,7 @@ end post '/settings/change_email' do require_login - + if params[:email] == parent_site.email flash[:error] = 'You are already using this email address for this account.' redirect '/settings#email' @@ -331,4 +333,4 @@ get '/settings/unsubscribe_email/?' do @message = 'There was an error unsubscribing your email address. Please contact support.' end erb :'settings/account/unsubscribe' -end \ No newline at end of file +end diff --git a/tests/acceptance/settings/site_tests.rb b/tests/acceptance/settings/site_tests.rb index 968037ff..dbb4d999 100644 --- a/tests/acceptance/settings/site_tests.rb +++ b/tests/acceptance/settings/site_tests.rb @@ -320,6 +320,12 @@ describe 'delete' do someone_elses_site.is_deleted.must_equal false end + it 'should not show NSFW tab for admin NSFW flag' do + owned_site = Fabricate :site, parent_site_id: @site.id, admin_nsfw: true + visit "/settings/#{owned_site.username}" + page.body.wont_match /18\+/ + end + it 'should succeed if you own the site' do owned_site = Fabricate :site, parent_site_id: @site.id visit "/settings/#{owned_site.username}#delete" @@ -341,4 +347,4 @@ describe 'delete' do visit "/settings/#{@site.username}#delete" page.body.must_match /You cannot delete the parent site without deleting the children sites first/i end -end \ No newline at end of file +end diff --git a/views/settings/site.erb b/views/settings/site.erb index de7fc757..11403b39 100644 --- a/views/settings/site.erb +++ b/views/settings/site.erb @@ -26,7 +26,11 @@