From abf66ea3c9997ddb035064ac40a95aefa8ae062e Mon Sep 17 00:00:00 2001 From: Torsten Date: Thu, 30 Nov 2017 11:07:27 +0100 Subject: [PATCH] Ranking: Changing degree of headings --- .../Controllers/Leagues/LeaguesController.php | 1 + pfosten/app/Test.php | 5 ++- pfosten/app/User.php | 16 +++++-- pfosten/app/leagues/League.php | 43 ++++++++++++++++--- .../resources/views/users/ranking.blade.php | 40 ++++++++--------- 5 files changed, 74 insertions(+), 31 deletions(-) diff --git a/pfosten/app/Http/Controllers/Leagues/LeaguesController.php b/pfosten/app/Http/Controllers/Leagues/LeaguesController.php index d16fe231..f787f2c9 100644 --- a/pfosten/app/Http/Controllers/Leagues/LeaguesController.php +++ b/pfosten/app/Http/Controllers/Leagues/LeaguesController.php @@ -67,6 +67,7 @@ class LeaguesController extends Controller public function createLeagues($start_round_id, $round_count) { + $users=User::getActives(); if (sizeof($users)==0){ return view("leagues.no_users"); diff --git a/pfosten/app/Test.php b/pfosten/app/Test.php index 3d69742a..400a6a4f 100644 --- a/pfosten/app/Test.php +++ b/pfosten/app/Test.php @@ -14,8 +14,9 @@ class Test extends Model $users = User::all(); $cnt=0; foreach ($users as $user) { - Payment::set_payment_date($user->id, $seasonId, '01.01.2017'); - $cnt+=1; + if (!$user->deleted) + { Payment::set_payment_date($user->id, $seasonId, '01.01.2017'); $cnt+=1;} + } return $cnt." Users in season_id ".$seasonId." set to paid"; } diff --git a/pfosten/app/User.php b/pfosten/app/User.php index 98709788..2a54ca41 100644 --- a/pfosten/app/User.php +++ b/pfosten/app/User.php @@ -37,9 +37,12 @@ class User extends Authenticatable // Only the current season. - public static function is_season_paid($user_id) { + public static function is_season_paid($user_id,$seasonId=-1) { + $season=Season::getCurrent(); + if ($seasonId!=-1) { $season=Season::where('id','=',$seasonId)->first();} + $retval="Ja"; - if (User::payment_date($user_id, Season::getCurrent()->id)==null) { $retval="Nein"; } + if (User::payment_date($user_id, $season->id)==null) { $retval="Nein"; } return $retval; } @@ -217,6 +220,13 @@ class User extends Authenticatable } + public static function isDeleted($user_id) { + $user=User::where('id','=',$user_id)->first(); + if (!$user) return true; + if ($user->deleted) return true; + return false; + } + public static function softDelete($user_id) { $user = User::where('id','=',$user_id)->first(); if ($user) { $user->deleted = Carbon\Carbon::now();} @@ -228,7 +238,7 @@ class User extends Authenticatable public static function getNames() { - $users=User::getActives(); + $users=User::all(); $usernames = array(); foreach($users as $user) { $usernames[$user->id] = $user->name; diff --git a/pfosten/app/leagues/League.php b/pfosten/app/leagues/League.php index 84e2f9a9..65c9bb6f 100644 --- a/pfosten/app/leagues/League.php +++ b/pfosten/app/leagues/League.php @@ -179,8 +179,8 @@ class League extends Model // Für Auf/Abstiegsberechnung - wird auf previous Season angewendet. - // Unified bezieht sich (nur) auf Gruppen-Übergreifende Listung (also alle Untergruppen) - // Rank = -1 bedeutet über alle Rank (benötigt für Auf- und Abstieg über alle Ligen) + // getUnifiedRanking bezieht sich (nur) auf Gruppen-Übergreifende Listung (also alle Untergruppen) + // Rank = -1 bedeutet über alle Ranks (benötigt für Auf- und Abstieg über alle Ligen) public static function getUnifiedRanking($rank, $seasonId=-1) { $leagueScores = League::getRanking($rank, $seasonId); $unifiedScores = array(); @@ -214,7 +214,11 @@ class League extends Model $tpl[5] = $rankEntry[4]; // league_pos (for multiple leagues per rank, usually ranks 3 and 4) if ($rank==4) { $hasRank4=true;} - array_push($totalRanking, $tpl); + + // only add to list if user has paid for season + if (User::is_season_paid($tpl[0])=="Ja") { + array_push($totalRanking, $tpl); + } } } @@ -296,9 +300,13 @@ class League extends Model // TODO: 22 Mitspieler festgelegt sind. public static function createLeagues($start_round_id, $round_count) { + + Log::info("Leagues\League::createLeagues, start_round_id=".$start_round_id.", round_count=".$round_count); $currentSeason=Season::getCurrent(); $previousSeason=Season::getPrevious(); + $userNames = User::getNames(); + // Eventuell vorhandene Ligen loeschen $leagues=League::where('season_id','=',$currentSeason->id)->get(); if ($leagues) { @@ -362,6 +370,7 @@ class League extends Model // - 2.) unified Liste bauen // - 3.) Wenn Vorsaison keine Quali war, dann Auf & Abstieg umsetzen ( unfified Liste als Basis ) // - 4.) Member den Ligen zuordnen + Log::info("League::createLeagues => Previous season detected. Creating Leagues 1, 2 and 3"); // Erzeugung der Ligen $createdLeagues=array(); @@ -410,16 +419,37 @@ class League extends Model } } + Log::info("Creating unified List from previous season"); $unifiedList = League::getTotalRankingOverall($previousSeason->id); // WICHTIG !! getTotalRankingOverall implentiert Auf- und Abstieg !! + Log:info("Unified List:"); + $userNames = User::getNames(); + + $unifiedList2=array(); // We will only transfer users over to here that have paid the current season and are not deleted. + $count=0; + foreach($unifiedList as $listEntry) { + $userId = $listEntry[0]; + if (User::is_season_paid($userId) && !User::isDeleted($userId)) { + $count+=1; + array_push($unifiedList2, $listEntry); + Log::info($count.".) [".$userId."] ".$userNames[$userId]); + } else { + Log::info($count.".) [".$userId."] ".$userNames[$userId]." [DELETED]"); + } + } + $unifiedList = $unifiedList2; + + // Jetzt neue Spieler hinzufügen, die letzte Saison noch nicht dabei waren, und deshalb in getTotalRankingOverall nicht enthalten sind. + + Log::info("Adding new users not within previous season"); foreach( League::getNewUsers() as $entry) { array_push($unifiedList, $entry); + $userId=$entry[0]; + Log::info("( [".$userId."] ".$userNames[$userId]." )"); } - - $currentCount = 1; $nr=1; @@ -449,7 +479,8 @@ class League extends Model $leagueIndex+=1; } - Log::info("#".$leagueCount." Liga ".$leagueNr."-".$subLeague.")".$nr." ".$entry[0]); + Log::info("#".$leagueCount." Liga ".$leagueNr."-".$subLeague.") ".$nr." ".$entry[0]." (".$userNames[$entry[0]].")"); + $league=$createdLeagues[$leagueIndex]; $leagueMember = LeagueMember::create([ 'user_id' => $entry[0], diff --git a/pfosten/resources/views/users/ranking.blade.php b/pfosten/resources/views/users/ranking.blade.php index a690e14a..7a275672 100755 --- a/pfosten/resources/views/users/ranking.blade.php +++ b/pfosten/resources/views/users/ranking.blade.php @@ -44,110 +44,110 @@ @if($isFinalRound)
-
+
Rang
-
+
Tagessieg
-
+
Spieler
-
+
Punkte Gesamt
-
+
Punkte Tag
  -
+
{{$games[0]->team1}}
-
+
{{$games[0]->team2}}
-
+
Joker
-
+
{{$games[1]->team1}}
-
+
{{$games[1]->team2}}
-
+
Joker
-
+
{{$games[2]->team1}}
-
+
{{$games[2]->team2}}
-
+
Joker
-
+
{{$games[3]->team1}}
-
+
{{$games[3]->team2}}
-
+
Joker
  -
+
Ausschüttung Tagessieg
-
+
Aussch.Platzierung