Same mistake for domain removal :p

see #389
This commit is contained in:
Antoine Nguyen
2013-06-04 14:43:04 +02:00
parent 8fc10df639
commit 119c530176
5 changed files with 13 additions and 16 deletions
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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"
})
+1 -3
View File
@@ -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)
+1 -1
View File
@@ -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
View File
@@ -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})