mirror of
https://github.com/ae-utbm/sith.git
synced 2026-08-14 09:19:15 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
235bcb9916 | ||
|
|
847511d27f | ||
|
|
a75d5e06b6 |
@@ -886,6 +886,28 @@ class TestBarmanConnection(TestCase):
|
|||||||
)
|
)
|
||||||
assert response.status_code == 403
|
assert response.status_code == 403
|
||||||
|
|
||||||
|
def test_logout_then_login(self):
|
||||||
|
"""Test that the login is successful if it is after a previous logout.
|
||||||
|
|
||||||
|
This is a regression test for #1440
|
||||||
|
"""
|
||||||
|
self.client.post( # login
|
||||||
|
self.login_url, {"username": self.barman.username, "password": "plop"}
|
||||||
|
)
|
||||||
|
self.client.post( # logout
|
||||||
|
reverse("counter:logout", kwargs={"counter_id": self.counter.id}),
|
||||||
|
data={"user_id": self.barman.id},
|
||||||
|
)
|
||||||
|
response = self.client.post( # and re-login
|
||||||
|
self.login_url, {"username": self.barman.username, "password": "plop"}
|
||||||
|
)
|
||||||
|
assert response.status_code == 200
|
||||||
|
assert response.headers["HX-Redirect"] == self.detail_url
|
||||||
|
response = self.client.get(
|
||||||
|
self.detail_url, {"username": self.barman.username, "password": "plop"}
|
||||||
|
)
|
||||||
|
assert self.barman in response.wsgi_request.barmen
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_barman_timeout(client: Client):
|
def test_barman_timeout(client: Client):
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ class CounterLoginFragment(FragmentMixin, SingleObjectMixin, FormView):
|
|||||||
user = form.get_user()
|
user = form.get_user()
|
||||||
perm = self.object.permanencies.create(user=user, start=timezone.now())
|
perm = self.object.permanencies.create(user=user, start=timezone.now())
|
||||||
self.request.session.setdefault(SESSION_PERMANENCES_KEY, []).append(perm.id)
|
self.request.session.setdefault(SESSION_PERMANENCES_KEY, []).append(perm.id)
|
||||||
|
self.request.session.modified = True
|
||||||
self.success_url = reverse(
|
self.success_url = reverse(
|
||||||
"counter:details", kwargs={"counter_id": self.object.id}
|
"counter:details", kwargs={"counter_id": self.object.id}
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ authors = [
|
|||||||
license = { text = "GPL-3.0-only" }
|
license = { text = "GPL-3.0-only" }
|
||||||
requires-python = "<4.0,>=3.12"
|
requires-python = "<4.0,>=3.12"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"django>=5.2.16,<6.0.0",
|
"django>=5.2.15,<6.0.0",
|
||||||
"django-ninja>=1.6.2,<2.0.0",
|
"django-ninja>=1.6.2,<2.0.0",
|
||||||
"django-ninja-extra>=0.31.5",
|
"django-ninja-extra>=0.31.5",
|
||||||
"Pillow>=12.2.0,<13.0.0",
|
"Pillow>=12.2.0,<13.0.0",
|
||||||
@@ -35,7 +35,7 @@ dependencies = [
|
|||||||
"django-ordered-model>=3.7.4,<4.0.0",
|
"django-ordered-model>=3.7.4,<4.0.0",
|
||||||
"django-simple-captcha>=0.6.3,<1.0.0",
|
"django-simple-captcha>=0.6.3,<1.0.0",
|
||||||
"python-dateutil>=2.9.0.post0,<3.0.0.0",
|
"python-dateutil>=2.9.0.post0,<3.0.0.0",
|
||||||
"sentry-sdk>=2.63.0,<3.0.0",
|
"sentry-sdk>=2.64.0,<3.0.0",
|
||||||
"jinja2>=3.1.6,<4.0.0",
|
"jinja2>=3.1.6,<4.0.0",
|
||||||
"django-countries>=9.0.0,<10.0.0",
|
"django-countries>=9.0.0,<10.0.0",
|
||||||
"dict2xml>=1.7.8,<2.0.0",
|
"dict2xml>=1.7.8,<2.0.0",
|
||||||
|
|||||||
@@ -590,16 +590,16 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "django"
|
name = "django"
|
||||||
version = "5.2.16"
|
version = "5.2.15"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "asgiref" },
|
{ name = "asgiref" },
|
||||||
{ name = "sqlparse" },
|
{ name = "sqlparse" },
|
||||||
{ name = "tzdata", marker = "sys_platform == 'win32'" },
|
{ name = "tzdata", marker = "sys_platform == 'win32'" },
|
||||||
]
|
]
|
||||||
sdist = { url = "https://files.pythonhosted.org/packages/a9/26/889449d521ae508b26de715954faecd8bcf3f740affb81b2d146a83b42a5/django-5.2.16.tar.gz", hash = "sha256:59ea02020c3136fce14bef0bbece21a10a4febef5eed1c51c22ae468efa22200", size = 10890894, upload-time = "2026-07-07T13:52:17.005Z" }
|
sdist = { url = "https://files.pythonhosted.org/packages/2b/e3/31722f7284c9f43333daff9aee9184678e4487adcb5506af0db8cea09ce1/django-5.2.15.tar.gz", hash = "sha256:5154a9bf84ac01dde011e367f355c07dbb329532e06810dcf3ef2af269e236e7", size = 10873669, upload-time = "2026-06-03T13:03:35.892Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
{ url = "https://files.pythonhosted.org/packages/4e/13/1e5e3e4c15dcecb04281b3cb2a46a4670e1cef131068e202f6040df19224/django-5.2.16-py3-none-any.whl", hash = "sha256:04f354bf9d807a86ad1a8392fe3808d362358a8eafc322848e0e43e59b24371d", size = 8311943, upload-time = "2026-07-07T13:52:11.223Z" },
|
{ url = "https://files.pythonhosted.org/packages/92/b5/38140b1643c00d5c46ce69c78e6980fd285aee223100319631bedee4f5e7/django-5.2.15-py3-none-any.whl", hash = "sha256:0eb4a9bb1853a35b0286dbc6d916bd352c8c2687195a7f2d6f80cefd840e4970", size = 8311957, upload-time = "2026-06-03T13:03:31.329Z" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -972,9 +972,9 @@ resolution-markers = [
|
|||||||
"python_full_version < '3.13'",
|
"python_full_version < '3.13'",
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "pydantic" },
|
{ name = "pydantic", marker = "python_full_version < '3.13'" },
|
||||||
{ name = "python-dateutil" },
|
{ name = "python-dateutil", marker = "python_full_version < '3.13'" },
|
||||||
{ name = "tzdata" },
|
{ name = "tzdata", marker = "python_full_version < '3.13'" },
|
||||||
]
|
]
|
||||||
sdist = { url = "https://files.pythonhosted.org/packages/0c/a3/506fe8d9416472588ff30d4c97a7e477f680a098c74a9f2050bd84182a75/ical-12.0.0.tar.gz", hash = "sha256:2f1c7450bd1eff586322273360f44931eb0919dc048c7284f1647037624be7c4", size = 125412, upload-time = "2025-11-13T06:00:04.95Z" }
|
sdist = { url = "https://files.pythonhosted.org/packages/0c/a3/506fe8d9416472588ff30d4c97a7e477f680a098c74a9f2050bd84182a75/ical-12.0.0.tar.gz", hash = "sha256:2f1c7450bd1eff586322273360f44931eb0919dc048c7284f1647037624be7c4", size = 125412, upload-time = "2025-11-13T06:00:04.95Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
@@ -989,9 +989,9 @@ resolution-markers = [
|
|||||||
"python_full_version >= '3.13'",
|
"python_full_version >= '3.13'",
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "pydantic" },
|
{ name = "pydantic", marker = "python_full_version >= '3.13'" },
|
||||||
{ name = "python-dateutil" },
|
{ name = "python-dateutil", marker = "python_full_version >= '3.13'" },
|
||||||
{ name = "tzdata" },
|
{ name = "tzdata", marker = "python_full_version >= '3.13'" },
|
||||||
]
|
]
|
||||||
sdist = { url = "https://files.pythonhosted.org/packages/f5/1c/dc7378c5ba63e8b0f2987bd827a1e40bd27196d37a7082be0593551e8ed8/ical-13.2.5.tar.gz", hash = "sha256:1cc3116e6f522eeeaa694b3e20b58dbfbe4b281954a8d3d28892cfb61f03fd40", size = 131405, upload-time = "2026-05-24T16:51:56.017Z" }
|
sdist = { url = "https://files.pythonhosted.org/packages/f5/1c/dc7378c5ba63e8b0f2987bd827a1e40bd27196d37a7082be0593551e8ed8/ical-13.2.5.tar.gz", hash = "sha256:1cc3116e6f522eeeaa694b3e20b58dbfbe4b281954a8d3d28892cfb61f03fd40", size = 131405, upload-time = "2026-05-24T16:51:56.017Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
@@ -2187,7 +2187,7 @@ requires-dist = [
|
|||||||
{ name = "celery", extras = ["redis"], specifier = ">=5.6.3,<8" },
|
{ name = "celery", extras = ["redis"], specifier = ">=5.6.3,<8" },
|
||||||
{ name = "cryptography", specifier = ">=49.0.0,<50.0.0" },
|
{ name = "cryptography", specifier = ">=49.0.0,<50.0.0" },
|
||||||
{ name = "dict2xml", specifier = ">=1.7.8,<2.0.0" },
|
{ name = "dict2xml", specifier = ">=1.7.8,<2.0.0" },
|
||||||
{ name = "django", specifier = ">=5.2.16,<6.0.0" },
|
{ name = "django", specifier = ">=5.2.15,<6.0.0" },
|
||||||
{ name = "django-celery-beat", specifier = ">=2.9.0" },
|
{ name = "django-celery-beat", specifier = ">=2.9.0" },
|
||||||
{ name = "django-celery-results", specifier = ">=2.6.0" },
|
{ name = "django-celery-results", specifier = ">=2.6.0" },
|
||||||
{ name = "django-countries", specifier = ">=9.0.0,<10.0.0" },
|
{ name = "django-countries", specifier = ">=9.0.0,<10.0.0" },
|
||||||
|
|||||||
Reference in New Issue
Block a user