プロフィール設定とプライバシー設定を分割

This commit is contained in:
shibafu 2019-01-19 01:17:56 +09:00
parent 85cc865545
commit a2580f29cc
5 changed files with 46 additions and 31 deletions

View File

@ -33,6 +33,11 @@ class SettingController extends Controller
return redirect()->route('setting')->with('status', 'プロフィールを更新しました。');
}
public function privacy()
{
return view('setting.privacy');
}
public function updatePrivacy(Request $request)
{
$inputs = $request->all(['is_protected', 'accept_analytics']);
@ -42,7 +47,7 @@ class SettingController extends Controller
$user->accept_analytics = $inputs['accept_analytics'] ?? false;
$user->save();
return redirect()->route('setting')->with('status', 'プライバシー設定を更新しました。');
return redirect()->route('setting.privacy')->with('status', 'プライバシー設定を更新しました。');
}
// ( ◠‿◠ )☛ここに気づいたか・・・消えてもらう ▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわあああああああ

View File

@ -6,8 +6,12 @@
<div class="col-lg-4">
<div class="list-group">
<div class="list-group-item disabled font-weight-bold">設定</div>
<a class="list-group-item list-group-item-action {{ Route::currentRouteName() === 'setting' ? 'active' : '' }}" href="{{ route('setting') }}"><span class="oi oi-person mr-1"></span> プロフィール</a>
{{--<a class="list-group-item list-group-item-action {{ Route::currentRouteName() === 'setting.password' ? 'active' : '' }}" href="{{ route('setting.password') }}"><span class="oi oi-key mr-1"></span> パスワード</a>--}}
<a class="list-group-item list-group-item-action {{ Route::currentRouteName() === 'setting' ? 'active' : '' }}"
href="{{ route('setting') }}"><span class="oi oi-person mr-1"></span> プロフィール</a>
<a class="list-group-item list-group-item-action {{ Route::currentRouteName() === 'setting.privacy' ? 'active' : '' }}"
href="{{ route('setting.privacy') }}"><span class="oi oi-shield mr-1"></span> プライバシー</a>
{{--<a class="list-group-item list-group-item-action {{ Route::currentRouteName() === 'setting.password' ? 'active' : '' }}"
href="{{ route('setting.password') }}"><span class="oi oi-key mr-1"></span> パスワード</a>--}}
</div>
</div>
<div class="tab-content col-lg-8">

View File

@ -0,0 +1,33 @@
@extends('setting.base')
@section('title', 'プライバシー設定')
@section('tab-content')
<h3>プライバシー</h3>
<hr>
<form action="{{ route('setting.privacy.update') }}" method="post">
{{ csrf_field() }}
<div class="form-group">
<div class="custom-control custom-checkbox mb-2">
<input id="protected" name="is_protected" class="custom-control-input" type="checkbox" {{ (old('is_protected') ?? Auth::user()->is_protected ) ? 'checked' : '' }}>
<label class="custom-control-label" for="protected">全てのチェックイン履歴を非公開にする</label>
</div>
<div class="custom-control custom-checkbox">
<input id="accept-analytics" name="accept_analytics" class="custom-control-input" type="checkbox" {{ (old('accept_analytics') ?? Auth::user()->accept_analytics ) ? 'checked' : '' }}>
<label class="custom-control-label" for="accept-analytics">匿名での統計にチェックインデータを利用することに同意します</label>
</div>
</div>
<button type="submit" class="btn btn-primary mt-2">更新</button>
</form>
@endsection
@push('script')
<script>
$('#protected').on('change', function () {
if (!$(this).prop('checked')) {
alert('チェックイン履歴を公開に切り替えると、個別に非公開設定されているものを除いた全てのチェックインが誰でも閲覧できるようになります。\nご注意ください。');
}
});
</script>
@endpush

View File

@ -29,32 +29,4 @@
<button type="submit" class="btn btn-primary mt-4">更新</button>
</form>
<h3 class="mt-5">プライバシー</h3>
<hr>
<form action="{{ route('setting.privacy.update') }}" method="post">
{{ csrf_field() }}
<div class="form-group">
<div class="custom-control custom-checkbox mb-2">
<input id="protected" name="is_protected" class="custom-control-input" type="checkbox" {{ (old('is_protected') ?? Auth::user()->is_protected ) ? 'checked' : '' }}>
<label class="custom-control-label" for="protected">全てのチェックイン履歴を非公開にする</label>
</div>
<div class="custom-control custom-checkbox">
<input id="accept-analytics" name="accept_analytics" class="custom-control-input" type="checkbox" {{ (old('accept_analytics') ?? Auth::user()->accept_analytics ) ? 'checked' : '' }}>
<label class="custom-control-label" for="accept-analytics">匿名での統計にチェックインデータを利用することに同意します</label>
</div>
</div>
<button type="submit" class="btn btn-primary mt-2">更新</button>
</form>
@endsection
@push('script')
<script>
$('#protected').on('change', function () {
if (!$(this).prop('checked')) {
alert('チェックイン履歴を公開に切り替えると、個別に非公開設定されているものを除いた全てのチェックインが誰でも閲覧できるようになります。\nご注意ください。');
}
});
</script>
@endpush

View File

@ -33,6 +33,7 @@ Route::middleware('auth')->group(function () {
Route::redirect('/setting', '/setting/profile', 301);
Route::get('/setting/profile', 'SettingController@profile')->name('setting');
Route::post('/setting/profile', 'SettingController@updateProfile')->name('setting.profile.update');
Route::get('/setting/privacy', 'SettingController@privacy')->name('setting.privacy');
Route::post('/setting/privacy', 'SettingController@updatePrivacy')->name('setting.privacy.update');
// Route::get('/setting/password', 'SettingController@password')->name('setting.password');
});