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
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')));

View file

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

View file

@ -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();

View file

@ -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;
}