Working on payout display for League, Pokal, GreenShirt

This commit is contained in:
Torsten 2018-01-23 10:56:18 +01:00
parent 9d70a2dc08
commit 81ab879ecc
4 changed files with 56 additions and 13 deletions

View file

@ -165,12 +165,7 @@ class SeasonsController extends Controller
// Create and save the season // Create and save the season
Quota::setQuota('Runden', request('round_count'));
Quota::setQuota('Runden', request('round_count'));
Quota::setQuota('Einsatz', request('einsatz')); Quota::setQuota('Einsatz', request('einsatz'));
Quota::setQuota('Tagessieg', str_replace(",",".",request('tagessieg'))); Quota::setQuota('Tagessieg', str_replace(",",".",request('tagessieg')));
Quota::setQuota('Gruenes Trikot', str_replace(",",".",request('gruenes_trikot'))); Quota::setQuota('Gruenes Trikot', str_replace(",",".",request('gruenes_trikot')));

View file

@ -524,12 +524,8 @@ class UsersController extends Controller
} }
} }
$sortedPayout = Quota::getPayoutPerUser(); $sortedPayout = Quota::getPayoutPerUser();
return view ('users.payout_ranking_index',compact('sortedPayout')); return view ('users.payout_ranking_index',compact('sortedPayout'));
} }

View file

@ -12,6 +12,23 @@ class ManualPayout extends Model
'season_id','quota_name','user_id' '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) { public static function getWinner($quotaName) {
$season = Season::getCurrent(); $season = Season::getCurrent();

View file

@ -5,6 +5,7 @@ namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Log; use Log;
use DB; use DB;
use App\ManualPayout;
class Quota extends Model 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; return $payouts;
} }
public static function getPayoutPerUser($seasonId=-1) public static function getPayoutPerUser($seasonId=-1)
{ {
Log::info("starting payout per user");
$season = Season::get($seasonId); $season = Season::get($seasonId);
$response = Tipp::getRoundTipps(); $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(); $sortedPayout = array();
foreach ($payoutTotal as $payout) { foreach ($payoutTotal as $payout) {
$payment = array(); $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; return $sortedPayout;
} }