TeamController.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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. $c = $t->getCalendar();
  35. if (@$c->category_id == $category_id)
  36. {
  37. if ($group_id != '')
  38. {
  39. if (@$c->group_id == $group_id)
  40. $aIds[] = $t->id;
  41. }
  42. else
  43. $aIds[] = $t->id;
  44. }
  45. }
  46. $teams = Team::whereIn('id', $aIds); //->paginate(50);
  47. }
  48. else
  49. {
  50. $teams = Team::where('id', '=', -1); //->paginate(50);
  51. }
  52. $season_id = isset($_GET["season_id"]) ? $_GET["season_id"] : '';
  53. if ($season_id != "")
  54. $teams->where('season_id', '=', $season_id);
  55. $teams = $teams->orderBy('name')->get();
  56. $seasons = Season::all()->pluck('name', 'id')->toArray();
  57. Session::put('type', $type);
  58. Session::put('category_id', $category_id);
  59. Session::put('group_id', $group_id);
  60. Session::put('season_id', $season_id);
  61. return view('teams.index',compact('teams', 'categories', 'groups', 'seasons'))
  62. ->with('i', (request()->input('page', 1) - 1) * 5);
  63. }
  64. /**
  65. * Show the form for creating a new resource.
  66. *
  67. * @return \Illuminate\Http\Response
  68. */
  69. public function create()
  70. {
  71. return view('teams.create');
  72. }
  73. /**
  74. * Store a newly created resource in storage.
  75. *
  76. * @param \Illuminate\Http\Request $request
  77. * @return \Illuminate\Http\Response
  78. */
  79. public function store(Request $request)
  80. {
  81. $request->validate($this->rules);
  82. $input = $request->all();
  83. $input["excluded"] = isset($input["excluded"]) ? ($input["excluded"] == 'on' ? true : false) : false;
  84. Team::create($input);
  85. return redirect()->route('teams.index')
  86. ->with('success','Team created successfully.');
  87. }
  88. /**
  89. * Display the specified resource.
  90. *
  91. * @param \App\Team $team
  92. * @return \Illuminate\Http\Response
  93. */
  94. public function show(Team $team)
  95. {
  96. return view('teams.show',compact('team'));
  97. }
  98. /**
  99. * Show the form for editing the specified resource.
  100. *
  101. * @param \App\Team $team
  102. * @return \Illuminate\Http\Response
  103. */
  104. public function edit(Team $team)
  105. {
  106. return view('teams.edit',compact('team'));
  107. }
  108. /**
  109. * Update the specified resource in storage.
  110. *
  111. * @param \Illuminate\Http\Request $request
  112. * @param \App\Team $team
  113. * @return \Illuminate\Http\Response
  114. */
  115. public function update(Request $request, Team $team)
  116. {
  117. $request->validate($this->rules);
  118. $input = $request->all();
  119. $input["excluded"] = isset($input["excluded"]) ? ($input["excluded"] == 'on' ? true : false) : false;
  120. $team->update($input);
  121. 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'));
  122. // return redirect()->route('teams.index')->with('success','Team updated successfully');
  123. }
  124. /**
  125. * Remove the specified resource from storage.
  126. *
  127. * @param \App\Team $team
  128. * @return \Illuminate\Http\Response
  129. */
  130. public function destroy(Team $team)
  131. {
  132. $team->delete();
  133. return Redirect::to('/admin/teams/?type=' . Session::get('type') . "&category_id=" . Session::get('category_id') . "&group_id=" . Session::get('group_id'));
  134. //return redirect()->route('teams.index')->with('success','Team deleted successfully');
  135. }
  136. }