AdminAmenityController.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Models\Amenity;
  6. use App\Models\PackageAmenity;
  7. class AdminAmenityController extends Controller
  8. {
  9. public function index()
  10. {
  11. $amenities = Amenity::get();
  12. return view('admin.amenity.index',compact('amenities'));
  13. }
  14. public function create()
  15. {
  16. return view('admin.amenity.create');
  17. }
  18. public function create_submit(Request $request)
  19. {
  20. $request->validate([
  21. 'name' => 'required|unique:amenities,name',
  22. ]);
  23. $obj = new Amenity();
  24. $obj->name = $request->name;
  25. $obj->save();
  26. return redirect()->route('admin_amenity_index')->with('success','Amenity is Created Successfully');
  27. }
  28. public function edit($id)
  29. {
  30. $amenity = Amenity::where('id',$id)->first();
  31. return view('admin.amenity.edit',compact('amenity'));
  32. }
  33. public function edit_submit(Request $request, $id)
  34. {
  35. $obj = Amenity::where('id',$id)->first();
  36. $request->validate([
  37. 'name' => 'required|unique:amenities,name,'.$id,
  38. ]);
  39. $obj->name = $request->name;
  40. $obj->save();
  41. return redirect()->route('admin_amenity_index')->with('success','Amenity is Updated Successfully');
  42. }
  43. public function delete($id)
  44. {
  45. $total = PackageAmenity::where('amenity_id',$id)->count();
  46. if($total>0)
  47. {
  48. return redirect()->back()->with('error','Amenity is Assigned to Package(s), So it can not be deleted');
  49. }
  50. $obj = Amenity::where('id',$id)->first();
  51. $obj->delete();
  52. return redirect()->route('admin_amenity_index')->with('success','Amenity is Deleted Successfully');
  53. }
  54. }