Working on Manual Payout Winner Selection

This commit is contained in:
Torsten 2018-01-18 15:15:31 +01:00
parent 9c1b334fe8
commit 2ad2f32d07
6 changed files with 85 additions and 13 deletions

View file

@ -9,6 +9,7 @@ use App\Quota;
use App\User;
use App\Game;
use App\Tipp;
use App\ManualPayout;
use Carbon;
use DB;
use Auth;
@ -22,7 +23,7 @@ class SeasonsController extends Controller
$seasons = DB::table('seasons')->get();
$currentSeason=Season::getCurrent();
$users = User::getActives();
$users = User::getActivesSortedByName();
$active_user_count = sizeof( $users );
$currentSeasonId=-1;
@ -31,7 +32,16 @@ class SeasonsController extends Controller
$payouts = Quota::getPayouts();
}
return view('seasons.index', compact('seasons','currentSeason','active_user_count','quotas','payouts', 'users'));
$winnerNames=array();
$manualPayoutTypes=array('liga_platz1','liga_platz2','liga_platz3', 'liga_platz2_1', 'liga_platz3_1', 'pokal');
foreach($manualPayoutTypes as $payoutType) {
$user = ManualPayout::getWinner($payoutType);
$name="Festlegen";
if ($user) $name = $user->name;
$winnerNames[$payoutType] = $name;
}
return view('seasons.index', compact('seasons','currentSeason','active_user_count','quotas','payouts', 'users', 'winnerNames'));
}
public function create() {
@ -187,12 +197,27 @@ class SeasonsController extends Controller
// Redirect to the home page
return redirect('/seasons');
}
public function setcurrent($new_season_id) {
if (Auth::guest()) { return redirect("/"); }
if (!Auth::user()->admin) { return redirect("/"); }
public function setcurrent($new_season_id)
{
if (Auth::guest()) {
return redirect("/");
}
if (!Auth::user()->admin) {
return redirect("/");
}
Season::setCurrent($new_season_id);
return redirect("/seasons");
}
public function set_winner( $userId, $quotaName) {
if (Auth::guest()) { return redirect("/"); }
if (!Auth::user()->admin) { return redirect("/"); }
ManualPayout::setWinner( $userId, $quotaName);
return redirect('/seasons');
}
}

View file

@ -3,8 +3,36 @@
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Season;
use App\User;
class ManualPayout extends Model
{
//
protected $fillable = [
'season_id','quota_name','user_id'
];
public static function getWinner($quotaName) {
$season = Season::getCurrent();
$entry = ManualPayout::where('season_id','=', $season->id)->where('quota_name','=',$quotaName)->first();
if (!$entry) return null;
$user = User::where('id','=',$entry->user_id);
return $user->first();
}
public static function setWinner( $userId, $quotaName) {
$season = Season::getCurrent();
$entry = ManualPayout::where('season_id','=',$season->id)->where('quota_name','=',$quotaName)->first();
if (!$entry) {
$entry = new ManualPayout;
$entry->user_id = $userId;
$entry->season_id = $season->id;
$entry->quota_name = $quotaName;
}
$entry->user_id = $userId;
$entry->save();
}
}

View file

@ -219,6 +219,15 @@ class User extends Authenticatable
return $userlist;
}
public static function getActivesSortedByName($seasonId=-1) {
$users = User::getActives($seasonId);
usort($users, array("App\User","cmpName"));
return $users;
}
public static function cmpName($user1, $user2) {
return ($user1['lastname']." ".$user1['firstname'] > $user2['lastname']." ".$user2['firstname']);
}
public static function isDeleted($user_id) {
$user=User::where('id','=',$user_id)->first();