diff --git a/packages/hydrooj/src/handler/domain.ts b/packages/hydrooj/src/handler/domain.ts index 33a7963b1..2ed9a5f00 100644 --- a/packages/hydrooj/src/handler/domain.ts +++ b/packages/hydrooj/src/handler/domain.ts @@ -99,14 +99,6 @@ class DomainEditHandler extends ManageHandler { await domain.edit(args.domainId, $set); this.response.redirect = this.url('domain_dashboard'); } - - @requireSudo - async postDelete({ domainId }) { - if (domainId === 'system') throw new CannotDeleteSystemDomainError(); - if (this.domain.owner !== this.user._id) throw new OnlyOwnerCanDeleteDomainError(); - await domain.del(domainId); - this.response.redirect = this.url('home_domain', { domainId: 'system' }); - } } class DomainDashboardHandler extends ManageHandler { @@ -129,6 +121,14 @@ class DomainDashboardHandler extends ManageHandler { } this.back(); } + + @requireSudo + async postDelete({ domainId }) { + if (domainId === 'system') throw new CannotDeleteSystemDomainError(); + if (this.domain.owner !== this.user._id) throw new OnlyOwnerCanDeleteDomainError(); + await domain.del(domainId); + this.response.redirect = this.url('home_domain', { domainId: 'system' }); + } } class DomainUserHandler extends ManageHandler { diff --git a/packages/ui-default/templates/domain_dashboard.html b/packages/ui-default/templates/domain_dashboard.html index 7dd011e36..f771df3b6 100644 --- a/packages/ui-default/templates/domain_dashboard.html +++ b/packages/ui-default/templates/domain_dashboard.html @@ -26,4 +26,20 @@ +{% if handler.user._id == owner._id %} +
+
+

{{ _('Delete Domain') }}

+
+
+
+ + +
+
+
+
+
+
+{% endif %} {% endblock %} diff --git a/packages/ui-default/templates/domain_edit.html b/packages/ui-default/templates/domain_edit.html index da349ec5e..b312beb5f 100644 --- a/packages/ui-default/templates/domain_edit.html +++ b/packages/ui-default/templates/domain_edit.html @@ -3,18 +3,4 @@
{% include "partials/setting.html" %}
-
-
-

{{ _('Delete Domain') }}

-
-
-
- - -
-
-
-
-
-
{% endblock %}