Files
project_v19/ck_signup/controllers/__pycache__/controllers.cpython-312.pyc
T

91 lines
27 KiB
Plaintext
Raw Normal View History

2026-07-01 14:41:49 +07:00
Ë
̽ãi¾[ãóüddlZddlZddlZddlmZddlZddlmZmZm Z m
Z
m Z ddl m
Z
mZmZddlmZmZmZddlmZddlmZmZej2e«Zdd d
d d d
œZee«ZdZdZ dZ!Gdde«Z"y)éN)Ú defaultdict)ÚhttpÚ SUPERUSER_IDÚtoolsÚfields)Ú AccessDeniedÚ UserErrorÚValidationError)ÚrequestÚrouteÚSessionExpiredException)Ú SignupError)ÚAuthSignupHomeÚ ensure_dbééééé)Úmax_login_attemptsÚlockout_duration_minutesÚmax_pin_attemptsÚpin_lockout_duration_minutesÚpassword_min_lengthcóFtj«}||dzz
}t|Dcgc]
}||kDsŒ |Œ c}t|<tt|«|k\r/|dz|t|dz
z
}dtdt |dz ««fSt|j |«ycc}w)z!Check if request is rate-limited.é<rT)Fr)ÚtimeÚ_rate_limit_cacheÚlenÚmaxÚintÚappend)ÚkeyÚ max_attemptsÚlockout_minutesÚnowÚ window_startÚtÚ remainings ú6/mnt/extra-addons/ck_signup/controllers/controllers.pyÚ_check_rate_limitr,ä
)‰)‹+€Cؘ/¨BÑ/€LÜ):¸3Ñ)?ÖT AÀ1À|ÓCSšaÒä
Ô ˜ " # (¨CÔ2CÀCÑ2HÈÑ2KÑ,KÑLˆ Ø”S˜œC  ¨B¡Ó×!  ùòUs
¨
B³Bcó†|s|St|t«r,tjdd|«}t |«dkDr|ddS|S|S)zBasic input sanitization.z [\x00-\x08\x0B\x0C\x0E-\x1F\x7F]ÚN)Ú
isinstanceÚstrÚreÚsubr )Úvalues r+Ú_sanitize_inputr4,sHá Øˆ ÜÔÜÐ:¸BÀÓÜ" 5z¨DÒ0ˆuUdˆ;°eÐ €Lócóœg}t|«tdkr$|jtd«tdz«t j
d|«s|jtd««t j
d|«s|jtd««t j
d|«s|jtd««|S) z.Validate password meets security requirements.rujពាក្យសម្ងាážáŸ‹ážáŸ’រូវមានយ៉ាងážáž·áž… %d ážáž½áž¢áž€áŸ’សរz[A-Z]ujពាក្យសម្ងាážáŸ‹ážáŸ’រូវមានអក្សរធំយ៉ាងážáž·áž… ១z[a-z]umពាក្យសម្ងាážáŸ‹ážáŸ’រូវមានអក្សរážáž¼áž…យ៉ាងážáž·áž… ១z\du^ពាក្យសម្ងាážáŸ‹ážáŸ’រូវមានលáŸážáž™áŸ‰áž¶áž„ážáž·áž… ១)r ÚSECURITY_CONFIGr#rr1Úsearch)ÚpasswordÚerrorss r+Ú_validate_password_strengthr;6à
€FÜ
ˆ8ƒ}”Ð'<Ñ
”aðEóFôIXðYnñIoñoô pÜ
9‰9X˜ 
”aðEóFô GÜ
9‰9X˜ 
”aðHóIô JÜ
9‰9U˜ 
”aÐ €Mr5cóeZdZdZedddd¬«ˆfd«ZdZd „Zed
dd gddd¬ «d
«Zedddd¬«d«Z eddddd¬«d«Z
eddddd¬«d«Z edddd¬«d«Z dZ
dZˆxZS)ÚSignupVerifyEmailz1High-security signup/login controller for Odoo 19z
/web/loginrÚpublicT)ÚtypeÚauthÚwebsitecóÂt«tjj}|j dd«j «j
«}d|d|}t|tdtd«\}}|r6td«|z|d<tjd |j|««Stjjd
k(rX|rU tjj||j d d««}|r ttjd «rtjj!«tj"d
j%«j'dd|fgd¬«} | rA| j(r5|j+«}
| j,|
d<tjd|
«S|j d«xstj.j d«} | r&|j1| «rtj2| «Stj2d«S tA||i|¤Ž}
t|
d«r)|
jDjG|jI««|
S#t4$r(t6j9d||«td«|d<YŒvt:$r8} t6j=d|t?| ««td«|d<Yd} ~ Œ±d} ~ wwxYw)loginr.zlogin:ú:rrសូមរង់ចាំ %d នាទីមុនពáŸáž›ážŸáž¶áž€áž›áŸ’បងម្ážáž„ទៀហ(ការពារសុវážáŸ’ážáž·áž—áž¶áž–)Úerrorú web.loginÚPOSTr9Úrotate_session_tokenú res.usersú©ÚlimitÚuser_idúck_signup.reset_password_directÚredirectz/webz$Failed login attempt for: %s from %suiáž›áŸážáž€áž¼ážŠ ឬ ពាក្យសម្ងាážáŸ‹ មិនážáŸ’រឹមážáŸ’រូវទáŸzLogin error for %s: %suWមានបញ្ហាក្នុងការចូលប្រើប្រាស់Úqcontext)%rr Ú httprequestÚ remote_addrÚgetÚlowerÚstripr,r7rÚrenderÚ_prepare_login_contextÚmethodÚsessionÚ authenticateÚhasattrrHÚenvÚsudor8Ú first_loginÚget_auth_signup_qcontextÚidÚparamsÚ_is_safe_redirectrPr Ú_loggerÚwarningÚ ExceptionÚ exceptionr0ÚsuperÚ web_loginrQÚupdateÚget_auth_signup_config)ÚselfÚargsÚkwÚ client_ipÚ
login_attemptÚrate_keyÚ is_lockedÚ
remaining_minÚ auth_successÚuserrQrPÚresponseÚ __class__s €r+rizSignupVerifyEmail.web_loginJs•ø€äŒ ä×'×3ˆ ØŸ˜w¨Ó;ˆ
ؘI˜; 
 Ðä#4Ø Ü Ð Ð $
Ñ ˆ Üðyózð}JñJˆBˆw‰KÜ—>> +¨t×/JÑ/JÈ2Ó/NÓ  × Ñ × Ó /²Mð"
{ä×—F‘F˜: rÓ  ò
 äœwŸÐ0FÔŸ×"Ÿ;™; 3×:×! 
Ð7¸qðBó
 × 0Ò 0Ø#'×#@Ñ#@Ó#B˜Ø.2¯g©g˜ Ñ&Ÿ~™~Ð.OÐQYÓ "Ÿv™v S´W·^±^×5GÑ5GÈ
Ó5S D×$:Ñ$:¸8Ô$DÜ&×Ó"×+¨FÓ3ð) ô<$ 1¨bÑÜ 8˜ZÔ × Ñ × $ T×%@Ñ%@Ó%BÔ ˆøô ò
MÜÐ FÈ
ÐW`Ôð!LóM7“ Üò
{Ü×!Ð":¸MÌ3ÈqË6ÔÐ yÓz7– ûð
{ús,ÃC#I.Æ8AI.ÈI.É..KÊKÊ&.KËKc ó:|j«}tjjj d«}|j |j d«|j d«|j d«|rdndt
|j dd««dœ«|S) z>Prepare secure context for login template - ODOO 19 DEBUG FIX.ÚdebugrPrEÚmessageÚassetsr.rC)rPrEr{rzrC)r`r r]ÚcontextrTrjr4)rlrnÚctxÚ debug_vals r+rXz(SignupVerifyEmail._prepare_login_contextˆsà×ô—KK×'×+¨GÓ4ˆ Ø
ØŸ˜zÓ—V‘V˜G“_Ø—v‘v˜iÓ(Ù!*Ü$ R§V¡V¨G°RÓ%8Ó 
ô ðˆ
r5cóâ|sy|jd«rytjdj«j d«}|r|j|«ryt
j
d|«y)zPrevent open redirect attacks.F)ú/zhttp://localhostzhttps://localhostTúir.config_parameterz web.base.urlzBlocked unsafe redirect: %s)Ú
startswithr r]r^Ú get_paramrdre)rlÚurlÚbase_urls r+rcz#SignupVerifyEmail._is_safe_redirect—s^áØØ >‰>Ð Ü—;5×FÀ~ÓÙ ˜Ÿ xÔÜÐ5°sÔr5z/web/reset_password/submitrG)r?Úmethodsr@rAÚcsrfc óâi} gd¢}tˆfd|D««s$td«|d<tjd|«Sddk7r$td«|d<tjd|«St d«}|r*d j |«|d<tjd|«S tj jtd
«d «}|sItjd
jd
««td«|d<tjd|«Stjj}|jd«r$td«|d<tjd|«S|j!«j#td«dd dœ«tj%d|j&«t(j*j-td««}tj.d|«S#t$rd }YŒ:wxYw#t0$rM}tj3dt5|««td«|d<tjd|«cYd}~Sd}~wwxYw)N)Ú user_nameÚ old_passwordÚ new_passwordÚconfirm_new_passwordÚnamec3ó@K|]}j|«Œy­w)N)rT)Ú.0Úfrns €r+ú <genexpr>z4SignupVerifyEmail.change_password.<locals>.<genexpr>­søèø€Ò3 Qr—v‘v˜a—yÑ3ùsƒuBសូមបំពáŸáž‰áž–áŸážáŸŒáž˜áž¶áž“ទាំងអស់rErOrõ€áž–ាក្យសម្ងាážáŸ‹áž˜áž·áž“ážáŸ’រូវគ្នា! សូមបញ្ចូលវាម្ážáž„ទៀážú; rŠrFz#Password change auth failed for: %suuáž›áŸážáž€áž¼ážŠ ឬ ពាក្យសម្ងាážáŸ‹áž…ាស់ មិនážáŸ’រឹមážáŸ’រូវទáŸzbase.group_publicu¥áž¢áŸ’នកប្រើប្រាស់សាធារណៈមិនអាចផ្លាស់ប្ážáž¼ážšáž–ាក្យសម្ងាážáŸ‹áž”ានទáŸ)r9r_zPassword changed for user: %suuការផ្លាស់ប្ážáž¼ážšáž–ាក្យសម្ងាážáŸ‹áž‘ទួលបានជោគជáŸáž™z/web/login?message=zPassword change error: %suuមានបញ្ហាក្នុងការផ្លាស់ប្ážáž¼ážšáž–ាក្យសម្ងាážáŸ‹)Úallrr rWr;ÚjoinrZr[r4r rdrerTr]ruÚ has_groupr^ÚwriteÚinforCÚwerkzeugÚurlsÚ url_quoterPrfrgr0) rlrnÚvaluesÚrequiredÚstrength_errorsrtruÚ success_msgrvs ` r+Úchange_passwordz!SignupVerifyEmail.change_password¦sRø€ðˆð2 MÚdˆHÜÓ3¨(Ô3Ü"#Ð$hÓ"iwÜ—~~Ð&GÈÓ! RÐ(>Ñ%?Ò?Ü"#ð%gó#hwÜ—~~Ð&GÈÓ9¸"¸^Ñ:LÓMˆØ"&§)¡)¨OÓ"<wÜ—~~Ð&GÈÓ
×# B {¡OÓ  ñ ÜÐ EÀrÇvÁvÈkÓGZÔ[Ü"#ð%\ó#]wÜ—~~Ð&GÈÓ—;#ˆ~‰~Ð2Ü"#ð%Ló#MwÜ—~~Ð&GÈÓ
I‰IK× Ñ Ü¨6©
Ó˜~Ñô
ô
L‰LÐ8¸$¿*¹*Ô "Ÿ-™-×1´5ló3mónˆ×#Ð&9¸+¸Ð$GÓ Høô1 ò
$“ ð
%ûô4ò MÜ × Ñ Ð9¼3¸q»6Ô ð!XóYˆF7‰OÜ—>>Ð"CÀVÓ Lûð Mús]…;HÁ.HÁ09HÂ+/HÃA
HÄ%AHÅ4BHÈ HÈHÈHÈHÈ I.È!AI)É#I.É)I.z /web/signupcóÀtjdj«}|j«}t |j d«xsd«tj d<t |j d«xsd«tj d<tjdj«jdg«}||d <|jd
«s/|jd «stjj«d |vrttjjd
k(rV|jd«|jd«k7r$td«|d <tjd|«S|jd«r:t!|d«}|r*dj#|«|d <tjd|«St |jdd««j%«}tjdj«jdd|fdgd¬«}|r$td«|d <tjd|«S |j'|«|r|tj(d<tjdj«jdd|fgd¬«} | rº|jd«}
|
r tjdj«j+t-|
««} | j/«r5| j0j«j3d| j4i«| j«j:j=«td«|d<tjd |«Stjd|«S#t6t8f$rYŒswxYw#t>t@tBf$rŸ} tDjGd!|tI| ««tjdj«jdd|fd"gd¬«}
|
r.td«|d<d|d <tjd |«cYd#} ~ Std$«|d <Yd#} ~ ŒÙd#} ~ wwxYw)%z(Secure signup flow - Odoo 19 compatible.rÚlogin_form_header_registerr.Úbackground_srcÚid_backgroud_mptcÚ
backgroundú
res.groups©rJu6អ្នកសុំអាហារូបករណáŸÚgroupsÚtokenÚsignup_enabledrErGr9Úconfirm_passwordr“zck_signup.signupr”rCrIrJ©ÚactiverJTrKrLu`អ៊ីម៉ែលនáŸáŸ‡ážáŸ’ážšáž¼ážœáž”áž¶áž“áž…áž»áŸ‡ážˆáŸ’áž˜áŸ„áŸ‡ážšáž½áž…áž áž¾áž™Ú signup_loginÚcountryz res.countryÚ
country_iduÆážŸáž¼áž˜áž”ញ្ចូល Pin Code ដែលបានផ្ញើទៅក្នុងអ៊ីម៉ែលរបស់អ្នក ដើម្បីផ្ទៀងផ្ទាážáŸ‹áž‚ណនី!r{úck_signup.verify_pin_codezSignup error for %s: %s©rJFNuKមិនអាចបង្កើážáž‚ណនីážáŸ’មីបានទáŸ)%r r]r^r`r4r„rbr8rTÚ