ui: remove incomplete uninvite key

pull/472/head
undefined 2 years ago
parent be30945487
commit ae4800b779

@ -218,12 +218,8 @@ export class ContestDetailHandler extends Handler {
@param('code', Types.String, true)
async postAttend(domainId: string, tid: ObjectID, code = '') {
if (contest.isDone(this.tdoc)) throw new ContestNotLiveError(tid);
if (this.tdoc._code && code !== this.tdoc._code && !this.tdoc.uninvite) throw new InvalidTokenError('Contest Invitation', code);
await contest.attend(
domainId, tid, this.user._id,
(this.tdoc._code && code !== this.tdoc._code && this.tdoc.uninvite)
? { unrank: true } : {},
);
if (this.tdoc._code && code !== this.tdoc._code) throw new InvalidTokenError('Contest Invitation', code);
await contest.attend(domainId, tid, this.user._id);
this.back();
}
}
@ -411,13 +407,12 @@ export class ContestEditHandler extends Handler {
@param('lock', Types.UnsignedInt, true)
@param('contestDuration', Types.Float, true)
@param('maintainer', Types.NumericArray, true)
@param('uninvite', Types.Boolean, true)
@param('allowViewCode', Types.Boolean, true)
async postUpdate(
domainId: string, tid: ObjectID, beginAtDate: string, beginAtTime: string, duration: number,
title: string, content: string, rule: string, _pids: string, rated = false,
_code = '', autoHide = false, assign: string[] = null, lock: number = null,
contestDuration: number = null, maintainer: number[] = null, uninvite = false, allowViewCode = true,
contestDuration: number = null, maintainer: number[] = null, allowViewCode = true,
) {
if (autoHide) this.checkPerm(PERM.PERM_EDIT_PROBLEM);
const pids = _pids.replace(//g, ',').split(',').map((i) => +i).filter((i) => i);
@ -458,7 +453,7 @@ export class ContestEditHandler extends Handler {
});
}
await contest.edit(domainId, tid, {
assign, _code, autoHide, lockAt, maintainer, uninvite, allowViewCode,
assign, _code, autoHide, lockAt, maintainer, allowViewCode,
});
this.response.body = { tid };
this.response.redirect = this.url('contest_detail', { tid });

@ -367,7 +367,6 @@ export interface Tdoc<docType = document['TYPE_CONTEST'] | document['TYPE_TRAINI
lockAt?: Date;
unlocked?: boolean;
autoHide?: boolean;
uninvite?: boolean;
/**
* In hours

@ -35,7 +35,7 @@
<p>{{ _('The contest is a flexible time contest. You need to complete the contest within a specified time after you attended.') }}</p>
</blockquote>
{% endif %}
{% if tdoc.code and tdoc.uninvite %}
{% if tdoc.code %}
<blockquote class="note">
<p>{{ _('The contest is a invitational contest. However it allow users attend contest without the invitation code. Those users will not be ranked.') }}</p>
</blockquote>

@ -117,21 +117,13 @@
</div>
<div style="display: none" data-perm="invite">
{{ form.form_text({
columns:6,
columns:9,
label:'Invitation Code',
name:'code',
placeholder:_('(leave blank if none)'),
value:tdoc._code|default(''),
disabled:true,
row:false
}) }}
{{ form.form_checkbox({
columns:3,
label:'Allow unranked attendance',
name:'uninvite',
placeholder:_("Allow user who doesn't have a invitation code join unranked"),
value:tdoc.uninvite|default(true),
row:false
}) }}
</div>
</div>

Loading…
Cancel
Save