main_higashide #3

Merged
go.unhi merged 10 commits from main_higashide into main 2025-09-02 10:31:06 +09:00
7 changed files with 124 additions and 100 deletions
Showing only changes of commit 56d05014cb - Show all commits

View File

@ -16,7 +16,6 @@ use App\Http\Controllers\Controller;
class UserEditConfirmController extends Controller class UserEditConfirmController extends Controller
{ {
use ValidatesRequests; use ValidatesRequests;
// GET: 確認画面表示(戻って修正するボタン等で利用)
public function show(Request $request) public function show(Request $request)
{ {
$user_id = session('user_id'); $user_id = session('user_id');
@ -31,29 +30,14 @@ class UserEditConfirmController extends Controller
// 直前のPOST値をold()やsession()->get('_old_input')で取得 // 直前のPOST値をold()やsession()->get('_old_input')で取得
$input = session()->get('_old_input', []); $input = session()->get('_old_input', []);
// 利用者区分ラベル変換
$ward_residents_label = '';
if (isset($input['ward_residents'])) {
if ($input['ward_residents'] === '0') {
$ward_residents_label = '一般';
} elseif ($input['ward_residents'] === '1') {
$ward_residents_label = '学生';
} elseif ($input['ward_residents'] === '2') {
$ward_residents_label = '減免';
} else {
$ward_residents_label = $input['ward_residents'];
}
}
return view('user.confirm', [ return view('user.confirm', [
'user' => $user, 'user' => $user,
'input' => $input, 'input' => $input,
'ward_residents_label' => $ward_residents_label, 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'active_menu' => 'SWC-1-1', // この画面のID
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用) 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]); ]);
} }
// 編集画面からのPOSTで入力内容確認画面を表示
public function confirm(Request $request) public function confirm(Request $request)
{ {
$user_id = session('user_id'); $user_id = session('user_id');
@ -92,28 +76,18 @@ class UserEditConfirmController extends Controller
$input['photo_filename2'] = $filename2; $input['photo_filename2'] = $filename2;
} }
// 利用者区分ラベル変換 \Log::info('ユーザー情報編集確認画面にアクセス', [
$ward_residents_label = ''; 'user_id' => $user_id,
if (isset($input['ward_residents'])) { ]);
if ($input['ward_residents'] === '0') {
$ward_residents_label = '一般';
} elseif ($input['ward_residents'] === '1') {
$ward_residents_label = '学生';
} elseif ($input['ward_residents'] === '2') {
$ward_residents_label = '減免';
} else {
$ward_residents_label = $input['ward_residents'];
}
}
return view('user.confirm', [ return view('user.confirm', [
'user' => $user, 'user' => $user,
'input' => $input, 'input' => $input,
'ward_residents_label' => $ward_residents_label, 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'active_menu' => 'SWC-1-1', // この画面のID
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用) 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]); ]);
} }
// 入力内容確認画面から「変更を確定する」ボタン押下時 // 入力内容確認画面から「変更を確定する」ボタン押下時
public function submit(Request $request) public function submit(Request $request)
{ {
@ -126,7 +100,6 @@ class UserEditConfirmController extends Controller
return redirect('/login'); return redirect('/login');
} }
$token = Str::random(64); $token = Str::random(64);
$changeData = $request->except(['_token']); $changeData = $request->except(['_token']);
$changeData['user_id'] = $user_id; $changeData['user_id'] = $user_id;
@ -144,8 +117,6 @@ class UserEditConfirmController extends Controller
$file2->storeAs('photo', $filename2, 'public'); $file2->storeAs('photo', $filename2, 'public');
$changeData['photo_filename2'] = $filename2; $changeData['photo_filename2'] = $filename2;
} }
// ※ public/storage/photo で画像が参照できない場合は、
// コマンドプロンプトで `php artisan storage:link` を実行してください。
Cache::put('change_request_' . $token, $changeData, now()->addDay()); Cache::put('change_request_' . $token, $changeData, now()->addDay());
@ -154,8 +125,12 @@ class UserEditConfirmController extends Controller
// Mailableでメール送信 // Mailableでメール送信
Mail::to($changeData['user_primemail'])->send(new UserEditVerifyMail($verifyUrl, $user)); Mail::to($changeData['user_primemail'])->send(new UserEditVerifyMail($verifyUrl, $user));
\Log::info('ユーザー情報変更メール送信完了画面にアクセス', [
'user_id' => $user_id,
]);
return view('user.mail_sent', [ return view('user.mail_sent', [
'active_menu' => 'SWC-1-1', // この画面のID 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用) 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]); ]);
} }
@ -170,7 +145,7 @@ class UserEditConfirmController extends Controller
return redirect()->route('user.edit')->withErrors(['register_expired' => '登録期間が過ぎています。もう一度登録してください。']); return redirect()->route('user.edit')->withErrors(['register_expired' => '登録期間が過ぎています。もう一度登録してください。']);
} }
// 変更内容をDBに保存例: userテーブル更新 // 変更内容をDBに保存userテーブル更新
// 更新データ生成photo_filename1, photo_filename2, user_passは入力時のみ追加 // 更新データ生成photo_filename1, photo_filename2, user_passは入力時のみ追加
$updateData = [ $updateData = [
'user_gender' => $changeData['user_gender'] ?? null, 'user_gender' => $changeData['user_gender'] ?? null,
@ -184,7 +159,9 @@ class UserEditConfirmController extends Controller
'user_mobile' => implode('-', $changeData['user_mobile'] ?? []), 'user_mobile' => implode('-', $changeData['user_mobile'] ?? []),
'user_primemail' => $changeData['user_primemail'], 'user_primemail' => $changeData['user_primemail'],
'user_submail' => $changeData['user_submail'], 'user_submail' => $changeData['user_submail'],
'ward_residents' => $changeData['ward_residents'], // 利用者区分user_categoryidをusertypeテーブルから取得して登録
// 画面からはuser_category一般/学生)が渡ってくる
'user_categoryid' => self::getUserCategoryId($changeData['user_category'] ?? null),
'user_workplace' => $changeData['user_workplace'] ?? null, 'user_workplace' => $changeData['user_workplace'] ?? null,
'user_school' => $changeData['user_school'] ?? null, 'user_school' => $changeData['user_school'] ?? null,
'user_graduate' => $changeData['user_graduate'] ?? null, 'user_graduate' => $changeData['user_graduate'] ?? null,
@ -192,7 +169,7 @@ class UserEditConfirmController extends Controller
'user_relate_pre' => $changeData['user_relate_pre'], 'user_relate_pre' => $changeData['user_relate_pre'],
'user_relate_city' => $changeData['user_relate_city'], 'user_relate_city' => $changeData['user_relate_city'],
'user_relate_add' => $changeData['user_relate_add'], 'user_relate_add' => $changeData['user_relate_add'],
'updated_at' => now(), // 追加: 認証時の日時 'updated_at' => now(), //
]; ];
if (!empty($changeData['photo_filename1'])) { if (!empty($changeData['photo_filename1'])) {
$updateData['photo_filename1'] = $changeData['photo_filename1']; $updateData['photo_filename1'] = $changeData['photo_filename1'];
@ -214,6 +191,16 @@ class UserEditConfirmController extends Controller
return redirect()->route('user.info')->with('success', '更新に成功しました。'); return redirect()->route('user.info')->with('success', '更新に成功しました。');
} }
/**
* 利用者区分の文言(一般/学生からuser_categoryidを取得
*/
private static function getUserCategoryId($categoryName)
{
if (!$categoryName) return null;
$row = DB::table('usertype')->where('usertype_subject1', $categoryName)->first();
return $row ? $row->user_categoryid : null;
}
/** /**
* パスワードをSHA256→SALT連結→25回ストレッチでハッシュ化 * パスワードをSHA256→SALT連結→25回ストレッチでハッシュ化
*/ */

View File

@ -19,13 +19,21 @@ class UserEditController extends Controller
if (!$user_id) { if (!$user_id) {
return redirect('/login'); return redirect('/login');
} }
$user = DB::table('user')->where('user_id', $user_id)->first();
if (!$user) {
return redirect('/login');
}
$user = DB::table('user')->where('user_id', $user_id)->first(); $user = DB::table('user')->where('user_id', $user_id)->first();
// 契約・更新期間判定(例: DBから契約情報取得 // 利用者区分をusertypeテーブルから取得
$user_category = '';
if (isset($user->user_categoryid)) {
$usertype = DB::table('usertype')
->where('user_categoryid', $user->user_categoryid)
->first();
if ($usertype && isset($usertype->usertype_subject1)) {
$user_category = $usertype->usertype_subject1;
}
}
// 契約・更新期間判定
$contract = DB::table('regular_contract') $contract = DB::table('regular_contract')
->join('park', 'regular_contract.park_id', '=', 'park.park_id') ->join('park', 'regular_contract.park_id', '=', 'park.park_id')
->where('regular_contract.user_id', $user->user_id) ->where('regular_contract.user_id', $user->user_id)
@ -125,11 +133,16 @@ class UserEditController extends Controller
$user->user_relate_zip_1 = substr($user->user_relate_zip ?? '', 0, 3); $user->user_relate_zip_1 = substr($user->user_relate_zip ?? '', 0, 3);
$user->user_relate_zip_2 = substr($user->user_relate_zip ?? '', 3, 4); $user->user_relate_zip_2 = substr($user->user_relate_zip ?? '', 3, 4);
\Log::info('ユーザー情報編集画面にアクセス', [
'user_id' => $user_id,
]);
return view('user.edit', [ return view('user.edit', [
'user' => $user, 'user' => $user,
'user_category' => $user_category,
'is_update_period' => $is_update_period, 'is_update_period' => $is_update_period,
'in_contract_period' => $in_contract_period, 'in_contract_period' => $in_contract_period,
'active_menu' => 'SWC-1-1', // この画面のID 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用) 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]); ]);
} }
@ -143,10 +156,6 @@ class UserEditController extends Controller
return redirect('/login'); return redirect('/login');
} }
$user = DB::table('user')->where('user_id', $user_id)->first(); $user = DB::table('user')->where('user_id', $user_id)->first();
if (!$user) {
return redirect('/login');
}
// バリデーションルール // バリデーションルール
$rules = [ $rules = [
@ -162,7 +171,7 @@ class UserEditController extends Controller
'user_primemail' => 'required|email', 'user_primemail' => 'required|email',
'user_primemail_confirmation' => 'required|same:user_primemail', 'user_primemail_confirmation' => 'required|same:user_primemail',
'user_submail' => 'nullable|email|different:user_primemail', 'user_submail' => 'nullable|email|different:user_primemail',
'ward_residents' => ['required', Rule::in(['0', '1', '2'])], 'user_category' => ['required', Rule::in(['一般', '学生'])],
'user_workplace' => 'nullable|string|max:50', 'user_workplace' => 'nullable|string|max:50',
'user_school' => 'nullable|string|max:50', 'user_school' => 'nullable|string|max:50',
'user_graduate' => 'nullable|date', 'user_graduate' => 'nullable|date',
@ -183,7 +192,7 @@ class UserEditController extends Controller
]; ];
// 利用者区分による必須項目 // 利用者区分による必須項目
if ($request->ward_residents == '1') { // 学生 if ($request->user_category == '学生') {
$rules['user_school'] = 'required|string|max:50'; $rules['user_school'] = 'required|string|max:50';
$rules['user_graduate'] = 'required|date'; $rules['user_graduate'] = 'required|date';
} }
@ -204,8 +213,8 @@ class UserEditController extends Controller
'user_primemail_confirmation.same' => '「メールアドレス」と「メールアドレスの確認」が一致しません。', 'user_primemail_confirmation.same' => '「メールアドレス」と「メールアドレスの確認」が一致しません。',
'user_submail.email' => '予備メールアドレスは正しい形式で入力してください。', 'user_submail.email' => '予備メールアドレスは正しい形式で入力してください。',
'user_submail.different' => 'メールアドレスと予備メールアドレスに同じアドレスを入力できません。', 'user_submail.different' => 'メールアドレスと予備メールアドレスに同じアドレスを入力できません。',
'ward_residents.required' => '利用者区分は必須です。', 'user_category.required' => '利用者区分は必須です。',
'ward_residents.in' => '利用者区分の値が不正です。', 'user_category.in' => '利用者区分の値が不正です。',
'user_workplace.max' => '勤務先は50文字以内で入力してください。', 'user_workplace.max' => '勤務先は50文字以内で入力してください。',
'user_school.max' => '学校名は50文字以内で入力してください。', 'user_school.max' => '学校名は50文字以内で入力してください。',
'user_school.required' => '学校名は必須です。', 'user_school.required' => '学校名は必須です。',
@ -331,7 +340,7 @@ class UserEditController extends Controller
'user_workplace', 'user_workplace',
'user_school', 'user_school',
'user_graduate', 'user_graduate',
'ward_residents' 'user_category'
]; ];
if (!$is_update_period) { if (!$is_update_period) {
@ -367,7 +376,7 @@ class UserEditController extends Controller
$user->user_submail = $request->user_submail; $user->user_submail = $request->user_submail;
// 利用者区分 // 利用者区分
$user->ward_residents = $request->ward_residents; $user->user_category = $request->user_category;
$user->user_workplace = $request->user_workplace; $user->user_workplace = $request->user_workplace;
$user->user_school = $request->user_school; $user->user_school = $request->user_school;
$user->user_graduate = $request->user_graduate; $user->user_graduate = $request->user_graduate;

View File

@ -15,22 +15,25 @@ class UserInfoController extends Controller
} }
$user = DB::table('user')->where('user_id', $user_id)->first(); $user = DB::table('user')->where('user_id', $user_id)->first();
// 利用者区分の表示変換(取得できなければ空欄) // 利用者区分をusertypeテーブルから取得
$ward_residents_label = ''; $user_category = '';
if (isset($user->ward_residents)) { if (isset($user->user_categoryid)) {
if ($user->ward_residents == 0) { $usertype = DB::table('usertype')
$ward_residents_label = '一般'; ->where('user_categoryid', $user->user_categoryid)
} elseif ($user->ward_residents == 1) { ->first();
$ward_residents_label = '学生'; if ($usertype && isset($usertype->usertype_subject1)) {
} elseif ($user->ward_residents == 2) { $user_category = $usertype->usertype_subject1;
$ward_residents_label = '減免';
} }
} }
\Log::info('ユーザー情報確認画面にアクセス', [
'user_id' => $user_id,
]);
return view('user.info', [ return view('user.info', [
'user' => $user, 'user' => $user,
'ward_residents_label' => $ward_residents_label, 'user_category' => $user_category,
'active_menu' => 'SWC-1-1', // この画面のID 'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用) 'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]); ]);
} }

View File

@ -108,13 +108,13 @@
</div> </div>
<!-- 利用者区分 --> <!-- 利用者区分 -->
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
<label for="user_categoryid">利用者区分</label> <label for="user_category">利用者区分</label>
</div> </div>
<div class="col-12 col-lg-6 mb10"> <div class="col-12 col-lg-6 mb10">
<h3>{{ $ward_residents_label }}</h3> <h3>{{ $input['user_category'] }}</h3>
<input type="hidden" name="ward_residents" value="{{ $input['ward_residents'] }}"> <input type="hidden" name="user_category" value="{{ $input['user_category'] }}">
</div> </div>
@if ($input['ward_residents'] === '1') @if ($input['user_category'] === '学生')
<!-- 学生の場合:学校名・卒業予定のみ表示 --> <!-- 学生の場合:学校名・卒業予定のみ表示 -->
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
<label for="user_school">学校名</label> <label for="user_school">学校名</label>
@ -131,7 +131,7 @@
<input type="hidden" name="user_graduate" value="{{ $input['user_graduate'] }}"> <input type="hidden" name="user_graduate" value="{{ $input['user_graduate'] }}">
</div> </div>
@else @else
<!-- 一般・減免の場合:勤務先名のみ表示 --> <!-- 一般の場合:勤務先名のみ表示 -->
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
<label for="user_workplace">勤務先名</label> <label for="user_workplace">勤務先名</label>
</div> </div>

View File

@ -28,7 +28,7 @@
<h4 style="left: 0">入力内容に不備があります。</h4> <h4 style="left: 0">入力内容に不備があります。</h4>
<div id="formErrorMessagesJs"></div> <div id="formErrorMessagesJs"></div>
</div> </div>
<form class="row form" action="{{ route('user.edit.confirm') }}" method="post" enctype="multipart/form-data" autocomplete="off"> <form class="row form" action="{{ route('user.edit.post') }}" method="post" enctype="multipart/form-data" autocomplete="off">
@csrf @csrf
{{-- お名前(編集不可) --}} {{-- お名前(編集不可) --}}
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
@ -124,7 +124,7 @@
<div class="col-12 col-lg-6 mb10"> <div class="col-12 col-lg-6 mb10">
<input type="date" class="form-control" id="user_birthdate" name="user_birthdate" value="{{ old('user_birthdate', $user->user_birthdate) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif> <input type="date" class="form-control" id="user_birthdate" name="user_birthdate" value="{{ old('user_birthdate', $user->user_birthdate) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif>
</div> </div>
{{-- 年齢(自動計算 or 表示のみ) --}} {{-- 年齢(自動計算 かつ 表示のみ) --}}
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
<label for="user_age">年齢</label> <label for="user_age">年齢</label>
</div> </div>
@ -183,37 +183,33 @@
</div> </div>
<div class="col-12 col-lg-6 mb10"> <div class="col-12 col-lg-6 mb10">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="ward_residents" id="user_categoryid_ippan" value="0" {{ old('ward_residents', $user->ward_residents) == '0' ? 'checked' : '' }} @if(!$is_update_period)disabled @endif> <input class="form-check-input" type="radio" name="user_category" id="user_categoryid_ippan" value="一般" {{ old('user_category', $user_category) == '一般' ? 'checked' : '' }} @if(!$is_update_period)disabled @endif>
<label class="form-check-label" for="user_categoryid_ippan">一般</label> <label class="form-check-label" for="user_categoryid_ippan">一般</label>
</div> </div>
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="ward_residents" id="user_categoryid_gakusei" value="1" {{ old('ward_residents', $user->ward_residents) == '1' ? 'checked' : '' }} @if(!$is_update_period)disabled @endif> <input class="form-check-input" type="radio" name="user_category" id="user_categoryid_gakusei" value="学生" {{ old('user_category', $user_category) == '学生' ? 'checked' : '' }} @if(!$is_update_period)disabled @endif>
<label class="form-check-label" for="user_categoryid_gakusei">学生</label> <label class="form-check-label" for="user_categoryid_gakusei">学生</label>
</div> </div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="ward_residents" id="user_categoryid_genmen" value="2" {{ old('ward_residents', $user->ward_residents) == '2' ? 'checked' : '' }} @if(!$is_update_period)disabled @endif>
<label class="form-check-label" for="user_categoryid_genmen">減免</label>
</div> </div>
</div> {{-- 勤務先名(一般のみ表示) --}}
{{-- 勤務先名(一般/減免のみ表示) --}} <div class="col-12 col-md-3 offset-0 offset-md-2 user_workplace_area {{ old('user_category', $user_category) == '学生' ? 'd-none' : '' }}">
<div class="col-12 col-md-3 offset-0 offset-md-2 user_workplace_area {{ old('ward_residents', $user->ward_residents) == 1 ? 'd-none' : '' }}">
<label for="user_workplace">勤務先名</label> <label for="user_workplace">勤務先名</label>
</div> </div>
<div class="col-12 col-lg-6 mb10 user_workplace_area {{ old('ward_residents', $user->ward_residents) == 1 ? 'd-none' : '' }}"> <div class="col-12 col-lg-6 mb10 user_workplace_area {{ old('user_category', $user_category) == '学生' ? 'd-none' : '' }}">
<input type="text" class="form-control" id="user_workplace" name="user_workplace" value="{{ old('user_workplace', $user->user_workplace) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif> <input type="text" class="form-control" id="user_workplace" name="user_workplace" value="{{ old('user_workplace', $user->user_workplace) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif>
</div> </div>
{{-- 学校名(学生のみ表示) --}} {{-- 学校名(学生のみ表示) --}}
<div class="col-12 col-md-3 offset-0 offset-md-2 user_school_area {{ old('ward_residents', $user->ward_residents) == 1 ? '' : 'd-none' }}"> <div class="col-12 col-md-3 offset-0 offset-md-2 user_school_area {{ old('user_category', $user_category) == '学生' ? '' : 'd-none' }}">
<label for="user_school">学校名</label> <label for="user_school">学校名</label>
</div> </div>
<div class="col-12 col-lg-6 mb10 user_school_area {{ old('ward_residents', $user->ward_residents) == 1 ? '' : 'd-none' }}"> <div class="col-12 col-lg-6 mb10 user_school_area {{ old('user_category', $user_category) == '学生' ? '' : 'd-none' }}">
<input type="text" class="form-control" id="user_school" name="user_school" value="{{ old('user_school', $user->user_school) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif> <input type="text" class="form-control" id="user_school" name="user_school" value="{{ old('user_school', $user->user_school) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif>
</div> </div>
{{-- 卒業予定(学生のみ表示) --}} {{-- 卒業予定(学生のみ表示) --}}
<div class="col-12 col-md-3 offset-0 offset-md-2 user_graduate_area {{ old('ward_residents', $user->ward_residents) == 1 ? '' : 'd-none' }}"> <div class="col-12 col-md-3 offset-0 offset-md-2 user_graduate_area {{ old('user_category', $user_category) == '学生' ? '' : 'd-none' }}">
<label for="user_graduate">卒業予定</label> <label for="user_graduate">卒業予定</label>
</div> </div>
<div class="col-12 col-lg-6 mb10 user_graduate_area {{ old('ward_residents', $user->ward_residents) == 1 ? '' : 'd-none' }}"> <div class="col-12 col-lg-6 mb10 user_graduate_area {{ old('user_category', $user_category) == '学生' ? '' : 'd-none' }}">
<input type="date" class="form-control" id="user_graduate" name="user_graduate" value="{{ old('user_graduate', $user->user_graduate) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif> <input type="date" class="form-control" id="user_graduate" name="user_graduate" value="{{ old('user_graduate', $user->user_graduate) }}" @if(!$is_update_period)readonly style="background:#eee;" @endif>
</div> </div>
{{-- 住所(関連) --}} {{-- 住所(関連) --}}
@ -283,13 +279,11 @@
<div class="col-12 col-lg-6 mb10"> <div class="col-12 col-lg-6 mb10">
<span>おもて</span> <span>おもて</span>
<input type="file" id="photo_filename1" name="photo_filename1" accept="image/*" style="width:auto; display:inline-block;"> <input type="file" id="photo_filename1" name="photo_filename1" accept="image/*" style="width:auto; display:inline-block;">
<span style="margin-left:8px;">{{ $user->photo_filename1 ?? '' }}</span>
</div> </div>
<div class="col-12 col-md-3 offset-0 offset-md-2"></div> <div class="col-12 col-md-3 offset-0 offset-md-2"></div>
<div class="col-12 col-lg-6 mb10"> <div class="col-12 col-lg-6 mb10">
<span>ウ ラ</span> <span>ウ ラ</span>
<input type="file" id="photo_filename2" name="photo_filename2" accept="image/*" style="width:auto; display:inline-block;"> <input type="file" id="photo_filename2" name="photo_filename2" accept="image/*" style="width:auto; display:inline-block;">
<span style="margin-left:8px;">{{ $user->photo_filename2 ?? '' }}</span>
</div> </div>
{{-- パスワード変更 --}} {{-- パスワード変更 --}}
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
@ -492,7 +486,6 @@
} }
document.getElementById('user_categoryid_ippan').addEventListener('change', toggleUserTypeFields); document.getElementById('user_categoryid_ippan').addEventListener('change', toggleUserTypeFields);
document.getElementById('user_categoryid_gakusei').addEventListener('change', toggleUserTypeFields); document.getElementById('user_categoryid_gakusei').addEventListener('change', toggleUserTypeFields);
document.getElementById('user_categoryid_genmen').addEventListener('change', toggleUserTypeFields);
window.addEventListener('DOMContentLoaded', function() { window.addEventListener('DOMContentLoaded', function() {
toggleUserTypeFields(); toggleUserTypeFields();
}); });

View File

@ -55,10 +55,10 @@
<h3>{{ $user->user_submail }}</h3> <h3>{{ $user->user_submail }}</h3>
</div> </div>
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">
<label for="ward_residents">利用者区分</label> <label for="user_category">利用者区分</label>
</div> </div>
<div class="col-12 col-lg-6 mb10"> <div class="col-12 col-lg-6 mb10">
<h3>{{ $ward_residents_label }}</h3> <h3>{{ $user_category }}</h3>
</div> </div>
@if ($user->ward_residents == 0 || $user->ward_residents == 2) @if ($user->ward_residents == 0 || $user->ward_residents == 2)
<div class="col-12 col-md-3 offset-0 offset-md-2"> <div class="col-12 col-md-3 offset-0 offset-md-2">

View File

@ -12,7 +12,9 @@ use App\Http\Controllers\UserEditController;
use App\Http\Controllers\UserEditConfirmController; use App\Http\Controllers\UserEditConfirmController;
use App\Http\Controllers\UserWithdrawController; use App\Http\Controllers\UserWithdrawController;
use App\Http\Controllers\RegularContractController; use App\Http\Controllers\RegularContractController;
use App\Http\Controllers\RegularContractCreateController;
use App\Http\Controllers\ParkWaitlistController;
use App\Http\Controllers\ReceiptController;
Route::get('/', function () { Route::get('/', function () {
return redirect()->route('login'); return redirect()->route('login');
@ -53,10 +55,40 @@ Route::get('/user/withdraw', [UserWithdrawController::class, 'showConfirm'])
Route::post('/user/withdraw/confirm', [UserWithdrawController::class, 'withdraw']) Route::post('/user/withdraw/confirm', [UserWithdrawController::class, 'withdraw'])
->name('user.withdraw.confirm'); ->name('user.withdraw.confirm');
// 定期契約情報確認 // 定期契約情報確認
Route::get('regular_contract/info', [RegularContractController::class, 'showInfo']) Route::get('regular_contract/info', [RegularContractController::class, 'showInfo'])
->name('regular_contract.info'); ->name('regular_contract.info');
// 領収書宛名入力画面
Route::get('receipt/input/{contract_id}', [ReceiptController::class, 'input'])
->name('receipt.input');
Route::get('receipt/download/{contract_id}', [ReceiptController::class, 'download'])
->name('receipt.download');
Route::post('receipt/issue/{contract_id}', [ReceiptController::class, 'issue']);
// 新規定期契約画面
Route::get('regular_contract/create', [RegularContractCreateController::class, 'show'])
->name('regular_contract.create');
// 定期契約更新
Route::get('regular_contract/update/{contract_id}', [RegularContractController::class, 'update']);
// 契約区分確認
Route::get('regular_contract/confirm_category/{contract_id}', [RegularContractController::class, 'confirmCategory'])
->name('regular_contract.confirm_category');
Route::get('regular_contract/confirm_category_next/{contract_id}', [RegularContractController::class, 'confirmCategoryNext'])
->name('regular_contract.confirm_category_next');
// 本人確認書類アップロード
Route::get('regular_contract/upload_identity/{contract_id}', [RegularContractController::class, 'uploadIdentity'])
->name('regular_contract.upload_identity');
// 利用期間選択
Route::get('regular_contract/select_period/{contract_id}', [RegularContractController::class, 'selectPeriod'])
->name('regular_contract.select_period');
// 空き待ち状況確認画面
Route::get('park_waitlist', [ParkWaitlistController::class, 'index'])
->name('park_waitlist.index');
Route::get('/login', function () { Route::get('/login', function () {
return ' return '
<form method="POST" action="/login"> <form method="POST" action="/login">