Tipps und Ranglisten erste Basic Version
This commit is contained in:
parent
7a33f5f889
commit
12651fc2e8
6 changed files with 99 additions and 9 deletions
|
|
@ -15,12 +15,8 @@ use DB;
|
|||
|
||||
class TippsController extends Controller
|
||||
{
|
||||
public function createTipps() {
|
||||
public static function createTipps($user_id) {
|
||||
$activeSeason = Season::getCurrent();
|
||||
$user=Auth::user();
|
||||
|
||||
// Log::info($user->id);
|
||||
// Log::info("** Start: createTipps for " . $activeSeason->name . "**");
|
||||
|
||||
$rounds = Round::all()->where('season_id', '=', $activeSeason->id);
|
||||
foreach($rounds as $round) {
|
||||
|
|
@ -31,12 +27,12 @@ class TippsController extends Controller
|
|||
// Tipp erzeugen wenn noch nicht vorhanden
|
||||
$tipp = DB::table('tipps')->where([
|
||||
['game_id','=',$game->id],
|
||||
['user_id','=',$user->id]]
|
||||
['user_id','=',$user_id]]
|
||||
)->first();
|
||||
if (! $tipp) {
|
||||
//Log::info('Creating missing tip: game_id=' . $game->id . ", user_id=" . $user->id);
|
||||
$tipp=Tipp::create([
|
||||
'user_id' => $user->id,
|
||||
'user_id' => $user_id,
|
||||
'game_id'=> $game->id,
|
||||
'score1'=> -1,
|
||||
'score2'=> -1,
|
||||
|
|
@ -50,6 +46,13 @@ class TippsController extends Controller
|
|||
|
||||
}
|
||||
|
||||
public static function createAllTips(){
|
||||
$users = DB::table('users')->where('deleted',null)->get();
|
||||
foreach($users as $user) {
|
||||
TippsController::createTipps($user->id);
|
||||
}
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$activeSeason = Season::getCurrent();
|
||||
|
|
@ -58,7 +61,7 @@ class TippsController extends Controller
|
|||
$user = Auth::user();
|
||||
|
||||
|
||||
$this->createTipps(); // ggfs. fehlender Tipp Eintraege einfügen
|
||||
TippsController::createTipps($user->id); // ggfs. fehlender Tipp Eintraege einfügen
|
||||
|
||||
|
||||
if ($activeSeason) {
|
||||
|
|
|
|||
|
|
@ -84,4 +84,10 @@ class UsersController extends Controller
|
|||
return redirect('/users');
|
||||
}
|
||||
|
||||
public function ranking() {
|
||||
TippsController::createAllTips();
|
||||
|
||||
$users = DB::table('users')->where('deleted',null)->get();
|
||||
return view('users.ranking', compact('users'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@ use Illuminate\Notifications\Notifiable;
|
|||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use App\Season;
|
||||
use App\Payment;
|
||||
use App\Round;
|
||||
use App\Game;
|
||||
use Log;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
|
|
@ -61,4 +64,32 @@ class User extends Authenticatable
|
|||
return null;
|
||||
}
|
||||
|
||||
public static function getScore($user_id) {
|
||||
|
||||
Log::info("User::getScore for userid=" . $user_id);
|
||||
|
||||
$season = Season::getCurrent();
|
||||
|
||||
$rounds = Round::where('season_id','=',$season->id)->get();
|
||||
|
||||
$totalScore=0;
|
||||
foreach($rounds as $round) {
|
||||
$games = Game::where('round_id','=',$round->id)->get();
|
||||
Log::info(' round_id=' . $round->id);
|
||||
foreach ($games as $game) {
|
||||
|
||||
Log::info(' game_id=' . $game->id);
|
||||
|
||||
$tipp = Tipp::getTipp($game->id,$user_id);
|
||||
$score = Tipp::getScore($tipp->id);
|
||||
|
||||
Log::info(" Game id=" . $game->id. ", Tipp id=". $tipp->id.", score=" . $score);
|
||||
|
||||
$totalScore+=$score;
|
||||
}
|
||||
}
|
||||
Log::info("Total score=" . $totalScore);
|
||||
return $totalScore;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<a class="lead" href="/rounds">Runden</a>
|
||||
<a class="lead" href="/users">Spieler</a>
|
||||
<a class="lead" href="/tipps">Tipps</a>
|
||||
<a class="lead" href="#" >Rangliste</a>
|
||||
<a class="lead" href="/users/ranking" >Rangliste</a>
|
||||
|
||||
<label class="lead text ml-auto" >Spieler: {{ Auth::user()->name }}</label><a class="lead" href="/logout">(abmelden)</a>
|
||||
@endif
|
||||
|
|
|
|||
49
pfosten/resources/views/users/ranking.blade.php
Normal file
49
pfosten/resources/views/users/ranking.blade.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
@extends('layouts.layout')
|
||||
|
||||
@section('content')
|
||||
<section class="jumbotron text-center">
|
||||
<div class="container">
|
||||
|
||||
<div class="lead">Rangliste:</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<div>
|
||||
<table class="table-bordered">
|
||||
<tr class="table-bordered">
|
||||
<td class="table-bordered">Name</td>
|
||||
<td class="table-bordered"> Punkte </td>
|
||||
|
||||
</tr>
|
||||
@foreach($users as $user)
|
||||
|
||||
<tr>
|
||||
<td class="table-bordered"> <a class="text list-unstyled" href="/users/edit/{{$user->id}}">{{ $user->name }} </a></td>
|
||||
<td class="table-bordered"> {{ App\User::getScore($user->id) }} </td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</table>
|
||||
|
||||
<p> </p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -40,6 +40,7 @@ Route::post('/games/store', 'GamesController@store');
|
|||
Route::get('/users','UsersController@index');
|
||||
Route::get('/users/edit/{user_id}','UsersController@edit');
|
||||
Route::post('/users/store','UsersController@store');
|
||||
Route::get('/users/ranking','UsersController@ranking');
|
||||
|
||||
Route::get('/tipps','TippsController@index');
|
||||
Route::get('/tipps/edit/{tipp_id}','TippsController@edit');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue