X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fhelpers%2Fpermissions.js;h=b1de05180d2b1b9ea04f83a4921a9cbd56190162;hb=4f4b2fd64141cbbff953881e2705602a00b85df5;hp=cde0d05d7fd293f7114b6d7553ffb1144a9ffaa6;hpb=3a774bb649734fc3a2135ec1b52cef9a049880ee;p=alttp.git diff --git a/resources/js/helpers/permissions.js b/resources/js/helpers/permissions.js index cde0d05..b1de051 100644 --- a/resources/js/helpers/permissions.js +++ b/resources/js/helpers/permissions.js @@ -58,6 +58,18 @@ export const mayApply = (user, tournament) => user && tournament && tournament.accept_applications && !isRunner(user, tournament) && !isApplicant(user, tournament); +export const mayHandleApplications = (user, tournament) => + tournament && tournament.accept_applications && isTournamentAdmin(user, tournament); + +export const mayReportResult = (user, tournament) => { + if (!user || !tournament) return false; + if (tournament.type === 'open-async') return true; + return isRunner(user, tournament); +}; + +export const mayEditRound = (user, tournament) => + !tournament.locked && isTournamentAdmin(user, tournament); + export const mayLockRound = (user, tournament) => !tournament.locked && isTournamentAdmin(user, tournament); @@ -65,6 +77,9 @@ export const maySetSeed = (user, tournament, round) => !round.locked && (isRunner(user, tournament) || isTournamentAdmin(user, tournament)); +export const mayUpdateTournament = (user, tournament) => + isAdmin(user) || isTournamentAdmin(user, tournament); + export const mayViewProtocol = (user, tournament) => isTournamentCrew(user, tournament); @@ -72,7 +87,6 @@ export const maySeeResults = (user, tournament, round) => round.locked || hasFinished(user, round) || isTournamentMonitor(user, tournament) || - (isTournamentAdmin(user, tournament) && !isRunner(user, tournament)) || Round.isComplete(tournament, round); // Users