TeamController.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Team;
  4. use App\Category;
  5. use App\Group;
  6. use App\Season;
  7. use Illuminate\Http\Request;
  8. use Session;
  9. use Redirect;
  10. class TeamController extends Controller
  11. {
  12. protected $rules = [
  13. 'name' => ['required']
  14. ];
  15. public function index()
  16. {
  17. if (\Illuminate\Support\Facades\Auth::user()->level == 1)
  18. return redirect('/admin/dashboard');
  19. $type = isset($_GET["type"]) ? $_GET["type"] : '';
  20. $categories = array();
  21. if ($type != '')
  22. $categories = Category::where('type', '=', $type)->orderBy('name')->pluck('name', 'id')->toArray();
  23. $category_id = isset($_GET["category_id"]) ? $_GET["category_id"] : '';
  24. $groups = array();
  25. if ($category_id != '')
  26. $groups = Group::where('category_id', '=', $category_id)->orderBy('name')->pluck('name', 'id')->toArray();
  27. $group_id = isset($_GET["group_id"]) ? $_GET["group_id"] : '';
  28. if (($category_id != '' && sizeof($groups) == 0) || $group_id != '')
  29. {
  30. $teams = Team::orderBy('name')->get(); //->paginate(50);
  31. $aIds = array();
  32. foreach($teams as $t)
  33. {
  34. $cats = $t->getCalendar();
  35. foreach($cats as $c)
  36. {
  37. if (@$c->category_id == $category_id)
  38. {
  39. if ($group_id != '')
  40. {
  41. if (@$c->group_id == $group_id)
  42. $aIds[] = $t->id;
  43. }
  44. else
  45. $aIds[] = $t->id;
  46. }
  47. }
  48. }
  49. $teams = Team::whereIn('id', $aIds); //->paginate(50);
  50. }
  51. else
  52. {
  53. $teams = Team::where('id', '=', -1); //->paginate(50);
  54. }
  55. $season_id = isset($_GET["season_id"]) ? $_GET["season_id"] : '';
  56. if ($season_id != "")
  57. $teams->where('season_id', '=', $season_id);
  58. $teams = $teams->orderBy('name')->get();
  59. $seasons = Season::all()->pluck('name', 'id')->toArray();
  60. Session::put('type', $type);
  61. Session::put('category_id', $category_id);
  62. Session::put('group_id', $group_id);
  63. Session::put('season_id', $season_id);
  64. return view('teams.index',compact('teams', 'categories', 'groups', 'seasons'))
  65. ->with('i', (request()->input('page', 1) - 1) * 5);
  66. }
  67. /**
  68. * Show the form for creating a new resource.
  69. *
  70. * @return \Illuminate\Http\Response
  71. */
  72. public function create()
  73. {
  74. return view('teams.create');
  75. }
  76. /**
  77. * Store a newly created resource in storage.
  78. *
  79. * @param \Illuminate\Http\Request $request
  80. * @return \Illuminate\Http\Response
  81. */
  82. public function store(Request $request)
  83. {
  84. $request->validate($this->rules);
  85. $input = $request->all();
  86. $input["excluded"] = isset($input["excluded"]) ? ($input["excluded"] == 'on' ? true : false) : false;
  87. Team::create($input);
  88. return redirect()->route('teams.index')
  89. ->with('success','Team created successfully.');
  90. }
  91. /**
  92. * Display the specified resource.
  93. *
  94. * @param \App\Team $team
  95. * @return \Illuminate\Http\Response
  96. */
  97. public function show(Team $team)
  98. {
  99. return view('teams.show',compact('team'));
  100. }
  101. /**
  102. * Show the form for editing the specified resource.
  103. *
  104. * @param \App\Team $team
  105. * @return \Illuminate\Http\Response
  106. */
  107. public function edit(Team $team)
  108. {
  109. return view('teams.edit',compact('team'));
  110. }
  111. /**
  112. * Update the specified resource in storage.
  113. *
  114. * @param \Illuminate\Http\Request $request
  115. * @param \App\Team $team
  116. * @return \Illuminate\Http\Response
  117. */
  118. public function update(Request $request, Team $team)
  119. {
  120. $request->validate($this->rules);
  121. $input = $request->all();
  122. $input["excluded"] = isset($input["excluded"]) ? ($input["excluded"] == 'on' ? true : false) : false;
  123. $team->update($input);
  124. return Redirect::to('/admin/teams/?type=' . Session::get('type') . "&category_id=" . Session::get('category_id') . "&group_id=" . Session::get('group_id'). "&season_id=" . Session::get('season_id'));
  125. // return redirect()->route('teams.index')->with('success','Team updated successfully');
  126. }
  127. /**
  128. * Remove the specified resource from storage.
  129. *
  130. * @param \App\Team $team
  131. * @return \Illuminate\Http\Response
  132. */
  133. public function destroy(Team $team)
  134. {
  135. $team->delete();
  136. return Redirect::to('/admin/teams/?type=' . Session::get('type') . "&category_id=" . Session::get('category_id') . "&group_id=" . Session::get('group_id'));
  137. //return redirect()->route('teams.index')->with('success','Team deleted successfully');
  138. }
  139. }