mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Merge pull request #1413 from modoboa/fix/domain_quota_list_pagination
Load next page of the right type.
This commit is contained in:
@@ -161,6 +161,24 @@ Domains.prototype = {
|
||||
$(document).trigger('domain_listing_refresh');
|
||||
},
|
||||
|
||||
/**
|
||||
* Add a type to let the server know what kind of object we expect.
|
||||
*
|
||||
* @this Listing
|
||||
*/
|
||||
get_load_page_args: function() {
|
||||
var args = Admin.prototype.get_load_page_args.call(this);
|
||||
|
||||
if (this.navobj.getbaseurl() === "list") {
|
||||
args.objtype = "domain";
|
||||
this.options.eor_message = gettext("No more domain to show");
|
||||
} else {
|
||||
args.objtype = "quota";
|
||||
this.options.eor_message = gettext("No more quota to show");
|
||||
}
|
||||
return args;
|
||||
},
|
||||
|
||||
/**
|
||||
* Navigation callback: default.
|
||||
*
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
admin = new Domains({
|
||||
load_page_url: "{% url 'admin:_domain_list' %}"
|
||||
load_page_url: "{% url 'admin:domain_page' %}"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -356,6 +356,14 @@ class DomainTestCase(ModoTestCase):
|
||||
self.assertNotIn("Global statistics", content)
|
||||
self.assertIn("Per-domain statistics", content)
|
||||
|
||||
def test_page_loader(self):
|
||||
"""Test page loader view."""
|
||||
url = reverse("admin:domain_page")
|
||||
response = self.ajax_get(url)
|
||||
self.assertIn("handle_mailboxes", response)
|
||||
response = self.ajax_get("{}?objtype=quota".format(url))
|
||||
self.assertIn("progress-bar", response["rows"])
|
||||
|
||||
|
||||
class DKIMTestCase(ModoTestCase):
|
||||
"""Test case for DKIM."""
|
||||
|
||||
@@ -31,6 +31,8 @@ urlpatterns = [
|
||||
name="domain_change"),
|
||||
url(r'^domains/(?P<dom_id>\d+)/delete/$', domain_views.deldomain,
|
||||
name="domain_delete"),
|
||||
url(r'^domains/page/$', domain_views.get_next_page,
|
||||
name="domain_page"),
|
||||
]
|
||||
|
||||
urlpatterns += [
|
||||
|
||||
@@ -108,6 +108,19 @@ def domains(request, tplname="admin/domains.html"):
|
||||
})
|
||||
|
||||
|
||||
@login_required
|
||||
@user_passes_test(
|
||||
lambda u: u.has_perm("admin.view_domains") or
|
||||
u.has_perm("admin.view_mailboxes") or
|
||||
u.has_perm("admin.add_domain")
|
||||
)
|
||||
def get_next_page(request):
|
||||
"""Return the next page of the domain or quota list."""
|
||||
if request.GET.get("objtype", "domain") == "domain":
|
||||
return _domains(request)
|
||||
return list_quotas(request)
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required("core.add_user")
|
||||
def domains_list(request):
|
||||
|
||||
Reference in New Issue
Block a user