Compare commits

..
Author SHA1 Message Date
imperosol aedfbf948e fix: htmx:after:swap was still using old syntax 2026-09-20 23:07:09 +02:00
thomas girod 994130550a Merge pull request #1492 from ae-utbm/fix-pagination
fix: broken matmat pagination
2026-09-20 22:28:48 +02:00
imperosol 44071f91f6 fix: broken matmat pagination 2026-09-20 22:26:27 +02:00
6 changed files with 17 additions and 8 deletions
@@ -123,14 +123,14 @@ document.addEventListener("alpine:init", () => {
onRefillingSuccess(event: CustomEvent) {
if (
event.type !== "htmx:after-swap" ||
event.detail.failed ||
event.detail.elt.querySelector(".errorlist")
event.type !== "htmx:after:swap" ||
event.detail.ctx.response.status !== 200 ||
event.detail.ctx.target.querySelector(".errorlist")
) {
return;
}
this.customerBalance += Number.parseFloat(
(event.detail.target.querySelector("#id_amount") as HTMLInputElement).value,
(event.detail.ctx.target.querySelector("#id_amount") as HTMLInputElement).value,
);
document.getElementById("selling-accordion")?.setAttribute("open", "");
this.codeField?.widget.focus();
@@ -186,7 +186,7 @@
{% if refilling_fragment %}
<div
class="accordion-content"
@htmx:after-swap="onRefillingSuccess"
@htmx:after:swap="onRefillingSuccess"
>
{{ refilling_fragment }}
</div>
@@ -60,7 +60,7 @@
</p>
<br>
{% if settings.SITH_EBOUTIC_CB_ENABLED %}
<div @htmx:after-request="fill">
<div @htmx:after:request="fill">
{{ billing_infos_form }}
</div>
{% endif %}
+1 -1
View File
@@ -25,7 +25,7 @@
{% endfor %}
</div>
{% if page_obj.has_other_pages() %}
{{ paginate_htmx(page_obj, paginator) }}
{{ paginate_htmx(request, page_obj, paginator) }}
{% endif %}
<hr>
{% endif %}
+10
View File
@@ -58,3 +58,13 @@ class TestMatmatronch(TestCase):
assert list(response.context_data["object_list"]) == []
assert not response.context_data["form"].is_valid()
assert "Recherche vide" in response.context_data["form"].non_field_errors()
def test_search_many_users(self):
"""Test that the pagination works when a lot of users are returned."""
baker.make(User, promo=17, _quantity=40, _bulk_create=True)
self.client.force_login(subscriber_user.make())
response = self.client.get(reverse("matmat:search", query={"promo": 17}))
assert response.status_code == 200
assert response.context_data["paginator"].count == 43
assert response.context_data["paginator"].num_pages == 3
-1
View File
@@ -20,7 +20,6 @@
# Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
from django.db.models import F
from django.views.generic import ListView
from django.views.generic.edit import FormMixin