From 8ed74053d5590914dea149b75b9470be1af90d16 Mon Sep 17 00:00:00 2001 From: panda Date: Mon, 30 Jun 2025 17:10:35 +0800 Subject: [PATCH] core: fix contest ghost export (#996) --- packages/hydrooj/src/handler/contest.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index e3a274eda..961a68d28 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -795,7 +795,7 @@ export async function apply(ctx: Context) { const escape = (i: string) => i.replace(/[",]/g, ''); const unknownSchool = this.translate('Unknown School'); const statusMap = { - [STATUS.STATUS_ACCEPTED]: 'AC', + [STATUS.STATUS_ACCEPTED]: 'OK', [STATUS.STATUS_WRONG_ANSWER]: 'WA', [STATUS.STATUS_COMPILE_ERROR]: 'CE', [STATUS.STATUS_TIME_LIMIT_EXCEEDED]: 'TL', @@ -820,8 +820,10 @@ export async function apply(ctx: Context) { ].concat( tdoc.pids.map((i, idx) => `@p ${pid(idx)},${escape(pdict[i]?.title || 'Unknown Problem')},20,0`), teams.map((i, idx) => { - const teamName = `${i.rank ? '*' : ''}${escape(udict[i.uid].school || unknownSchool)}-${escape(udict[i.uid].uname)}`; - return `@t ${idx + 1},0,1,${teamName}`; + const showName = this.user.hasPerm(PERM.PERM_VIEW_DISPLAYNAME) && udict[i.uid].displayName + ? udict[i.uid].displayName : udict[i.uid].uname; + const teamName = `${i.rank ? '*' : ''}${escape(udict[i.uid].school || unknownSchool)}-${escape(showName)}`; + return `@t ${idx + 1},0,1,"${teamName}"`; }), submissions, );