From d5707ff578b21d146aef9755cd658f6169cbf235 Mon Sep 17 00:00:00 2001 From: vase864g Date: Wed, 8 Jul 2026 21:54:39 +0200 Subject: [PATCH 1/2] Add no lowercase username error message --- sipa/blueprints/generic.py | 6 +++++- sipa/translations/de/LC_MESSAGES/messages.po | 3 +++ sipa/translations/en/LC_MESSAGES/messages.po | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sipa/blueprints/generic.py b/sipa/blueprints/generic.py index 94843aed..b38fb756 100644 --- a/sipa/blueprints/generic.py +++ b/sipa/blueprints/generic.py @@ -142,7 +142,10 @@ def login(): try: user = User.authenticate(username, password) except InvalidCredentials as e: - if isinstance(e, UserNotFound): + if not username.islower(): + cause = "case" + flash(gettext("Benutzername nicht kleingeschrieben!"), "error") + elif isinstance(e, UserNotFound): cause = "username" elif isinstance(e, LoginNotAllowed): cause = "login permission" @@ -153,6 +156,7 @@ def login(): 'tags': {'user': username, 'rate_critical': True} }) flash(gettext("Anmeldedaten fehlerhaft!"), "error") + else: if isinstance(user, User): login_user(user, remember=remember) diff --git a/sipa/translations/de/LC_MESSAGES/messages.po b/sipa/translations/de/LC_MESSAGES/messages.po index 3017d39b..6dbcdc60 100644 --- a/sipa/translations/de/LC_MESSAGES/messages.po +++ b/sipa/translations/de/LC_MESSAGES/messages.po @@ -342,6 +342,9 @@ msgstr "" msgid "Anmeldedaten fehlerhaft!" msgstr "" +msgid "Benutzername nicht kleingeschrieben!" +msgstr "Username not lowercase" + msgid "Anmeldung erfolgreich!" msgstr "" diff --git a/sipa/translations/en/LC_MESSAGES/messages.po b/sipa/translations/en/LC_MESSAGES/messages.po index 598a6329..550b29c8 100644 --- a/sipa/translations/en/LC_MESSAGES/messages.po +++ b/sipa/translations/en/LC_MESSAGES/messages.po @@ -344,6 +344,9 @@ msgstr "Error during communication with the backend server ('%(name)s')" msgid "Anmeldedaten fehlerhaft!" msgstr "Authentication data incorrect!" +msgid "Benutzername nicht kleingeschrieben!" +msgstr "Username not lowercase" + msgid "Anmeldung erfolgreich!" msgstr "Authentication successful!" From 2d86c352b4f0a0c18abec75984ae75653932ae5a Mon Sep 17 00:00:00 2001 From: vase864g Date: Wed, 8 Jul 2026 23:15:27 +0200 Subject: [PATCH 2/2] compile translation and merge login error messages --- sipa/blueprints/generic.py | 10 +++++----- sipa/translations/de/LC_MESSAGES/messages.mo | Bin 1167 -> 1167 bytes sipa/translations/de/LC_MESSAGES/messages.po | 4 ++-- sipa/translations/en/LC_MESSAGES/messages.mo | Bin 28970 -> 29131 bytes sipa/translations/en/LC_MESSAGES/messages.po | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sipa/blueprints/generic.py b/sipa/blueprints/generic.py index b38fb756..79a495f8 100644 --- a/sipa/blueprints/generic.py +++ b/sipa/blueprints/generic.py @@ -142,10 +142,7 @@ def login(): try: user = User.authenticate(username, password) except InvalidCredentials as e: - if not username.islower(): - cause = "case" - flash(gettext("Benutzername nicht kleingeschrieben!"), "error") - elif isinstance(e, UserNotFound): + if isinstance(e, UserNotFound): cause = "username" elif isinstance(e, LoginNotAllowed): cause = "login permission" @@ -155,7 +152,10 @@ def login(): logger.info("Authentication failed: Wrong %s", cause, extra={ 'tags': {'user': username, 'rate_critical': True} }) - flash(gettext("Anmeldedaten fehlerhaft!"), "error") + if not username.islower(): + flash(gettext("Anmeldedaten fehlerhaft oder Benutzername muss kleingeschrieben werden!"), "error") + else: + flash(gettext("Anmeldedaten fehlerhaft!"), "error") else: if isinstance(user, User): diff --git a/sipa/translations/de/LC_MESSAGES/messages.mo b/sipa/translations/de/LC_MESSAGES/messages.mo index 6841f7201114387d85eb60cebb7ee61d9007d762..00a1beef4d429b5102799fb29a72dca6b497793d 100644 GIT binary patch delta 16 XcmeC@?C0EI%*?(;*+lG`M9A_A5n@S*MC^$W)Yzi-J-m_-K_d3%?VOS6sI7XMo}z~i z(J38kz{jJ#)QzlkM;2<496gT)xl`2jcqUpJE5*m$Hv$fo8TyX z4hyg$mRWsf9gP46-o{3_9ktLwjK^abjrWirQzycXw?Iui00-a%Y>L}Z0USnMe+;$Y zCG3FTU=~JkaftC5GnIxGoQ1Kt1Ossc`r{ToeQZaDpZs0~(NE38JJ1}@Ohf=`gOOeFbMKLy)i4l1Q(=)pf=cie%x|G$`w z0oYDcvw6zwDgd8e56sG=Q;%3L98$IDSiQjWTR9Y*5YsEvK#qoD~;qIP%&mFn-^ z1&w>yiCUv>NWwOlh0h*CR0fJs_pd-5#UD|D??v5r43)79sH3hy6{*j!r;Rws8IFpy zH7a#ou`%{{<706${Q}fZKSgEm3)D^@plYKA6EL8cJ=*r@p+6Fpu?0vbeC7=r&mzTI zd~ggk@juWX&!bX#37g_gREB;*r82g+-C;M3pg#n4ofj2Y8EQin&UcWvx;co^dj2oc z&=J(2Qeyhp8v;=ag`)yU!xVk&`X#uB{&G}G+h^D#>4KWCJ4Rt9Dv-&jqbNna+E-$r zkH%&iNmz*r;6JF;pLgCu?cgCQGeNu*nqxR>!p^7#vr%V1#C<*y)95e8X1E7+{XbFj zT}GcChX*v2>Yv>Ozo2&1q_5q1b5xPFLIswFI_rL@g@>YwauhDaGSo&MqMo8Bn1Kmd z_P%^nMvJq^zf!b}0r@6sht;T}JBnKH3mkwqu^c=0vtLXOpaQvy+W8&S^);>^+}{Qg zj>n#uNISuwb8enMhJ~^)P(C$JK2W*xD&P0-OegZp#MI`;#F*g z`m0V0#bXF|LIu(TTjD_MfQ6{Xb0hK;_)HZIE%+%0<0(`i=dcIf#fg|Om~Sn(0@;)~ zgq^Y0Z|s-PR8$}{kz33vH+~j*Yn$L9_63xQarARBO3!~ejc5k8qFyLR(1RD8KVx0` zQA6zurY*LnpNXoKd`!f0)YD)u z+cW$O6~J9g!pB$-+l;VBkmekXd5kYaW$-epCcej1Y?NaI9Dqydk3nBQ8mDQfs3Jz% z;^>80RR3a3X8iCAwpi|CJNl1Mfy9k6<}J)Y^&en1#*TJJfeLgLhT{e|z85|8&x|Jj zitrHw&tcdYdlZSNqZo({F&8y)32LGbP}TcyRAw$XZ=oL7AF(k$L1HrX#@ZLubj+Z? z8XMt>vE*NkD-5LKcg}=y_TL4QP>pw6w=M*af>{AB@ID z7={(7OudIq@c^nAPdI(2Y3Ok{hw1nPH(|wo`0?b5QSz1*nuS zMlG-kyW^{P36CRBtl2S@uk`p3m+SdYpTl45 zj@F=Rq!LxUhfzg$5_9lN)B;H}ZA}eB1u_ox0-B22U?KYS*e#)<0M?>1unV=bk5LQU zK^5my48kDZG9IjlTBsu`Q$tZ1nuWT42?pcuQ1h-r&9}w%_vLZ^feajFKs!2)+Ua%F zPJ{C81ktD+#$y7epzfQ1I*Mti8kmpT*=p1oZ$K@$-+lfGY6Dj=0B`1#e@%Rs0a@b= zF0eZYLygCxQr7{qv6~xz2^GLv493k^8{ffr+=I%{8H~ni+epqu7lq=D(wA?gIMj`F}v8BLhF6 z0*ISqQ=Z^Vb!It7pmsh5wZny|1iRXP`z!F-|Nm`K zgMq`?0MBD6evNhUA?h!uTJ!jSB1}h3{3ldkpQ8f5fm--6HpKs-7HTlxzS<*Ek6{k> z!kHMR8!Blig*#EjwXf=Y*h;@-&)gZ_VozUhQR#xE-r}NZbG)88r6nbv*@fPMqC9WO z^!(xiZ?3niLMpN&d+lQ>u<;FY{~XnOp2BEpa#IPb={(nCr>)dKMKI ZELgxz1x231x!gH@T8XzRZeZ=U{|AhJyZ8VA delta 5668 zcmYM%32=yK9>?(~a^Hs_5|JR1ln`ekG!a5vaV`=^>Zq%Vs3S z)yJ!g@!MqhGttMG7Wm%~_5T0oN)uy(>DFQdUdN{R2=!<naD3g=lp!!|Ce%We*cK0AB3?oMnkQ~Nx|y9g8{-%sf?9YQ>bZHSg_dIn zdBVnC|rrWphq zXMPWf&G<2yGMa=s+P2sRv+;Q*Tate*P{BY0Zou8Rn%QZZ9?3S<#h6Kd8b;zqQ~Rb(Su5j4)g9=IA+6DM&k*5YuS+uE~d^ce@GlzoR&eb^0QX3;MrU#jlC zn2m=}slJ1sU|d_9ks2(aAIYlia2BeFH=s7M%Z(pLy?@J%H}$9tMb;fvBt`tA9V|p{ zn5n>__<|kX!*bM)PomEF0(Qg(RA$pNjH$y3Sb#k#fPB_B zi)rXO9YgBIoW%gFM`h+7syKs~O-0rk_46!LE#%^hI21WO^BYuvdoc)4pfYj}L-88= z;ayDE{eMV9Roybvn2R_LRlS`lZB0;wvv3TK!fFi0X!5EF6HwKihMG7B2V)-AVukC^ zBn@NeAH-c4)YX^+tZ)8AL&a0t&8Gek_Msoq-R^J%Dg%?T3BG}WxDKf!^DZi&V;GL7 zQO{q*CU_5(u|O(X{Rq_iDd?$@K|?9)hDvD>YT}8gYqr#le~2OUtK4`sM$oTA)y8e- zebj;ts0`}r=xBmb#g~D~+>mVYuZ4;k;9FxBJGY?D`mpPtMLuHY25JI-E_F1fplT-z z$72DKZL=MfiLX!r)S(uwXvzF`N}*R+WD_hsea!*a1=GsIoH34>GW^n z^K014W*{E*eg^6&2B88kK`k^7m9e)_N4*nOq<=&O?Co=nYE-1>P^tSCWAL^c*ByI_ zel+UE`KS~wLG5%isy23F8ty?IZ4D;lQ&h%U*$N+s0=K} zI9!9uP$eprr%*fm9-HAq)N|o^Hn3FGhH{<5P#>mAn21X;K=*$q4W;A{s2BF47OF-C zP={Udy6Y$OHfBHl6jVxUP)BkFb*5Lb1>QhqC?MYknuz+ecSb#5h?yRZA{q){5i0fN z&b6q3wxKe!4->E&wex?W7QBNx`-iBX`|>?|sQ5kAeK>pRp zXFxkFMHSs#)PhTJ0ItF1_zkwliT&(^D^WXNk9vNm>+eTD`qiime1XbL9cun3s11bo zC;!@MY=0Y3BChh`_W}AdeyY&E@DJyA=*RedRJA|G0Q4nFWiAAj>KN2Qsji=c+Tc(O z!&21yvppJ0@h{yE-o{q+H=-gwges!1u`S*}Ef6`--s?7~3HzdUIvjPjv+)HiLp~X1 z2L|C~)KOeR&Ewsnp&c|DWUpN?YKP&@7)+zz43n@orr;#hLd!51*P#M=AKPFhcEB^J zYuSLR{+Pjby)+Ee{qIOakz`>n9E=lj1@eo~{D8!0;)dA&keGs<=x;;?asqk8)VuNS zMSRxj&%k8dfvxd4s@ATd?!V7aeMdO|BpS&KmcD=QB|m9Dt!%gnGXO^`3{pxEn9CzWFna?YM5ZJ;TfqHh{sH$#^k_S3&)awokax$`leT66duPy z{2H5L^I{uNC)Cm8I15qN^cNU|8Y>te`{q;B z^$Q!vFCy%ST3`oifse2c9>L!D6t&}CX<#3}}01Ztr0TXZ*>V;*fK(?W-(H>M$ed@-4LCh&!|p5@bxj7LCYpc&I31I54r-y*s7&oeW#}~O z`AewOUPaAYkDBji*N@_BpZcocOMpQCEv zE7Z(O5G|f#CP5Jx2OPa zV<0}mAoPF5eo`Y)8R~|KI2yIF1*nWvpaR^6jc~u`esB;q(Mjid)Pt9>Io6{l@|$hH zkO`>q3}+$gC?=xC=hdhkUO+8) z&Hel)Y6A_JilKAuFQYD~OcY}~oQc}VdQ|GSVvO$p2Q)$$IEdQWXQ&BJVmMwxz4#OA z%