mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
ui: allow admin view contest problem (#419)
This commit is contained in:
1 parent
e06c86e9dd
commit
efbc3c0162
6 files changed
+10
-6
No files matched your search
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hydrooj",
|
||||
"version": "3.16.0",
|
||||
"version": "3.16.1",
|
||||
"bin": "bin/hydrooj.js",
|
||||
"main": "src/loader",
|
||||
"module": "src/loader",
|
||||
|
||||
@@ -127,7 +127,7 @@ export class ContestDetailHandler extends ContestDetailBaseHandler {
|
||||
.replace(/="file:\/\//g, `="./${this.tdoc.docId}/file/`);
|
||||
}
|
||||
if (
|
||||
(contest.isNotStarted(this.tdoc) || !this.tsdoc?.attend)
|
||||
(contest.isNotStarted(this.tdoc) || (!this.tsdoc?.attend && !contest.isDone(this.tdoc)))
|
||||
&& !this.user.own(this.tdoc)
|
||||
&& !this.user.hasPerm(PERM.PERM_VIEW_CONTEST_HIDDEN_SCOREBOARD)
|
||||
) return;
|
||||
|
||||
@@ -74,7 +74,7 @@ class HomeworkDetailHandler extends Handler {
|
||||
tdoc, tsdoc, udict, ddocs, page, dpcount, dcount,
|
||||
};
|
||||
if (
|
||||
(contest.isNotStarted(tdoc) || !tsdoc?.attend)
|
||||
(contest.isNotStarted(tdoc) || (!tsdoc?.attend && !contest.isDone(tdoc)))
|
||||
&& !this.user.own(tdoc)
|
||||
&& !this.user.hasPerm(PERM.PERM_VIEW_HOMEWORK_HIDDEN_SCOREBOARD)
|
||||
) return;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hydrooj/ui-default",
|
||||
"version": "4.39.9",
|
||||
"version": "4.39.10",
|
||||
"author": "undefined <i@undefined.moe>",
|
||||
"license": "AGPL-3.0",
|
||||
"main": "hydro.js",
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% set isAdmin = handler.user.own(tdoc) or handler.user.hasPerm(perm.PERM_VIEW_CONTEST_HIDDEN_SCOREBOARD) %}
|
||||
{% set ntdoc = model.contest.isDone(tdoc) or (tsdoc.attend and not model.contest.isNotStarted(tdoc)) %}
|
||||
{%- for pid in tdoc.pids -%}
|
||||
<tr>
|
||||
{% if handler.user.hasPriv(PRIV.PRIV_USER_PROFILE) %}
|
||||
@@ -78,7 +80,7 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<td class="col--problem col--problem-name">
|
||||
{% if model.contest.isNotStarted(tdoc) %}
|
||||
{% if isAdmin and not ntdoc %}
|
||||
{{ problem.render_problem_title(pdict[pid], show_invisible_flag=false, show_tags=false) }}
|
||||
{% else %}
|
||||
{{ problem.render_problem_title(pdict[pid], tdoc=tdoc, show_invisible_flag=false, show_tags=false) }}
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% set isAdmin = handler.user.own(tdoc) or handler.user.hasPerm(perm.PERM_VIEW_HOMEWORK_HIDDEN_SCOREBOARD) %}
|
||||
{% set ntdoc = model.contest.isDone(tdoc) or (tsdoc.attend and not model.contest.isNotStarted(tdoc)) %}
|
||||
{%- for pid in tdoc.pids -%}
|
||||
<tr>
|
||||
{% if handler.user.hasPriv(PRIV.PRIV_USER_PROFILE) %}
|
||||
@@ -53,7 +55,7 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<td class="col--problem col--problem-name">
|
||||
{% if model.contest.isNotStarted(tdoc) %}
|
||||
{% if isAdmin and not ntdoc %}
|
||||
{{ problem.render_problem_title(pdict[pid], show_invisible_flag=false, show_tags=false) }}
|
||||
{% else %}
|
||||
{{ problem.render_problem_title(pdict[pid], tdoc=tdoc, show_invisible_flag=false, show_tags=false) }}
|
||||
|
||||
Reference in new issue
Block a user