From 16231357b46460d45fc73949d6a96237e18fdaaa Mon Sep 17 00:00:00 2001 From: Torsten Date: Fri, 29 Dec 2017 10:10:04 +0100 Subject: [PATCH] gshirt index --- .../app/Http/Controllers/UsersController.php | 72 ++++++++++++++++++- pfosten/app/Round.php | 8 ++- pfosten/app/User.php | 2 + pfosten/resources/views/users/index.blade.php | 2 +- .../users/payout_ranking_index.blade.php | 5 ++ .../payout_ranking_index_with_iban.blade.php | 38 ++++++++++ pfosten/routes/web.php | 1 + 7 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 pfosten/resources/views/users/payout_ranking_index_with_iban.blade.php diff --git a/pfosten/app/Http/Controllers/UsersController.php b/pfosten/app/Http/Controllers/UsersController.php index 6de560e3..80aa6124 100755 --- a/pfosten/app/Http/Controllers/UsersController.php +++ b/pfosten/app/Http/Controllers/UsersController.php @@ -356,7 +356,7 @@ class UsersController extends Controller $game_results=array(); // 4 Spielergebnisse der angezeigten Runde array_push($game_results,$rankingDisplay[0]["result_score1"],$rankingDisplay[0]["result_score2"],$rankingDisplay[0]["result_score3"],$rankingDisplay[0]["result_score4"],$rankingDisplay[0]["result_score5"],$rankingDisplay[0]["result_score6"],$rankingDisplay[0]["result_score7"],$rankingDisplay[0]["result_score8"]); - Log::info("UserController::ranking: ExecutionTime: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"); + //Log::info("UserController::ranking: ExecutionTime: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"); return view('users.ranking', compact('all_rounds','rankingDisplay','userids','round','games','game_results','isFinalRound')); } @@ -381,6 +381,7 @@ class UsersController extends Controller } + public function mailtest() { // Works: // $user = User::where('id','=',1)->first(); @@ -538,6 +539,75 @@ class UsersController extends Controller return view ('users.payout_ranking_index',compact('sortedPayout')); } + + + public function money_ranking_with_iban() { + if (Auth::guest()) { return redirect("/"); } + $currentSeason = Season::getCurrent(); + + + + // Payment made ? + if (! User::payment_date(Auth::user()->id, $currentSeason->id) && Auth::user()->name!="Torsten Schneider") { + return view('users.no_payment'); + } + + $response = Tipp::getRoundTipps(); + $roundtipps = $response['roundtipps']; + $roundData = $response['roundData']; + $user_ids = $response['user_ids']; + $round_ids = $response['round_ids']; + + $payoutTotal = array(); + $cnt=0; + foreach($round_ids as $round_id) { + foreach($user_ids as $user_id) { + $key=$round_id."_".$user_id; + + $payout = str_replace(",",".",$roundtipps[$key]['payout']); + if (strlen($payout)==0) { $payout=0; } + + if (!array_key_exists($user_id, $payoutTotal)) { + $payoutTotal[$user_id]['amount']=0; + $payoutTotal[$user_id]['name']=$roundtipps[$key]['user_name']; + $payoutTotal[$user_id]['user_id']=$roundtipps[$key]['user_id']; + } + + $payoutTotal[$user_id]['amount'] += $payout; + + $payout_ranking = $roundtipps[$key]['ranking_payout']; + $payoutTotal[$user_id]['amount'] += $payout_ranking; + } + } + + + $sortedPayout=array(); + foreach($payoutTotal as $payout) { + $payment=array(); + $payment['user_id']=$payout['user_id']; + $payment['name']=$payout['name']; + $payment['amount']=$payout['amount']; + + $user=User::where('id','=',$payout['user_id'])->first(); + $payment['iban']=$user->iban; + $payment['blz']=$user->blz; + $payment['bankname']=$user->bankname; + $payment['kontonr']=$user->kontonr; + + + array_push($sortedPayout,$payment); + } + + usort($sortedPayout,array($this,'cmpPayment')); + + $users=User::getActives(); + + + return view ('users.payout_ranking_index_with_iban',compact('sortedPayout','users')); + } + + + public function cmpPayment($payment1, $payment2) { return ($payment1['amount'] < $payment2['amount']); } diff --git a/pfosten/app/Round.php b/pfosten/app/Round.php index b1fbd849..7630dce4 100755 --- a/pfosten/app/Round.php +++ b/pfosten/app/Round.php @@ -174,7 +174,9 @@ class Round extends Model public static function getTippSpielLink() // Mit Verweis auf den aktuellen Tipp { - $firstTippableRoundId=Round::getFirstTippableRound()->id; + $firstTippableRound=Round::getFirstTippableRound(); + if (!$firstTippableRound) return ""; + $firstTippableRoundId=$firstTippableRound->id; $tippSpielLink="http://hoschis-tippspiel.de/tipps#".$firstTippableRoundId; return $tippSpielLink; } @@ -210,9 +212,9 @@ class Round extends Model if ($seasonId!=-1) { $season = Season::where('id','=',$seasonId)->first(); } $rounds = Round::where('season_id','=',$season->id)->get(); - Log::info("Number of rounds:".sizeof($rounds)); + //Log::info("Number of rounds:".sizeof($rounds)); - Log::info("START"); + //Log::info("START"); $roundnames = array(); foreach($rounds as $round) { $roundnames[$round->id] = $round->name; diff --git a/pfosten/app/User.php b/pfosten/app/User.php index 2a54ca41..873a9958 100644 --- a/pfosten/app/User.php +++ b/pfosten/app/User.php @@ -195,6 +195,8 @@ class User extends Authenticatable $season=Season::getCurrent(); if (!$season) return array(); + + if ($seasonId != -1) { $season = Season::where('id','=',$seasonId)->first(); } $seasonId = $season->id; diff --git a/pfosten/resources/views/users/index.blade.php b/pfosten/resources/views/users/index.blade.php index 22358431..98946a0b 100644 --- a/pfosten/resources/views/users/index.blade.php +++ b/pfosten/resources/views/users/index.blade.php @@ -5,7 +5,7 @@
registrierte Spieler: {{ $total_user_count }} , davon bezahlt: {{$active_user_count}}
-

 

+

 Kontoliste

diff --git a/pfosten/resources/views/users/payout_ranking_index.blade.php b/pfosten/resources/views/users/payout_ranking_index.blade.php index cc8883ec..708e2e2d 100644 --- a/pfosten/resources/views/users/payout_ranking_index.blade.php +++ b/pfosten/resources/views/users/payout_ranking_index.blade.php @@ -18,6 +18,11 @@ + + + + + @endforeach
{{ $payout['amount'] }} €   {{ $users[$payout['user_id']]['bankname'] }}   {{ $users[$payout['user_id']]['iban'] }}   {{ $users[$payout['user_id']]['blz'] }}   {{ $users[$payout['user_id']]['kontonr'] }}  
diff --git a/pfosten/resources/views/users/payout_ranking_index_with_iban.blade.php b/pfosten/resources/views/users/payout_ranking_index_with_iban.blade.php new file mode 100644 index 00000000..5e368264 --- /dev/null +++ b/pfosten/resources/views/users/payout_ranking_index_with_iban.blade.php @@ -0,0 +1,38 @@ +@extends('layouts.layout') + +@section('content') +
+ +
+
+
Konto & Ausschüttungsübersicht
+ + + + + + + + + + + + @foreach($sortedPayout as $payout) + + + + + + + + + + + + @endforeach +
Name Ausschüttung  Bankname  IBAN  BLZ  Kontonummer 
 {{ $payout['name'] }}  {{ $payout['amount'] }} €   {{ $payout['bankname'] }}   {{ $payout['iban'] }}   {{ $payout['blz'] }}   {{ $payout['kontonr'] }}  
+
+
+ +
+@endsection \ No newline at end of file diff --git a/pfosten/routes/web.php b/pfosten/routes/web.php index c5a577a6..16b5baec 100644 --- a/pfosten/routes/web.php +++ b/pfosten/routes/web.php @@ -47,6 +47,7 @@ Route::post('/users/store_useredit','UsersController@storeUserEdit'); Route::get('/users/no_payment'); Route::get('/users/delete/{user_id}','UsersController@delete'); Route::get('/users/payout','UsersController@money_ranking'); +Route::get('/users/payout_with_iban','UsersController@money_ranking_with_iban'); Route::get('/users/payout/{user_id}','UsersController@money_ranking_detail'); Route::get('/tipps','TippsController@index');