tippspiel/pfosten/app/Http/Controllers/SeasonsController.php

69 lines
1.6 KiB
PHP
Raw Normal View History

2017-06-20 08:43:36 +02:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Season;
2017-08-16 17:30:32 +02:00
use App\Quota;
2017-06-20 08:43:36 +02:00
use DB;
2017-06-26 17:21:30 +02:00
use Auth;
use Log;
2017-06-20 08:43:36 +02:00
class SeasonsController extends Controller
{
public function index() {
2017-06-26 17:21:30 +02:00
if (Auth::guest()) { return redirect("/"); }
if (!Auth::user()->admin) { return redirect("/"); }
2017-08-16 17:30:32 +02:00
2017-06-20 08:43:36 +02:00
$seasons = DB::table('seasons')->get();
$activeSeason=Season::getCurrent();
2017-08-16 17:30:32 +02:00
Log::info("Creating default quota");
Quota::createDefaultQuota($activeSeason->id);
2017-06-20 08:43:36 +02:00
return view('seasons.index', compact('seasons','activeSeason'));
}
public function create() {
2017-06-26 17:21:30 +02:00
if (Auth::guest()) { return redirect("/"); }
if (!Auth::user()->admin) { return redirect("/"); }
2017-06-20 08:43:36 +02:00
return view('seasons.create');
}
public function store() {
2017-06-26 17:21:30 +02:00
if (Auth::guest()) { return redirect("/"); }
if (!Auth::user()->admin) { return redirect("/"); }
2017-06-20 08:43:36 +02:00
// Validate form
$this->validate(request(), [
'name' => 'required'
]);
// Create and save the season
$season = Season::create([
'name' => request('name')
]);
2017-06-26 17:21:30 +02:00
if (Season::all()->count()==1) {
Season::setCurrent($season->id);
Log::info('Setting season id=' .$season->id);
}
2017-06-20 08:43:36 +02:00
// Redirect to the home page
return redirect('/seasons');
}
2017-06-26 17:21:30 +02:00
public function setcurrent($new_season_id) {
if (Auth::guest()) { return redirect("/"); }
if (!Auth::user()->admin) { return redirect("/"); }
Season::setCurrent($new_season_id);
return redirect("/seasons");
}
2017-08-16 17:30:32 +02:00
}