AdminTeamMemberController.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Models\TeamMember;
  6. class AdminTeamMemberController extends Controller
  7. {
  8. public function index()
  9. {
  10. $team_members = TeamMember::get();
  11. return view('admin.team_member.index',compact('team_members'));
  12. }
  13. public function create()
  14. {
  15. return view('admin.team_member.create');
  16. }
  17. public function create_submit(Request $request)
  18. {
  19. $request->validate([
  20. 'name' => 'required',
  21. 'slug' => 'required|alpha_dash|unique:team_members',
  22. 'designation' => 'required',
  23. 'email' => 'required',
  24. 'phone' => 'required',
  25. 'address' => 'required',
  26. 'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
  27. ]);
  28. $final_name = 'team_member_'.time().'.'.$request->photo->extension();
  29. $request->photo->move(public_path('uploads'), $final_name);
  30. $obj = new TeamMember();
  31. $obj->photo = $final_name;
  32. $obj->name = $request->name;
  33. $obj->slug = $request->slug;
  34. $obj->designation = $request->designation;
  35. $obj->email = $request->email;
  36. $obj->phone = $request->phone;
  37. $obj->address = $request->address;
  38. $obj->biography = $request->biography;
  39. $obj->facebook = $request->facebook;
  40. $obj->twitter = $request->twitter;
  41. $obj->linkedin = $request->linkedin;
  42. $obj->instagram = $request->instagram;
  43. $obj->save();
  44. return redirect()->route('admin_team_member_index')->with('success','Team Member is Created Successfully');
  45. }
  46. public function edit($id)
  47. {
  48. $team_member = TeamMember::where('id',$id)->first();
  49. return view('admin.team_member.edit',compact('team_member'));
  50. }
  51. public function edit_submit(Request $request, $id)
  52. {
  53. $team_member = TeamMember::where('id',$id)->first();
  54. $request->validate([
  55. 'name' => 'required',
  56. 'slug' => 'required|alpha_dash|unique:team_members,slug,'.$team_member->id,
  57. 'designation' => 'required',
  58. 'email' => 'required',
  59. 'phone' => 'required',
  60. 'address' => 'required',
  61. ]);
  62. if($request->hasFile('photo'))
  63. {
  64. $request->validate([
  65. 'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
  66. ]);
  67. unlink(public_path('uploads/'.$team_member->photo));
  68. $final_name = 'team_member_'.time().'.'.$request->photo->extension();
  69. $request->photo->move(public_path('uploads'), $final_name);
  70. $team_member->photo = $final_name;
  71. }
  72. $team_member->name = $request->name;
  73. $team_member->slug = $request->slug;
  74. $team_member->designation = $request->designation;
  75. $team_member->address = $request->address;
  76. $team_member->email = $request->email;
  77. $team_member->phone = $request->phone;
  78. $team_member->biography = $request->biography;
  79. $team_member->facebook = $request->facebook;
  80. $team_member->twitter = $request->twitter;
  81. $team_member->linkedin = $request->linkedin;
  82. $team_member->instagram = $request->instagram;
  83. $team_member->save();
  84. return redirect()->route('admin_team_member_index')->with('success','Team Member is Updated Successfully');
  85. }
  86. public function delete($id)
  87. {
  88. $team_member = TeamMember::where('id',$id)->first();
  89. unlink(public_path('uploads/'.$team_member->photo));
  90. $team_member->delete();
  91. return redirect()->route('admin_team_member_index')->with('success','Team Member is Deleted Successfully');
  92. }
  93. }