private function seedTeamSet(Group $group) { $teamSet = TeamSet::create(['group_id' => $group->id, 'season_id' => $this->season->id, 'name' => 'League Teams']); $players = $group->players; for ($x = 1; $x <= 8; $x++) { $team = Team::create(['team_set_id' => $teamSet->id, 'name' => 'Team ' . $x]); $playerCount = $x <= 3 ? $x - 1 : 0; if ($playerCount > 0) { foreach ($players->random($playerCount) as $idx => $player) { if (is_object($player)) { $team->players()->attach($player->id, ['order' => $idx + 1]); } } } } }
/** * @param TeamSetGroupOnlyRequest $request * * @return \Illuminate\Http\Response */ public function destroy(TeamSetGroupOnlyRequest $request) { TeamSet::findOrFail($request->route('teamset'))->delete(); return redirect('/teamsets')->withFlashSuccess('Teams have been deleted'); }
public function teamSet() : TeamSet { return TeamSet::find($this->attributes['teamSetId']); }
/** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return Session::group()->id == TeamSet::findOrFail($this->route('teamset'))->group_id; }
/** * @test */ public function canCopyAndDeleteTeamSets() { $teamSetName = 'Team Copy ' . time(); $this->visit('/teamsets/create')->type($teamSetName, 'name')->select(1, 'teamSet')->press('Save')->see($teamSetName); $teamSet = TeamSet::where('name', $teamSetName)->get()->first(); $this->assertGreaterThan(0, $teamSet->teams()->count()); $this->call('DELETE', '/teamsets/' . $teamSet->id); $this->assertRedirectedTo('/teamsets'); }