Compare commits

..
Author SHA1 Message Date
thomas girod 6a6ed5462f Merge pull request #1491 from ae-utbm/taiste
Python 3.14, HTMX4, client-side markdown, pedagogy rework and others
2026-09-18 19:19:48 +02:00
thomas girod d914fa0658 Merge pull request #1463 from ae-utbm/taiste
Pre school year release
2026-08-25 22:37:49 +02:00
6 changed files with 8 additions and 17 deletions
@@ -123,14 +123,14 @@ document.addEventListener("alpine:init", () => {
onRefillingSuccess(event: CustomEvent) { onRefillingSuccess(event: CustomEvent) {
if ( if (
event.type !== "htmx:after:swap" || event.type !== "htmx:after-swap" ||
event.detail.ctx.response.status !== 200 || event.detail.failed ||
event.detail.ctx.target.querySelector(".errorlist") event.detail.elt.querySelector(".errorlist")
) { ) {
return; return;
} }
this.customerBalance += Number.parseFloat( this.customerBalance += Number.parseFloat(
(event.detail.ctx.target.querySelector("#id_amount") as HTMLInputElement).value, (event.detail.target.querySelector("#id_amount") as HTMLInputElement).value,
); );
document.getElementById("selling-accordion")?.setAttribute("open", ""); document.getElementById("selling-accordion")?.setAttribute("open", "");
this.codeField?.widget.focus(); this.codeField?.widget.focus();
@@ -186,7 +186,7 @@
{% if refilling_fragment %} {% if refilling_fragment %}
<div <div
class="accordion-content" class="accordion-content"
@htmx:after:swap="onRefillingSuccess" @htmx:after-swap="onRefillingSuccess"
> >
{{ refilling_fragment }} {{ refilling_fragment }}
</div> </div>
@@ -60,7 +60,7 @@
</p> </p>
<br> <br>
{% if settings.SITH_EBOUTIC_CB_ENABLED %} {% if settings.SITH_EBOUTIC_CB_ENABLED %}
<div @htmx:after:request="fill"> <div @htmx:after-request="fill">
{{ billing_infos_form }} {{ billing_infos_form }}
</div> </div>
{% endif %} {% endif %}
+1 -1
View File
@@ -25,7 +25,7 @@
{% endfor %} {% endfor %}
</div> </div>
{% if page_obj.has_other_pages() %} {% if page_obj.has_other_pages() %}
{{ paginate_htmx(request, page_obj, paginator) }} {{ paginate_htmx(page_obj, paginator) }}
{% endif %} {% endif %}
<hr> <hr>
{% endif %} {% endif %}
-10
View File
@@ -58,13 +58,3 @@ class TestMatmatronch(TestCase):
assert list(response.context_data["object_list"]) == [] assert list(response.context_data["object_list"]) == []
assert not response.context_data["form"].is_valid() assert not response.context_data["form"].is_valid()
assert "Recherche vide" in response.context_data["form"].non_field_errors() 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,6 +20,7 @@
# Place - Suite 330, Boston, MA 02111-1307, USA. # Place - Suite 330, Boston, MA 02111-1307, USA.
# #
# #
from django.db.models import F from django.db.models import F
from django.views.generic import ListView from django.views.generic import ListView
from django.views.generic.edit import FormMixin from django.views.generic.edit import FormMixin