diff --git a/app/Http/Controllers/Admin/PplaceController.php b/app/Http/Controllers/Admin/PplaceController.php index 7134d41..17fdc28 100644 --- a/app/Http/Controllers/Admin/PplaceController.php +++ b/app/Http/Controllers/Admin/PplaceController.php @@ -24,10 +24,10 @@ class PplaceController extends Controller $inputs['list'] = Pplace::search($inputs); if ($inputs['list']->total() > 0 && $inputs['page'] > $inputs['list']->lastPage()) { - return redirect()->route('pplace'); + return redirect()->route('pplaces'); } - return view('admin.Pplace.list', $inputs); + return view('admin.pplace.list', $inputs); } public function add(Request $request) @@ -53,13 +53,13 @@ class PplaceController extends Controller $pplace->fill($inputs); $pplace->save(); }); - return redirect()->route('pplace')->with('success', '登録成功'); + return redirect()->route('pplaces')->with('success', '登録しました。'); } else { $inputs['errorMsg'] = $this->__buildErrorMessasges($validator); } } - return view('admin.Pplace.add', $inputs); + return view('admin.pplace.add', $inputs); } public function edit(Request $request, $id, $view = '') @@ -88,29 +88,38 @@ class PplaceController extends Controller $record->fill($inputs); $record->save(); }); - return redirect()->route('pplace')->with('success', '更新成功'); + return redirect()->route('pplaces')->with('success', '更新成功'); } else { $data['errorMsg'] = $this->__buildErrorMessasges($validator); } } - return view($view ?: 'admin.Pplace.edit', $data); + return view($view ?: 'admin.pplace.edit', $data); } public function info(Request $request, $id) { - return $this->edit($request, $id, 'admin.Pplace.info'); + return $this->edit($request, $id, 'admin.pplace.info'); } public function delete(Request $request) { - $pk = $request->get('pk'); - if ($pk && Pplace::destroy($pk)) { - return redirect()->route('pplace')->with('success', '削除成功'); + $arr_pk = $request->get('pk'); + + if ($arr_pk) { + $ids = is_array($arr_pk) ? $arr_pk : [$arr_pk]; + + if (Pplace::deleteByPk($ids)) { + return redirect()->route('pplaces')->with('success', __("削除成功しました。")); + } else { + return redirect()->route('pplaces')->with('error', __('削除に失敗しました。')); + } } - return redirect()->route('pplace')->with('error', '削除失敗'); + + return redirect()->route('pplaces')->with('error', __('削除するデータを選択してください。')); } + public function export() { $headers = [ @@ -142,7 +151,7 @@ class PplaceController extends Controller { $file = $request->file('file'); if (!$file) { - return redirect()->route('pplace')->with('error', 'CSVファイルを選択してください'); + return redirect()->route('pplaces')->with('error', 'CSVファイルを選択してください'); } $data = \App\Utils::csvToArray($file); @@ -161,10 +170,10 @@ class PplaceController extends Controller ]); } DB::commit(); - return redirect()->route('pplace')->with('success', 'インポート成功'); + return redirect()->route('pplaces')->with('success', 'インポート成功'); } catch (\Exception $e) { DB::rollBack(); - return redirect()->route('pplace')->with('error', "行 {$record} : " . $e->getMessage()); + return redirect()->route('pplaces')->with('error', "行 {$record} : " . $e->getMessage()); } } diff --git a/app/Http/Controllers/Admin/StationController.php b/app/Http/Controllers/Admin/StationController.php index beeb510..6943f88 100644 --- a/app/Http/Controllers/Admin/StationController.php +++ b/app/Http/Controllers/Admin/StationController.php @@ -16,7 +16,6 @@ class StationController extends Controller $sort = $request->input('sort', 'station_id'); $sort_type = $request->input('sort_type', 'asc'); - // 許可されたソート項目のみ $allowedSorts = [ 'station_id', 'park_id', @@ -32,19 +31,23 @@ class StationController extends Controller $sort_type = 'asc'; } - // 必要カラムのみ取得 - $stations = Station::select([ - 'station_id', - 'station_neighbor_station', - 'station_name_ruby', - 'station_route_name', - 'park_id', - 'operator_id' - ])->orderBy($sort, $sort_type)->paginate(20); + $list = Station::select([ + 'station_id', + 'station_neighbor_station', + 'station_name_ruby', + 'station_route_name', + 'park_id', + 'operator_id', + 'station_latitude', + 'station_longitude', + ]) + ->orderBy($sort, $sort_type) + ->paginate(20); - return view('admin.stations.list', compact('stations', 'sort', 'sort_type')); + return view('admin.stations.list', compact('list', 'sort', 'sort_type')); } + /** * 新規登録 */ diff --git a/app/Models/Pplace.php b/app/Models/Pplace.php index 32ac647..53496a2 100644 --- a/app/Models/Pplace.php +++ b/app/Models/Pplace.php @@ -65,11 +65,15 @@ class Pplace extends Model /** * 主キー配列で一括削除 */ - public static function deleteByPk($arr) + public static function deleteByPk($ids) { - return self::whereIn('pplace_id', $arr)->delete(); + if (!is_array($ids)) { + $ids = [$ids]; + } + return self::whereIn('pplace_id', $ids)->delete(); } + /** * 選択リスト取得用(フォーム等) */ diff --git a/resources/views/admin/pplace/_form.blade.php b/resources/views/admin/pplace/_form.blade.php index 0613d7b..9b02bd6 100644 --- a/resources/views/admin/pplace/_form.blade.php +++ b/resources/views/admin/pplace/_form.blade.php @@ -17,19 +17,9 @@ @endif -
- @if($isInfo) - {{ __('登録') }} - {{ __('編集') }} - @else - - @endif -
-
{{-- 駐輪車室ID --}} - @if($isInfo || $isEdit)
@@ -39,16 +29,15 @@ name="pplace_id" class="form-control form-control-lg" readonly />
- @endif {{-- 番号 --}}
- +
+ name="pplace_number" class="form-control form-control-lg">
@@ -59,28 +48,37 @@
+ name="pplace_remarks" class="form-control form-control-lg" @if(!empty($isEdit))@endif />
- {{-- オペレーター --}} + - @if($isInfo) - {{ __('登録') }} - {{ __('編集') }} - @else - + + {{-- 登録ボタン --}} + + + {{-- 削除ボタン(編集画面のみ表示) --}} + @if(!empty($pplace_id)) + +
+ @csrf + + +
@endif + diff --git a/resources/views/admin/pplace/add.blade.php b/resources/views/admin/pplace/add.blade.php index 5b31953..38eae8f 100644 --- a/resources/views/admin/pplace/add.blade.php +++ b/resources/views/admin/pplace/add.blade.php @@ -7,13 +7,12 @@
-

[東京都|〇〇駐輪場] 駐輪車室マスタ

+

新規登録

@@ -35,12 +34,7 @@
- -
- - - -
+ diff --git a/resources/views/admin/pplace/edit.blade.php b/resources/views/admin/pplace/edit.blade.php index aa8f830..e38186f 100644 --- a/resources/views/admin/pplace/edit.blade.php +++ b/resources/views/admin/pplace/edit.blade.php @@ -7,13 +7,12 @@
-

[東京都|〇〇駐輪場] 駐輪車室マスタ

+

編集

@@ -30,17 +29,11 @@
@csrf - @include('admin.pplace._form', ['isEdit' => 1, 'isInfo' => 0]) + @include('admin.pplace._form', ['isEdit' => true])
- -
- - - -
diff --git a/resources/views/admin/pplace/list.blade.php b/resources/views/admin/pplace/list.blade.php index 7e86000..dd05df5 100644 --- a/resources/views/admin/pplace/list.blade.php +++ b/resources/views/admin/pplace/list.blade.php @@ -9,8 +9,7 @@
@@ -20,18 +19,31 @@
-
-
+ + @csrf
- - + + + - {{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }} +
+ + {{-- ▼ ページネーション --}} +
+
+ {{ $list->appends([ + 'sort' => $sort ?? '', + 'sort_type' => $sort_type ?? '' + ])->links('pagination') }} +
@@ -55,63 +67,50 @@ @endif
-
-
-
- @csrf - - - - - - - - @foreach($list as $item) - - - - @endforeach - -
- - -
-
-
- -
-
- - + + @csrf + +
+
+
+ + - - - + + @foreach($list as $item) + - + @endforeach
+ + - {{__('ID')}} + {{__('駐輪車室ID')}} - {{__('番号')}} + + {{__('駐輪車室番号')}} + {{__('備考')}}
+
+ + 編集 +
+
{{mb_substr($item->pplace_id, 0, 10)}} {{mb_substr($item->pplace_number, 0, 20)}}{{mb_substr($item->pplace_remarks, 0, 20)}}{{mb_substr($item->pplace_remarks, 0, 20)}}
- -
-
+ +
@endsection diff --git a/resources/views/admin/stations/_form.blade.php b/resources/views/admin/stations/_form.blade.php index 8f752b5..47010ed 100644 --- a/resources/views/admin/stations/_form.blade.php +++ b/resources/views/admin/stations/_form.blade.php @@ -11,140 +11,144 @@ @endif -@php - // $isEdit = 1 or 0 -@endphp -
- - {{-- 近傍駅ID(自動採番) --}} - - - - + + - {{-- 駐輪場ID --}} - - - - + + - {{-- 近傍駅 --}} - - - - + maxlength="50" required> + + @error('station_neighbor_station') +
{{ $message }}
+ @enderror + - {{-- 近傍駅ふりがな --}} - - - - + maxlength="50" required> + + @error('station_name_ruby') +
{{ $message }}
+ @enderror + - {{-- 路線名 --}} - - - - + maxlength="50" required> + + @error('station_route_name') +
{{ $message }}
+ @enderror + - {{-- 緯度 --}} - - - - + step="any" maxlength="20" required> + + @error('latitude') +
{{ $message }}
+ @enderror + - {{-- 経度 --}} - - - - -
{{ __('近傍駅ID') }} + {{-- バリデーションエラー表示 --}} + @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + +
+ + +
+ +
+
+
-
{{ __('駐車場ID') }} + +
+ +
+
+
-
{{ __('近傍駅') }} + +
+ +
+
+
- @error('station_neighbor_station') -
{{ $message }}
- @enderror -
{{ __('近傍駅ふりがな') }} + +
+ +
+
+
- @error('station_name_ruby') -
{{ $message }}
- @enderror -
{{ __('路線名') }} + +
+ +
+
+
- @error('station_route_name') -
{{ $message }}
- @enderror -
{{ __('近傍駅座標(緯度)') }} + +
+ +
+
+
- @error('latitude') -
{{ $message }}
- @enderror -
{{ __('近傍駅座標(経度)') }} + +
+ +
+
+
- @error('longitude') -
{{ $message }}
- @enderror -
+ step="any" maxlength="20" required> +
+ @error('longitude') +
{{ $message }}
+ @enderror + - {{-- 登録・削除 ボタン --}} -
- @if($isInfo) - {{-- 詳細画面:編集に遷移 --}} +
- - 編集 - - @else - {{-- 新規/編集 共通フォーム --}} - + {{-- ▼ 下部ボタン --}} +
+ {{-- 登録ボタン --}} + - {{-- 編集時のみ削除可能 --}} - @if($isEdit && isset($station->id)) -
- @csrf - - -
- @endif + {{-- 削除ボタン(編集画面のみ表示) --}} + @if(!empty($station->station_id)) + +
+ @csrf + + +
@endif
- -@section('scripts') - -@endsection + + diff --git a/resources/views/admin/stations/add.blade.php b/resources/views/admin/stations/add.blade.php index 68b68f5..623db07 100644 --- a/resources/views/admin/stations/add.blade.php +++ b/resources/views/admin/stations/add.blade.php @@ -24,11 +24,7 @@
@csrf - @include('admin.stations._form', [ - 'isEdit' => 0, - 'isInfo' => 0, - 'station' => $station ?? null - ]) + @include('admin.stations._form', ['isEdit' => false])
diff --git a/resources/views/admin/stations/edit.blade.php b/resources/views/admin/stations/edit.blade.php index 44622ab..67331b4 100644 --- a/resources/views/admin/stations/edit.blade.php +++ b/resources/views/admin/stations/edit.blade.php @@ -26,11 +26,7 @@
@csrf - @include('admin.stations._form', [ - 'isEdit' => 1, - 'isInfo' => 0, - 'station' => $station - ]) + @include('admin.stations._form', ['isEdit' => true])
diff --git a/resources/views/admin/stations/list.blade.php b/resources/views/admin/stations/list.blade.php index b96a32d..77c0fe6 100644 --- a/resources/views/admin/stations/list.blade.php +++ b/resources/views/admin/stations/list.blade.php @@ -23,6 +23,7 @@
+ {{-- 並び替え用 hidden --}}
@csrf @@ -30,15 +31,27 @@
-
+ {{-- ▼ ボタンエリア --}} +
- + {{-- 削除 --}} + -
- {{ $stations->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }} +
+ + {{-- ▼ ページネーション --}} +
+
+ {{ $list->appends([ + 'sort' => $sort ?? '', + 'sort_type' => $sort_type ?? '' + ])->links('pagination') }}
+ {{-- ▼ テーブル --}}
@if(Session::has('success')) @endif - - -
- @if(session('success')) -
{{ session('success') }}
- @elseif(session('error')) -
{{ session('error') }}
- @endif -
+
@@ -80,12 +85,13 @@ 近傍駅 近傍駅ふりがな 路線名 - 近傍駅座標(緯度) - 近傍駅座標(経度) + {{ __('近傍駅座標(緯度)') }} + {{ __('近傍駅座標(経度)') }} + - @foreach($stations as $station) + @foreach($list as $station) {{-- ★ 同じセル内に チェック + 編集ボタン) --}} diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 5b4d9ae..21a3a04 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -450,6 +450,7 @@ 'stations', 'terms', 'contract_allowable_cities', + 'pplace', ]; $current = app('router')->currentRouteName(); @endphp @@ -492,6 +493,10 @@

{{ __("ゾーンマスタ") }}

+