This commit is contained in:
parent
470db529b0
commit
1400ab4b39
245
routes/web.php
Normal file
245
routes/web.php
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use App\Http\Controllers\Admin\CityController;
|
||||||
|
use App\Http\Controllers\Admin\ParkController;
|
||||||
|
use App\Http\Controllers\Admin\PriceListController;
|
||||||
|
use App\Http\Controllers\Admin\PriceController;
|
||||||
|
use App\Http\Controllers\Admin\PsectionController;
|
||||||
|
use App\Http\Controllers\Admin\PtypeController;
|
||||||
|
use App\Http\Controllers\Admin\PeriodicalController;
|
||||||
|
use App\Http\Controllers\Admin\NewsController;
|
||||||
|
use App\Http\Controllers\Admin\UsersController;
|
||||||
|
use App\Http\Controllers\Admin\RegularContractController;
|
||||||
|
use App\Http\Controllers\Admin\ReservesController;
|
||||||
|
use App\Http\Controllers\Admin\UsertypeController;
|
||||||
|
use App\Http\Controllers\Admin\ContractorController;
|
||||||
|
use App\Http\Controllers\Admin\ContractorListController;
|
||||||
|
use App\Http\Controllers\Admin\UpdateCandidateController;
|
||||||
|
use App\Http\Controllers\Admin\ReservationController;
|
||||||
|
use App\Http\Controllers\Admin\PersonalController;
|
||||||
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
||||||
|
use App\Http\Controllers\Auth\ResetPasswordController;
|
||||||
|
use App\Http\Controllers\Admin\OpesController;
|
||||||
|
use App\Http\Controllers\Admin\InformationController;
|
||||||
|
use App\Http\Controllers\Admin\TagissueController;
|
||||||
|
use App\Http\Controllers\Admin\SealsController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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('/forgot-password', [ForgotPasswordController::class, 'showLinkRequestForm'])->name('forgot_password');
|
||||||
|
Route::post('/forgot-password', [ForgotPasswordController::class, 'sendResetLinkEmail'])->name('forgot_password.send');
|
||||||
|
// パスワードリセット
|
||||||
|
Route::get('/reset-password', [ResetPasswordController::class, 'showResetForm'])->name('password.reset');
|
||||||
|
Route::post('/reset-password', [ResetPasswordController::class, 'reset'])->name('password.update');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// ログアウトルート(認証済みユーザー専用)
|
||||||
|
Route::get('logout', [App\Http\Controllers\Auth\LoginController::class, 'logout'])->middleware('auth');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 保護されたルート(認証済みユーザー専用)
|
||||||
|
// 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');
|
||||||
|
|
||||||
|
|
||||||
|
// sou start
|
||||||
|
// [東京都|〇〇駐輪場] 定期契約マスタ
|
||||||
|
Route::match(['get', 'post'], '/regular_contracts', [App\Http\Controllers\Admin\RegularContractController::class, 'list'])->name('regular_contracts');
|
||||||
|
Route::match(['get', 'post'], '/regular_contracts/add', [App\Http\Controllers\Admin\RegularContractController::class, 'add'])->name('regular_contract_add');
|
||||||
|
Route::match(['get', 'post'], '/regular_contracts/edit/{contract_id}', [App\Http\Controllers\Admin\RegularContractController::class, 'edit'])->name('regular_contract_edit')->where(['contract_id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/regular_contracts/info/{contract_id}', [App\Http\Controllers\Admin\RegularContractController::class, 'info'])->name('regular_contract_info')->where(['contract_id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/regular_contracts/delete', [App\Http\Controllers\Admin\RegularContractController::class, 'delete'])->name('regular_contracts_delete');
|
||||||
|
Route::match(['get', 'post'], '/regular_contracts/import', [App\Http\Controllers\Admin\RegularContractController::class, 'import'])->name('regular_contracts_import');
|
||||||
|
Route::get('/regular_contracts/export', [App\Http\Controllers\Admin\RegularContractController::class, 'export'])->name('regular_contracts_export');
|
||||||
|
|
||||||
|
// [東京都|〇〇駐輪場] 駐輪車室マスタ
|
||||||
|
Route::match(['get', 'post'], '/pplace', [PplaceController::class, 'list'])->name('pplace');
|
||||||
|
Route::match(['get', 'post'], '/pplace/add', [PplaceController::class, 'add'])->name('pplace_add');
|
||||||
|
Route::match(['get', 'post'], '/pplace/edit/{id}', [PplaceController::class, 'edit'])->name('pplace_edit')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/pplace/info/{id}', [PplaceController::class, 'info'])->name('pplace_info')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/pplace/delete', [PplaceController::class, 'delete'])->name('pplace_delete');
|
||||||
|
Route::match(['get', 'post'], '/pplace/import', [PplaceController::class, 'import'])->name('pplace_import');
|
||||||
|
Route::get('/pplace/export', [PplaceController::class, 'export'])->name('pplace_export');
|
||||||
|
// sou end
|
||||||
|
|
||||||
|
// ou start
|
||||||
|
// 市区マスタ
|
||||||
|
Route::match(['get', 'post'], '/city', [CityController::class, 'list'])->name('city');
|
||||||
|
Route::match(['get', 'post'], '/city/add', [CityController::class, 'add'])->name('city_add');
|
||||||
|
Route::match(['get', 'post'], '/city/edit/{id}', [CityController::class, 'edit'])->where(['id' => '[0-9]+'])->name('city_edit');
|
||||||
|
Route::match(['get', 'post'], '/city/info/{id}', [CityController::class, 'info'])->where(['id' => '[0-9]+'])->name('city_info');
|
||||||
|
Route::match(['get', 'post'], '/city/delete', [CityController::class, 'delete'])->name('city_delete');
|
||||||
|
|
||||||
|
// 駐輪場マスタ
|
||||||
|
Route::get('/parks', [ParkController::class, 'list'])->name('parks');
|
||||||
|
Route::get('/parks/add', [ParkController::class, 'add'])->name('parks.add');
|
||||||
|
Route::post('/parks/add', [ParkController::class, 'add'])->name('parks.store');
|
||||||
|
Route::match(['get', 'post', 'put'], '/parks/edit/{id}', [ParkController::class, 'edit'])->name('parks.edit');
|
||||||
|
Route::put('/parks/edit/{id}', [ParkController::class, 'edit'])->name('parks.update');
|
||||||
|
Route::match(['get', 'post'], '/parks/delete', [ParkController::class, 'delete'])->name('parks.delete');
|
||||||
|
Route::get('/parks/export', [ParkController::class, 'export'])->name('parks.export');
|
||||||
|
Route::post('/parks/check-duplicate', [App\Http\Controllers\Admin\ParkController::class, 'checkDuplicate'])->name('parks.check_duplicate');
|
||||||
|
|
||||||
|
// 料金一覧表マスタ
|
||||||
|
Route::match(['get', 'post'], '/admin/pricelist', [PriceListController::class, 'list'])->name('pricelist');
|
||||||
|
Route::post('/admin/pricelist/update', [PriceListController::class, 'update'])->name('pricelist_update');
|
||||||
|
Route::post('/admin/pricelist/insert', [PriceListController::class, 'insert'])->name('pricelist_insert');
|
||||||
|
|
||||||
|
//駐輪場所、料金マスタ
|
||||||
|
Route::match(['get', 'post'], '/admin/prices', [PriceController::class, 'list'])->name('prices');
|
||||||
|
Route::match(['get', 'post'], '/admin/prices/add', [PriceController::class, 'add'])->name('price_add');
|
||||||
|
Route::match(['get', 'post'], '/admin/prices/edit/{id}', [PriceController::class, 'edit'])->name('price_edit')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/admin/prices/info/{id}', [PriceController::class, 'info'])->name('price_info')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/admin/prices/delete', [PriceController::class, 'delete'])->name('prices_delete');
|
||||||
|
Route::match(['get', 'post'], '/admin/prices/import', [PriceController::class, 'import'])->name('prices_import');
|
||||||
|
Route::get('/admin/prices/export', [PriceController::class, 'export'])->name('prices_export');
|
||||||
|
|
||||||
|
//車種区分マスタ
|
||||||
|
Route::match(['get', 'post'], '/admin/psection', [PsectionController::class, 'list'])->name('psection');
|
||||||
|
Route::match(['get', 'post'], '/admin/psection/add', [PsectionController::class, 'add'])->name('psection_add');
|
||||||
|
Route::match(['get', 'post'], '/admin/psection/edit/{id}', [PsectionController::class, 'edit'])->name('psection_edit')->where(['id' => '[0-9]+']);
|
||||||
|
Route::post('/admin/psection/delete', [PsectionController::class, 'delete'])->name('psection_delete');
|
||||||
|
|
||||||
|
//駐輪分類マスタ
|
||||||
|
Route::match(['get', 'post'], '/admin/ptypes', [PtypeController::class, 'list'])->name(name: 'ptypes');
|
||||||
|
Route::match(['get', 'post'], '/admin/ptypes/add', [PtypeController::class, 'add'])->name('ptype_add');
|
||||||
|
Route::match(['get', 'post'], '/admin/ptypes/edit/{id}', [PtypeController::class, 'edit'])->name('ptype_edit')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/admin/ptypes/info/{id}', [PtypeController::class, 'info'])->name('ptype_info')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/admin/ptypes/delete', [PtypeController::class, 'delete'])->name('ptype_delete');
|
||||||
|
Route::match(['get', 'post'], '/admin/ptypes/import', [PtypeController::class, 'import'])->name('ptype_import');
|
||||||
|
Route::get('/admin/ptypes/export', [PtypeController::class, 'export'])->name('ptype_export');
|
||||||
|
|
||||||
|
//定期利用・契約状況
|
||||||
|
Route::match(['get', 'post'], '/periodical', [PeriodicalController::class, 'list'])->name('periodical');
|
||||||
|
Route::get('/periodical/list-data', [PeriodicalController::class, 'listData'])->name('periodical.listData');
|
||||||
|
Route::get('/periodical/area', [PeriodicalController::class, 'area'])->name('periodical.area');
|
||||||
|
Route::get('/periodical/area-list-data', [PeriodicalController::class, 'areaListData'])->name('periodical.areaListData');
|
||||||
|
|
||||||
|
// 一般ウェブ管理 > 最新ニュース登録
|
||||||
|
Route::match(['get', 'post'], '/web/news', [NewsController::class, 'list'])->name('news');
|
||||||
|
Route::match(['get', 'post'], '/web/news/add', [NewsController::class, 'add'])->name('news_add');
|
||||||
|
Route::match(['get', 'post'], '/web/news/edit/{id}', [NewsController::class, 'edit'])->where(['id' => '[0-9]+'])->name('news_edit');
|
||||||
|
Route::match(['get', 'post'], '/web/news/info/{id}', [NewsController::class, 'info'])->where(['id' => '[0-9]+'])->name('news_info');
|
||||||
|
Route::match(['get', 'post'], '/web/news/delete', [NewsController::class, 'delete'])->name('news_delete');
|
||||||
|
|
||||||
|
// 利用者マスタ
|
||||||
|
Route::match(['get', 'post'], '/users', [UsersController::class, 'list'])->name('users');
|
||||||
|
Route::match(['get', 'post'], '/users/add', [UsersController::class, 'add'])->name('users_add');
|
||||||
|
Route::match(['get', 'post'], '/users/export', [UsersController::class, 'export'])->name('users_export');
|
||||||
|
|
||||||
|
// 定期契約マスタ
|
||||||
|
Route::match(['get', 'post'], '/regularcontracts', [RegularContractController::class, 'list'])->name('regularcontracts');
|
||||||
|
Route::match(['get', 'post'], '/regularcontracts/add', [RegularContractController::class, 'add'])->name('regularcontracts_add');
|
||||||
|
Route::match(['get', 'post'], '/regularcontracts/edit/{contract_id}', [RegularContractController::class, 'edit'])->where(['contract_id' => '[0-9]+'])->name('regularcontracts_edit');
|
||||||
|
Route::match(['get', 'post'], '/regularcontracts/import', [RegularContractController::class, 'import'])->name('regularcontracts_import');
|
||||||
|
Route::get('/regularcontracts/export', [RegularContractController::class, 'export'])->name('regularcontracts_export')->middleware('auth');
|
||||||
|
Route::match(['get', 'post'], '/regularcontracts/info/{contract_id}', [RegularContractController::class, 'info'])->where(['contract_id' => '[0-9]+'])->name('regularcontracts_info');
|
||||||
|
Route::match(['get', 'post'], '/regularcontracts/delete', [RegularContractController::class, 'delete'])->name('regularcontracts_delete');
|
||||||
|
|
||||||
|
// 定期予約マスタ
|
||||||
|
Route::match(['get', 'post'], '/reserves', [ReservesController::class, 'list'])->name('reserves');
|
||||||
|
Route::match(['get', 'post'], '/reserves/add', [ReservesController::class, 'add'])->name('reserves_add');
|
||||||
|
Route::match(['get', 'post'], '/reserves/edit/{reserve_id}', [ReservesController::class, 'edit'])->name('reserves_edit');
|
||||||
|
Route::match(['get', 'post'], '/reserves/delete', [ReservesController::class, 'delete'])->name('reserves_delete');
|
||||||
|
Route::match(['get', 'post'], '/reserves/export', [ReservesController::class, 'export'])->name('reserves_export');
|
||||||
|
|
||||||
|
// 利用者分類マスタ
|
||||||
|
Route::match(['get', 'post'], '/usertypes', [UsertypeController::class, 'list'])->name('usertypes');
|
||||||
|
Route::match(['get', 'post'], '/usertypes/add', [UsertypeController::class, 'add'])->name('usertype_add');
|
||||||
|
Route::match(['get', 'post'], '/usertypes/edit/{id}', [UsertypeController::class, 'edit'])->name('usertype_edit')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/usertypes/info/{id}', [UsertypeController::class, 'info'])->name('usertype_info')->where(['id' => '[0-9]+']);
|
||||||
|
Route::match(['get', 'post'], '/usertypes/delete', [UsertypeController::class, 'delete'])->name('usertypes_delete');
|
||||||
|
Route::match(['get', 'post'], '/usertypes/import', [UsertypeController::class, 'import'])->name('usertypes_import');
|
||||||
|
Route::get('/usertypes/export', [UsertypeController::class, 'export'])->name('usertypes_export');
|
||||||
|
|
||||||
|
// 契約者一覧
|
||||||
|
Route::match(['get', 'post'], '/contractor', [ContractorController::class, 'list'])->name('contractor');
|
||||||
|
|
||||||
|
// 未更新者一覧
|
||||||
|
Route::match(['get', 'post'], '/contractor_list', [ContractorListController::class, 'list'])->name('contractor_List');
|
||||||
|
|
||||||
|
// 更新予定者一覧
|
||||||
|
Route::match(['get', 'post'], '/update_candidate', [UpdateCandidateController::class, 'list'])->name('update_candidate');
|
||||||
|
|
||||||
|
// 予約者一覧
|
||||||
|
Route::match(['get', 'post'], '/reservation', [ReservationController::class, 'list'])->name('reservation');
|
||||||
|
|
||||||
|
// 本人確認手動処理
|
||||||
|
Route::match(['get', 'post'], '/personal', [PersonalController::class, 'list'])->name('personal');
|
||||||
|
Route::match(['get', 'post'], '/personal/edit/{id}', [PersonalController::class, 'edit'])->name('personal_edit')->where(['id' => '[0-9]+']);
|
||||||
|
|
||||||
|
// 常時表示インフォメーション
|
||||||
|
Route::get('/information', [InformationController::class, 'list'])->name('information');
|
||||||
|
|
||||||
|
// タグ発行キュー処理、履歴表示
|
||||||
|
Route::get('/tagissue', [TagissueController::class, 'list'])->name('tagissue');
|
||||||
|
|
||||||
|
// シール発行履歴
|
||||||
|
Route::get('/seals', [SealsController::class, 'list'])->name('seals');
|
||||||
|
|
||||||
|
// ou end
|
||||||
|
});
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user