OutletController.php 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Outlet\StoreOutletRequest;
  5. use App\Http\Requests\Outlet\UpdateOutletRequest;
  6. use App\Models\Outlet;
  7. class OutletController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. *
  12. * @return \Inertia\Response
  13. */
  14. public function index()
  15. {
  16. return inertia('outlet/Index', [
  17. 'outlets' => Outlet::latest()
  18. ->filter(request()->search)
  19. ->paginate(10)
  20. ->withQueryString()
  21. ->through(fn($outlet) => [
  22. 'id' => $outlet->id,
  23. 'outlet_number' => $outlet->outlet_number,
  24. 'name' => $outlet->name,
  25. 'phone' => $outlet->phone,
  26. 'address' => $outlet->address,
  27. ]),
  28. ]);
  29. }
  30. /**
  31. * Show the form for creating a new resource.
  32. *
  33. * @return \Inertia\Response
  34. */
  35. public function create()
  36. {
  37. return inertia('outlet/Create', [
  38. 'outlet_number' => 'OT' . now()->format('YmdHis'),
  39. ]);
  40. }
  41. /**
  42. * Store a newly created resource in storage.
  43. *
  44. * @param \Illuminate\Http\Request $request
  45. * @return \Illuminate\Http\Response
  46. */
  47. public function store(StoreOutletRequest $request)
  48. {
  49. Outlet::create($request->validated());
  50. return to_route('outlets.index')->with('success', __('messages.success.store.outlet'));
  51. }
  52. /**
  53. * Display the specified resource.
  54. *
  55. * @param int $id
  56. * @return \Inertia\Response
  57. */
  58. public function show($id)
  59. {
  60. //
  61. }
  62. /**
  63. * Show the form for editing the specified resource.
  64. *
  65. * @param Outlet $outlet
  66. * @return \Inertia\Response
  67. */
  68. public function edit(Outlet $outlet)
  69. {
  70. return inertia('outlet/Edit', [
  71. 'outlet' => [
  72. 'id' => $outlet->id,
  73. 'outlet_number' => $outlet->outlet_number,
  74. 'name' => $outlet->name,
  75. 'phone' => $outlet->phone,
  76. 'address' => $outlet->address,
  77. ],
  78. ]);
  79. }
  80. /**
  81. * Update the specified resource in storage.
  82. *
  83. * @param \Illuminate\Http\Request $request
  84. * @param Outlet $outlet
  85. * @return \Illuminate\Http\Response
  86. */
  87. public function update(UpdateOutletRequest $request, Outlet $outlet)
  88. {
  89. $outlet->update($request->validated());
  90. return back()->with('success', __('messages.success.update.outlet'));
  91. }
  92. /**
  93. * Remove the specified resource from storage.
  94. *
  95. * @param Outlet $Outlet
  96. * @return \Illuminate\Http\Response
  97. */
  98. public function destroy(Outlet $outlet)
  99. {
  100. $outlet->delete();
  101. return to_route('outlets.index')->with('success', __('messages.success.destroy.outlet'));
  102. }
  103. }