krgm.so-manager-dev.com/routes/web.php

97 lines
4.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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');
});