mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-20 06:08:35 +02:00
@@ -115,7 +115,7 @@ Domains.prototype = {
|
||||
|
||||
$("a[name=deldomain]").confirm({
|
||||
question: gettext("Delete this domain?"),
|
||||
method: "DELETE",
|
||||
method: "POST",
|
||||
warning: warnmsg,
|
||||
checkboxes: deloptions,
|
||||
success_cb: $.proxy(this.reload_listing, this)
|
||||
|
||||
@@ -174,7 +174,7 @@ def domain_actions(user, domid):
|
||||
if user.has_perm("admin.delete_domain"):
|
||||
actions.append({
|
||||
"name": "deldomain",
|
||||
"url": reverse("modoboa.admin.views.deldomain") + "?selection=%s" % domid,
|
||||
"url": reverse("modoboa.admin.views.deldomain", args=[domid]),
|
||||
"title": _("Delete the domain"),
|
||||
"img": "icon-trash"
|
||||
})
|
||||
|
||||
@@ -71,9 +71,7 @@ class DomainTestCase(ModoTestCase):
|
||||
def test_delete(self):
|
||||
"""Test the removal of a domain
|
||||
"""
|
||||
self.check_ajax_get(reverse("modoboa.admin.views.deldomain"), {
|
||||
"selection": 1
|
||||
})
|
||||
self.check_ajax_get(reverse("modoboa.admin.views.deldomain", args=[1]), {})
|
||||
with self.assertRaises(Domain.DoesNotExist):
|
||||
Domain.objects.get(pk=1)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ urlpatterns = patterns(
|
||||
(r'^domains/flatlist/$', 'domains_list'),
|
||||
(r'^domains/new/', 'newdomain'),
|
||||
(r'^domains/(?P<dom_id>\d+)/edit/$', 'editdomain'),
|
||||
(r'^domains/delete/$', 'deldomain'),
|
||||
(r'^domains/(?P<dom_id>\d+)/delete/$', 'deldomain'),
|
||||
(r'^domains/import/$', 'import_domains'),
|
||||
(r'^domains/export/$', 'export_domains'),
|
||||
|
||||
|
||||
+9
-10
@@ -171,22 +171,21 @@ def editdomain(request, dom_id, tplname="admin/editdomainform.html"):
|
||||
@login_required
|
||||
@permission_required("admin.delete_domain")
|
||||
@transaction.commit_on_success
|
||||
def deldomain(request):
|
||||
selection = request.GET["selection"].split(",")
|
||||
keepdir = True if request.GET.get("keepdir", "false") == "true" else False
|
||||
def deldomain(request, dom_id):
|
||||
keepdir = True if request.POST.get("keepdir", "false") == "true" else False
|
||||
try:
|
||||
mb = Mailbox.objects.get(user__id=request.user.id)
|
||||
except Mailbox.DoesNotExist:
|
||||
mb = None
|
||||
|
||||
for dom in Domain.objects.filter(id__in=selection):
|
||||
if not request.user.can_access(dom):
|
||||
raise PermDeniedException
|
||||
if mb and mb.domain == dom:
|
||||
raise AdminError(_("You can't delete your own domain"))
|
||||
dom.delete(request.user, keepdir)
|
||||
dom = Domain.objects.get(pk=dom_id)
|
||||
if not request.user.can_access(dom):
|
||||
raise PermDeniedException
|
||||
if mb and mb.domain == dom:
|
||||
raise AdminError(_("You can't delete your own domain"))
|
||||
dom.delete(request.user, keepdir)
|
||||
|
||||
msg = ungettext("Domain deleted", "Domains deleted", len(selection))
|
||||
msg = ungettext("Domain deleted", "Domains deleted", 1)
|
||||
return ajax_simple_response({"status": "ok", "respmsg": msg})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user