route('admin.basic-settings.machines.index', ['tab' => 'models']); } public function store(Request $request): RedirectResponse { $validated = $request->validate([ 'name' => 'required|string|max:255', ]); MachineModel::create(array_merge($validated, [ 'company_id' => auth()->user()->company_id, 'creator_id' => auth()->id(), 'updater_id' => auth()->id(), ])); return redirect()->route('admin.basic-settings.machines.index', ['tab' => 'models']) ->with('success', __('Machine model created successfully.')); } /** * 顯示編輯頁面 (與 index 共用 Modal 則不需此方法,但 resource 路由建議保留或調整) */ public function edit(MachineModel $machine_model): View { // 若採用 index Modal 編輯,此處可回傳 JSON 或維持 Blade return view('admin.basic-settings.machine-models.edit', compact('machine_model')); } public function update(Request $request, MachineModel $machine_model): RedirectResponse { $validated = $request->validate([ 'name' => 'required|string|max:255', ]); $machine_model->update(array_merge($validated, [ 'updater_id' => auth()->id(), ])); return redirect()->route('admin.basic-settings.machines.index', ['tab' => 'models']) ->with('success', __('Machine model updated successfully.')); } public function destroy(MachineModel $machine_model): RedirectResponse { if ($machine_model->machines()->count() > 0) { return redirect()->back()->with('error', __('Cannot delete model that is currently in use by machines.')); } $machine_model->delete(); return redirect()->route('admin.basic-settings.machines.index', ['tab' => 'models']) ->with('success', __('Machine model deleted successfully.')); } }