mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
ui: fix assign text & core: allow owner get homework detail (#345)
This commit is contained in:
1 parent
de9426a7fc
commit
59f1b4e429
7 files changed
+8
-4
No files matched your search
@@ -83,7 +83,7 @@ export class ContestDetailHandler extends Handler {
|
||||
@param('page', Types.PositiveInt, true)
|
||||
async prepare(domainId: string, tid: ObjectID) {
|
||||
const tdoc = await contest.get(domainId, tid);
|
||||
if (tdoc.assign?.length) {
|
||||
if (tdoc.assign?.length && !this.user.own(tdoc)) {
|
||||
const groups = await user.listGroup(domainId, this.user._id);
|
||||
if (!Set.intersection(tdoc.assign, groups.map((i) => i.name)).size) {
|
||||
throw new ForbiddenError('You are not assigned.');
|
||||
|
||||
@@ -61,7 +61,7 @@ class DiscussionHandler extends Handler {
|
||||
// TODO(twd2): exclude problem/contest discussions?
|
||||
// TODO(iceboy): continuation based pagination.
|
||||
this.vnode = await discussion.getVnode(domainId, typeMapper[type], name, this.user._id);
|
||||
if (this.vnode.assign?.length) {
|
||||
if (this.vnode.assign?.length && !this.user.own(this.vnode)) {
|
||||
if (!Set.intersection(this.vnode.assign, this.user.group).size) {
|
||||
throw new PermissionError(PERM.PERM_VIEW_PROBLEM_HIDDEN);
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ class HomeworkDetailHandler extends Handler {
|
||||
async prepare(domainId: string, tid: ObjectID) {
|
||||
const tdoc = await contest.get(domainId, tid);
|
||||
if (tdoc.rule !== 'homework') throw new ContestNotFoundError(domainId, tid);
|
||||
if (tdoc.assign?.length) {
|
||||
if (tdoc.assign?.length && !this.user.own(tdoc)) {
|
||||
if (!Set.intersection(tdoc.assign, this.user.group).size) {
|
||||
throw new ForbiddenError('You are not assigned.');
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@ Any user is allowed to join this domain: 任意用户都可以加入此域
|
||||
API: API
|
||||
Argument {0} is invalid.: 非法的参数 {0} 。
|
||||
Arguments: 参数
|
||||
Assign: 分配给
|
||||
At least 4 characters: 至少 4 个字符
|
||||
Attend Contest: 参加比赛
|
||||
Attend contests: 参加比赛
|
||||
@@ -336,6 +337,7 @@ fs_upload: 上传文件
|
||||
Gender Visibility: 性别可见性
|
||||
Gender: 性别
|
||||
Gravatar URL Prefix: Gravatar地址前缀
|
||||
Group / UID: 小组或 UID
|
||||
Group Name: 名称
|
||||
Hard Deadline: 最终截止时间
|
||||
Hash: 散列
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
columns:4,
|
||||
label:'Assign',
|
||||
name:'assign',
|
||||
placeholder:_('Group / UID'),
|
||||
value:tdoc.assign|default(''),
|
||||
row:false
|
||||
}) }}
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
columns:4,
|
||||
label:'Assign',
|
||||
name:'assign',
|
||||
placeholder:_('Group / UID'),
|
||||
value:tdoc.assign|default('')
|
||||
}) }}
|
||||
</div>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
row:false,
|
||||
columns:3,
|
||||
label:'Assign',
|
||||
help_text:'Assigned groups',
|
||||
placeholder:_('Group / UID'),
|
||||
name:'assign',
|
||||
value:pdoc.assign|default([])|join(', ')
|
||||
}) }}
|
||||
|
||||
Reference in new issue
Block a user