diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index d99b6b292..231167c32 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.3.14", + "version": "3.3.15", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index 76a4f313b..251296356 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -301,15 +301,17 @@ class UserDetailHandler extends Handler { const pdocs: ProblemDoc[] = []; const acInfo: Record = {}; const canViewHidden = this.user.hasPerm(PERM.PERM_VIEW_PROBLEM_HIDDEN) || this.user._id; - await Promise.all([domainId, ...(union?.union || [])].map(async (did) => { - const psdocs = await problem.getMultiStatus(did, { uid, status: STATUS.STATUS_ACCEPTED }).toArray(); - pdocs.push(...Object.values( - await problem.getList( - did, psdocs.map((i) => i.docId), canViewHidden, - this.user.group, false, undefined, true, - ), - )); - })); + if (this.user.hasPerm(PERM.PERM_VIEW_PROBLEM)) { + await Promise.all([domainId, ...(union?.union || [])].map(async (did) => { + const psdocs = await problem.getMultiStatus(did, { uid, status: STATUS.STATUS_ACCEPTED }).toArray(); + pdocs.push(...Object.values( + await problem.getList( + did, psdocs.map((i) => i.docId), canViewHidden, + this.user.group, false, problem.PROJECTION_LIST, true, + ), + )); + })); + } for (const pdoc of pdocs) { for (const tag of pdoc.tag) { if (acInfo[tag]) acInfo[tag]++; diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 4e8b305f7..6a7180b6f 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.30.4", + "version": "4.30.5", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js", diff --git a/packages/ui-default/templates/components/problem.html b/packages/ui-default/templates/components/problem.html index 72e5e6833..d00f7bb7e 100644 --- a/packages/ui-default/templates/components/problem.html +++ b/packages/ui-default/templates/components/problem.html @@ -3,7 +3,7 @@ {% set _linkArgs = { pid:pdoc.pid|default(pdoc.docId) } %} {% if tdoc %}{{ set(_linkArgs, 'query', {tid:tdoc.docId}) }}{% endif %} {% if pdoc.domainId !== handler.domainId %}{{ set(_linkArgs, 'domainId', pdoc.domainId) }}{% endif %} - + {%- endif -%} {%- if pdoc.domainId !== handler.domainId -%} {{ pdoc.domainId }}# diff --git a/packages/ui-default/templates/components/sidemenu.html b/packages/ui-default/templates/components/sidemenu.html index e077b349d..57ec347a5 100644 --- a/packages/ui-default/templates/components/sidemenu.html +++ b/packages/ui-default/templates/components/sidemenu.html @@ -1,4 +1,4 @@ -{% macro render_item(icon_name, page_name, args={}, label=none, menu_item=none) %} +{% macro render_item(icon_name, page_name, args={}, label=none, menu_item) %} {% set target_url = url(page_name, args) if page_name else '#' %}