Merge pull request #1428 from ae-utbm/fix-session-barmen

CounterLogin: manage case where barman is already logged in another device
This commit is contained in:
thomas girod
2026-06-15 12:54:34 +02:00
committed by GitHub
6 changed files with 73 additions and 29 deletions
+8 -6
View File
@@ -42,6 +42,7 @@ from counter.models import (
Customer,
Eticket,
InvoiceCall,
Permanency,
Price,
Product,
ProductFormula,
@@ -154,12 +155,13 @@ class CounterLoginForm(LoginForm):
raise ValidationError(
message=_("You are not a barman of this counter."), code="not_barman"
)
if user in self.request.barmen:
message = (
_("You are already logged in this counter.")
if user in self.counter.barmen_list
else _("You are already logged in another counter.")
)
if Permanency.objects.filter(end=None, user=user).exists():
if user in self.request.barmen:
message = _("You are already logged in this counter.")
elif user in self.counter.barmen_list:
message = _("You are already logged in another counter.")
else:
message = _("You are already logged on another device")
raise ValidationError(message=message, code="already_logged_in")