97 lines
4.9 KiB
PHP
97 lines
4.9 KiB
PHP
<?php
|
||
|
||
use Illuminate\Support\Facades\Route;
|
||
|
||
/**
|
||
* Laravel 12変更点:ルート定義の書き方が変更
|
||
* Laravel 5.7: Route::get('url', 'Controller@method') の形式
|
||
* Laravel 12: Route::get('url', [Controller::class, 'method']) の形式
|
||
*/
|
||
|
||
// ホームページのリダイレクト
|
||
Route::get('/', function () {
|
||
return redirect()->route('home');
|
||
});
|
||
|
||
// ログイン関連ルート(ゲストユーザー専用)
|
||
// Laravel 12変更点:ミドルウェアをルートで直接指定
|
||
Route::middleware('guest')->group(function () {
|
||
// ログインフォーム表示
|
||
Route::get('login', [App\Http\Controllers\Auth\LoginController::class, 'showLoginForm'])->name('login');
|
||
// ログイン処理
|
||
Route::post('login', [App\Http\Controllers\Auth\LoginController::class, 'login']);
|
||
});
|
||
|
||
// ログアウトルート(認証済みユーザー専用)
|
||
Route::get('logout', [App\Http\Controllers\Auth\LoginController::class, 'logout'])->middleware('auth');
|
||
|
||
// パスワードリセット機能(一時的にリダイレクト - 後で実装予定)
|
||
// Laravel 12移行時の一時対応:forgot_passwordルートエラー回避
|
||
Route::get('forgotPassword', function() {
|
||
return redirect()->route('login')->with('info', 'パスワードリセット機能は現在準備中です。');
|
||
})->name('forgot_password');
|
||
|
||
// 保護されたルート(認証済みユーザー専用)
|
||
// Laravel 12変更点:middleware()をコントローラーではなくルートで指定
|
||
Route::middleware('auth')->group(function () {
|
||
// ダッシュボード(ホーム画面)
|
||
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
||
|
||
// Laravel 12 移行時の一時的な占位符路由
|
||
// 他の開発者が継続して開発できるように、エラーを防ぐための仮ルート定義
|
||
// 実装完了後は各機能の正式なルートに置き換える予定
|
||
|
||
// 利用者マスタ管理機能(仮ルート)
|
||
Route::match(['get', 'post'], '/users', function() {
|
||
return view('admin.placeholder', ['title' => '利用者マスタ', 'feature' => 'users']);
|
||
})->name('users');
|
||
|
||
Route::match(['get', 'post'], '/users/add', function() {
|
||
return view('admin.placeholder', ['title' => '利用者追加', 'feature' => 'users']);
|
||
})->name('user_add');
|
||
|
||
Route::match(['get', 'post'], '/users/edit/{seq}', function($seq) {
|
||
return view('admin.placeholder', ['title' => '利用者編集', 'feature' => 'users', 'id' => $seq]);
|
||
})->name('user_edit')->where(['seq' => '[0-9]+']);
|
||
|
||
Route::match(['get', 'post'], '/users/info/{seq}', function($seq) {
|
||
return view('admin.placeholder', ['title' => '利用者詳細', 'feature' => 'users', 'id' => $seq]);
|
||
})->name('user_info')->where(['seq' => '[0-9]+']);
|
||
|
||
Route::match(['get', 'post'], '/users/delete', function() {
|
||
return redirect()->route('users')->with('info', '削除機能は現在実装中です。');
|
||
})->name('users_delete');
|
||
|
||
Route::match(['get', 'post'], '/users/import', function() {
|
||
return redirect()->route('users')->with('info', 'インポート機能は現在実装中です。');
|
||
})->name('users_import');
|
||
|
||
Route::get('/users/export', function() {
|
||
return redirect()->route('users')->with('info', 'エクスポート機能は現在実装中です。');
|
||
})->name('users_export');
|
||
|
||
// その他の管理機能の仮ルート(必要に応じて追加)
|
||
Route::match(['get', 'post'], '/regular_contracts', function() {
|
||
return view('admin.placeholder', ['title' => '定期契約管理', 'feature' => 'regular_contracts']);
|
||
})->name('regular_contracts');
|
||
|
||
Route::match(['get', 'post'], '/parks', function() {
|
||
return view('admin.placeholder', ['title' => '駐輪場管理', 'feature' => 'parks']);
|
||
})->name('parks');
|
||
|
||
Route::match(['get', 'post'], '/opes', function() {
|
||
return view('admin.placeholder', ['title' => 'オペレータ管理', 'feature' => 'opes']);
|
||
})->name('opes');
|
||
|
||
// 区画別利用率状況機能
|
||
// Laravel 12変更点:配列形式でのコントローラー指定
|
||
// Laravel 5.7: 'Admin\UsingStatusController@index' 形式を使用していた
|
||
Route::get('/using_status', [App\Http\Controllers\Admin\UsingStatusController::class, 'index'])->name('using_status');
|
||
Route::post('/using_status', [App\Http\Controllers\Admin\UsingStatusController::class, 'index'])->name('using_status');
|
||
|
||
// 区画別利用率状況 - 将来拡張用API・エクスポート機能
|
||
// Laravel 12対応:RESTful API エンドポイント
|
||
Route::get('/using_status/api', [App\Http\Controllers\Admin\UsingStatusController::class, 'apiGetUtilization'])->name('using_status.api');
|
||
Route::get('/using_status/export', [App\Http\Controllers\Admin\UsingStatusController::class, 'exportCsv'])->name('using_status.export');
|
||
});
|