From 81ab879ecc3583b7e16b20db4358012bea9a937c Mon Sep 17 00:00:00 2001 From: Torsten Date: Tue, 23 Jan 2018 10:56:18 +0100 Subject: [PATCH] Working on payout display for League, Pokal, GreenShirt --- .../Http/Controllers/SeasonsController.php | 7 +--- .../app/Http/Controllers/UsersController.php | 4 -- pfosten/app/ManualPayout.php | 17 ++++++++ pfosten/app/Quota.php | 41 +++++++++++++++++-- 4 files changed, 56 insertions(+), 13 deletions(-) diff --git a/pfosten/app/Http/Controllers/SeasonsController.php b/pfosten/app/Http/Controllers/SeasonsController.php index efb90c6f..b79bfb11 100644 --- a/pfosten/app/Http/Controllers/SeasonsController.php +++ b/pfosten/app/Http/Controllers/SeasonsController.php @@ -165,12 +165,7 @@ class SeasonsController extends Controller // Create and save the season - - - - - - Quota::setQuota('Runden', request('round_count')); + Quota::setQuota('Runden', request('round_count')); Quota::setQuota('Einsatz', request('einsatz')); Quota::setQuota('Tagessieg', str_replace(",",".",request('tagessieg'))); Quota::setQuota('Gruenes Trikot', str_replace(",",".",request('gruenes_trikot'))); diff --git a/pfosten/app/Http/Controllers/UsersController.php b/pfosten/app/Http/Controllers/UsersController.php index 6775d281..b8d10ee4 100755 --- a/pfosten/app/Http/Controllers/UsersController.php +++ b/pfosten/app/Http/Controllers/UsersController.php @@ -524,12 +524,8 @@ class UsersController extends Controller } } - - - $sortedPayout = Quota::getPayoutPerUser(); - return view ('users.payout_ranking_index',compact('sortedPayout')); } diff --git a/pfosten/app/ManualPayout.php b/pfosten/app/ManualPayout.php index 5095a276..3938ad79 100644 --- a/pfosten/app/ManualPayout.php +++ b/pfosten/app/ManualPayout.php @@ -12,6 +12,23 @@ class ManualPayout extends Model 'season_id','quota_name','user_id' ]; + public static function getManualQuotaNames() { + $manualQuotas=array('Liga Platz 1','Liga Platz 2','Liga Platz 3','Liga Platz 2_1','Liga Platz 3_1','Pokal'); + return $manualQuotas; + } + + public static function getWinners() { + $winners=array(); + $manualQuotas=ManualPayout::getManualQuotaNames(); + foreach ($manualQuotas as $quota) { + $userId=0; + $winner=ManualPayout::getWinner($quota); + if ($winner) { $userId=$winner->id; } + $winners[$quota]=$userId; + } + return $winners; + } + public static function getWinner($quotaName) { $season = Season::getCurrent(); diff --git a/pfosten/app/Quota.php b/pfosten/app/Quota.php index a7043224..3d47b88f 100644 --- a/pfosten/app/Quota.php +++ b/pfosten/app/Quota.php @@ -5,6 +5,7 @@ namespace App; use Illuminate\Database\Eloquent\Model; use Log; use DB; +use App\ManualPayout; class Quota extends Model { @@ -345,12 +346,24 @@ class Quota extends Model } } - //TODO: Manuelle Payouts hinzufügen + // Manuelle Payouts hinzufügen + + $_payouts = Quota::getPayouts(); + $winners = ManualPayout::getWinners(); + foreach ($winners as $quota => $userId) { + if (!array_key_exists($quota, $_payouts)) continue; + $item = array(); + $item['roundname']=$quota; + $item['payout']=$_payouts[$quota]; + array_push($payouts,$item); + } + return $payouts; } public static function getPayoutPerUser($seasonId=-1) { + Log::info("starting payout per user"); $season = Season::get($seasonId); $response = Tipp::getRoundTipps(); @@ -382,6 +395,27 @@ class Quota extends Model } } + + + // Manuelle Payouts hinzufügen + $payouts = Quota::getPayouts(); + $winners = ManualPayout::getWinners(); + Log::info("Winners content:"); + + foreach ($winners as $quota => $userId) { + Log::info($quota." => ".$userId); + + + if (!array_key_exists($userId, $winners)) { + Log::info("Key not found: ".$quota); + continue; + } + + Log::Info("Manual Payout: quota=".$quota.", Amount=".$payout[$quota].", userId=".$userId); + + $payoutTotal[$userId]['amount'] += $payouts[$quota]; + } + $sortedPayout = array(); foreach ($payoutTotal as $payout) { $payment = array(); @@ -392,9 +426,10 @@ class Quota extends Model } - usort($sortedPayout,array('App\Quota','cmpPayment')); - //TODO: Manuelle Payouts hinzufügen + + + usort($sortedPayout,array('App\Quota','cmpPayment')); return $sortedPayout; }