From 4bb1e3a81f649f6e28369d6ad85282c198ed77cb Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 30 Jun 2023 01:06:19 +0800 Subject: [PATCH] core&ui: fix group filter display --- packages/hydrooj/src/handler/contest.ts | 2 +- packages/hydrooj/src/handler/homework.ts | 2 +- packages/ui-default/locales/zh.yaml | 1 + packages/ui-default/templates/contest_main.html | 7 ++++--- packages/ui-default/templates/homework_main.html | 5 ++++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index b2ff40d61..d0152566a 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -77,7 +77,7 @@ export class ContestListHandler extends Handler { @param('page', Types.PositiveInt, true) async get(domainId: string, rule = '', group = '', page = 1) { if (rule && contest.RULES[rule].hidden) throw new BadRequestError(); - const groups = (await user.listGroup(domainId, this.user._id)).map((i) => i.name); + const groups = (await user.listGroup(domainId, this.user._id)).map((i) => i.name).filter((i) => !Number.isSafeInteger(+i)); if (group && !groups.includes(group)) throw new NotAssignedError(group); const rules = Object.keys(contest.RULES).filter((i) => !contest.RULES[i].hidden); const q = { diff --git a/packages/hydrooj/src/handler/homework.ts b/packages/hydrooj/src/handler/homework.ts index ca767dba9..87cbb017a 100644 --- a/packages/hydrooj/src/handler/homework.ts +++ b/packages/hydrooj/src/handler/homework.ts @@ -24,7 +24,7 @@ class HomeworkMainHandler extends Handler { @param('group', Types.Name, true) @param('page', Types.PositiveInt, true) async get(domainId: string, group = '', page = 1) { - const groups = (await user.listGroup(domainId, this.user._id)).map((i) => i.name); + const groups = (await user.listGroup(domainId, this.user._id)).map((i) => i.name).filter((i) => !Number.isSafeInteger(+i)); if (group && !groups.includes(group)) throw new NotAssignedError(group); const cursor = contest.getMulti(domainId, { rule: 'homework', diff --git a/packages/ui-default/locales/zh.yaml b/packages/ui-default/locales/zh.yaml index 666a1151b..f2ab458a8 100644 --- a/packages/ui-default/locales/zh.yaml +++ b/packages/ui-default/locales/zh.yaml @@ -555,6 +555,7 @@ New: 创建 No {0} at current.: 当前没有{0}。 No comments so far...: 目前还没有评论... No discussion yet...: 目前没有讨论… +No group available: 没有可用小组 No Permission to Attend Contest: 您没有权限参加比赛 No Permission to Claim Homework: 您没有权限认领作业 No Permission to Create a Discussion: 您没有权限创建讨论 diff --git a/packages/ui-default/templates/contest_main.html b/packages/ui-default/templates/contest_main.html index 1eab8d1fc..ee73ff80d 100644 --- a/packages/ui-default/templates/contest_main.html +++ b/packages/ui-default/templates/contest_main.html @@ -60,14 +60,15 @@
{{ _('Show') }}: - {% if groups.length %} - {% endif %} {%- for g in groups -%} - + {%- endfor -%} + {%- if not groups|length -%} + + {%- endif -%}