Skip to content

Commit 4ebd5ff

Browse files
authored
Merge pull request #79 from codemate-oj/feat/luckycv/batchApproval
feat: add batch approval operation
2 parents bb80f84 + b769ec7 commit 4ebd5ff

3 files changed

Lines changed: 29 additions & 1 deletion

File tree

packages/hydrooj/src/handler/problem.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,26 @@ export class ProblemMainHandler extends Handler {
418418
}
419419
this.back();
420420
}
421+
422+
@param('pids', Types.NumericArray)
423+
async postApproval(domainId: string, pids: number[]) {
424+
this.checkPerm(PERM.PERM_REVIEW_PROBLEM);
425+
for (const pid of pids) {
426+
// eslint-disable-next-line no-await-in-loop
427+
await problem.edit(domainId, pid, { approved: true });
428+
}
429+
this.back();
430+
}
431+
432+
@param('pids', Types.NumericArray)
433+
async postUnapproval(domainId: string, pids: number[]) {
434+
this.checkPerm(PERM.PERM_REVIEW_PROBLEM);
435+
for (const pid of pids) {
436+
// eslint-disable-next-line no-await-in-loop
437+
await problem.edit(domainId, pid, { approved: false });
438+
}
439+
this.back();
440+
}
421441
}
422442

423443
export class ProblemRandomHandler extends Handler {

packages/ui-default/pages/problem_main.page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ const page = new NamedPage(['problem_main'], () => {
305305
$(document).on('click', '[name="enter-edit-mode"]', () => {
306306
$body.removeClass('display-mode').addClass('edit-mode');
307307
});
308-
for (const op of ['delete', 'hide', 'unhide', 'copy']) {
308+
for (const op of ['delete', 'hide', 'unhide', 'copy', 'approval', 'unapproval']) {
309309
$(document).on('click', `[name="${op}_selected_problems"]`, () => handleOperation(op));
310310
}
311311
$(document).on('click', '[name="download_selected_problems"]', handleDownload);

packages/ui-default/templates/problem_main.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@
4242
<span class="icon icon-check"></span>
4343
{{ _('Unhide Selected') }}
4444
</a>
45+
<a href="javascript:;" class="menu__link display-mode-hide" name="unapproval_selected_problems">
46+
<span class="icon icon-close"></span>
47+
纳入审核选中
48+
</a>
49+
<a href="javascript:;" class="menu__link display-mode-hide" name="approval_selected_problems">
50+
<span class="icon icon-check"></span>
51+
通过审核选中
52+
</a>
4553
<a href="javascript:;" class="menu__link display-mode-hide" name="download_selected_problems">
4654
<span class="icon icon-download"></span>
4755
{{ _('Download Selected') }}

0 commit comments

Comments
 (0)