diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 810314b86..347e0550a 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.20.39", + "version": "2.20.40", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/training.ts b/packages/hydrooj/src/handler/training.ts index e7dec5a0e..231192fc5 100644 --- a/packages/hydrooj/src/handler/training.ts +++ b/packages/hydrooj/src/handler/training.ts @@ -157,6 +157,14 @@ class TrainingDetailHandler extends Handler { await training.enroll(domainId, tdoc.docId, this.user._id); this.back(); } + + @param('tid', Types.ObjectID) + async postDelete(domainId: string, tid: ObjectID) { + const tdoc = await training.get(domainId, tid); + if (tdoc.owner !== this.user._id) this.checkPerm(PERM.PERM_EDIT_TRAINING); + await training.del(domainId, tid); + this.response.redirect = this.url('training_main'); + } } class TrainingCreateHandler extends Handler {