'round_number' => $pick['number'],
'group' => $pick['group'],
]);
- Protocol::groupAssignment($tournament, $user, $picks, $user);
}
+ Protocol::groupAssignment($tournament, $user, $picks, $user);
}
return GroupAssignment::query()
->whereBelongsTo($tournament)
- ->whereBelongsTo($$user)
+ ->whereBelongsTo($user)
->get()
->toJson();
}
return $this->belongsTo(User::class);
}
+ protected $casts = [
+ 'user_id' => 'string',
+ ];
+
+ protected $fillable = [
+ 'group',
+ 'round_number',
+ 'tournament_id',
+ 'user_id',
+ ];
+
}
}
public function pickGroup($number, User $user) {
- $available_rounds = $this->round()->where('number', '=', $number)->get();
+ $available_rounds = $this->rounds()->where('number', '=', $number)->get();
$assigned_groups = $this->group_assignments()->where('round_number', '=', $number)->get();
$weights = array();
foreach ($available_rounds as $round) {
return entry.details.result.comment;
};
+const getEntryDetailsPicks = entry => {
+ if (!entry?.details?.picks?.length) {
+ return '';
+ }
+ return entry.details.picks.map(p => `${p.number}${p.group}`).join(', ');
+}
+
const getEntryResultTime = entry => {
if (!entry || !entry.details || !entry.details.result) return 'ERROR';
const result = entry.details.result;
username: getEntryDetailsUsername(entry),
},
);
+ case 'group.assign':
+ return t(
+ `protocol.description.${entry.type}`,
+ {
+ ...entry,
+ picks: getEntryDetailsPicks(entry),
+ username: getEntryDetailsUsername(entry),
+ },
+ );
case 'result.comment': {
const comment = getEntryResultComment(entry);
const number = getEntryRoundNumber(entry);
export const missingGroupAssignment = (tournament, user) => {
if (!user) return true;
- if (!tournament?.group_assignments?.length) return false;
if (!tournament.rounds?.length) return false;
+ if (!tournament?.group_assignments?.length) return true;
const gas = tournament.group_assignments;
const rns = tournament.rounds.map(r => r.number).filter(unique);
for (let i = 0; i < rns.length; ++i) {
received: 'Anmeldung von {{username}} erhalten',
rejected: 'Anmeldung von {{username}} abgelehnt',
},
+ group: {
+ assign: 'Gruppen {{picks}} für {{username}} zugewiesen',
+ },
result: {
comment: 'Ergebnis von Runde {{number}} kommentiert: <1>{{comment}}</1>',
report: 'Ergebnis von <1>{{time}}</1> bei Runde {{number}} eingetragen',
received: 'Application from {{username}} received',
rejected: 'Application from {{username}} rejected',
},
+ group: {
+ assign: 'Assigned groups {{picks}} for {{username}}',
+ },
result: {
comment: 'Result of round {{number}} commented: <1>{{comment}}</1>',
report: 'Result of <1>{{time}}</1> reported for round {{number}}',