From 672b0b32a68cd2afa8240a6405acf972c865fde4 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 14 Apr 2023 12:20:13 +0800 Subject: [PATCH] core&ui: training: pin level --- packages/hydrooj/src/handler/training.ts | 9 ++++----- packages/hydrooj/src/interface.ts | 2 +- packages/hydrooj/src/model/training.ts | 3 ++- packages/hydrooj/src/upgrade.ts | 5 +++++ packages/ui-default/templates/training_edit.html | 10 ++++------ 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/packages/hydrooj/src/handler/training.ts b/packages/hydrooj/src/handler/training.ts index b565581e..ef021706 100644 --- a/packages/hydrooj/src/handler/training.ts +++ b/packages/hydrooj/src/handler/training.ts @@ -202,20 +202,19 @@ class TrainingEditHandler extends Handler { @param('title', Types.Title) @param('content', Types.Content) @param('dag', Types.Content) - @param('pin', Types.Boolean) + @param('pin', Types.UnsignedInt) @param('description', Types.Content) async post( domainId: string, tid: ObjectId, title: string, content: string, - _dag: string, pin = false, description: string, + _dag: string, pin = 0, description: string, ) { - if ((!!this.tdoc?.pin) !== pin) this.checkPerm(PERM.PERM_PIN_TRAINING); + if ((!!this.tdoc?.pin) !== (!!pin)) this.checkPerm(PERM.PERM_PIN_TRAINING); const dag = await _parseDagJson(domainId, _dag); const pids = training.getPids(dag); assert(pids.length, new ValidationError('dag', null, 'Please specify at least one problem')); if (!tid) { - tid = await training.add(domainId, title, content, this.user._id, dag, description); - if (pin) await training.edit(domainId, tid, { pin }); + tid = await training.add(domainId, title, content, this.user._id, dag, description, pin); } else { await training.edit(domainId, tid, { title, content, dag, description, pin, diff --git a/packages/hydrooj/src/interface.ts b/packages/hydrooj/src/interface.ts index 700fd252..9d0f77c6 100644 --- a/packages/hydrooj/src/interface.ts +++ b/packages/hydrooj/src/interface.ts @@ -411,7 +411,7 @@ export interface Tdoc
-
+
-
+