ó
    ÊÎÄjé  ã                   óP  • S r SSKJr  SSKJrJrJrJrJr  SSK	J
r
Jr  SSKJr  SSKrSSKrSSKrSSKrSSKrSSKJr  SSKJr  SS	KJr  SS
KJr  \" 5       rSSSSS.r  S%S\S\S\R>                  S\\    S\\    S\\    S\!4S jjr"\RG                  S\
S9S\" SSSS9\" \5      \" \5      4S\S\\    S\\!   S\S\R>                  4
S jj5       r$\RK                  S5      \" S 5      \" S 5      \" S 5      \" \5      \" \5      4S\S!\ S"\ S#\ S\S\R>                  4S$ jj5       r&g)&u}  PROFILOM (v35): a bejelentkezett felhasznÃ¡lÃ³ sajÃ¡t beÃ¡llÃ­tÃ¡sai egy oldalon - leÃ­rÃ¡s: docs/PROFIL_ES_SZABADSAG.md.

A jobb felsÅ‘ felhasznÃ¡lÃ³-menÃ¼ korÃ¡bban kÃ©t kÃ¼lÃ¶n elemet kÃ­nÃ¡lt (Jelszavam mÃ³dosÃ­tÃ¡sa modal, Ã‰rtesÃ­tÃ©seim oldal); helyettÃ¼k egyetlen "Profilom" hivatkozÃ¡s van
(`/profil`), ahol az alÃ¡bbiak vannak:
    * FiÃ³k adatai (csak olvashatÃ³)
    * SzabadsÃ¡gon vagyok  (POST /profil/szabadsag; szabadsag_utils.py): a szabadsÃ¡g alatt nem megy levÃ©l, a visszatÃ©rÃ©skor egy Ã¶sszegzÅ‘ Ã©rkezik
    * Ã‰rtesÃ­tÃ©seim        (a levÃ©l-feliratkozÃ¡sok; a mentÃ©s a meglÃ©vÅ‘ POST /ertesitesek, `vissza=profil` jelzÃ©ssel ide tÃ©r vissza)
    * JelszÃ³ mÃ³dosÃ­tÃ¡sa   (a meglÃ©vÅ‘ POST /sajat-jelszo-csere, a kÃ¶zÃ¶s _sajat_jelszo_form.html Å±rlap)
    * KÃ©tlÃ©pcsÅ‘s hitelesÃ­tÃ©s (a mentÅ‘kÃ³dok oldalÃ¡nak hivatkozÃ¡sa, ha a felhasznÃ¡lÃ³nak van megerÅ‘sÃ­tett 2FA-ja)

Minden mÃ³dosÃ­tÃ¡s szemÃ©lyes beÃ¡llÃ­tÃ¡s (mint a jelszÃ³csere): a csak megtekintÃ©si (csak_olvasas) fiÃ³k is hasznÃ¡lhatja, mert nem cÃ©ges adatot Ã­r.
A GET csak megjelenÃ­t; a mÃ³dosÃ­tÃ¡s POST, kÃ©rÃ©s-eredet vÃ©delemmel (Sec-Fetch-Site).
é    )ÚOptional)Ú	APIRouterÚDependsÚFormÚQueryÚRequest)ÚHTMLResponseÚRedirectResponse)ÚSessionN)Úget_db)Úmfa)Úget_current_user)Ú	templatesu¿   A szabadsÃ¡god bekapcsolva: a kÃ¶vetkezÅ‘ idÅ‘szakban nem kÃ¼ldÃ¼nk neked e-mailt (a fiÃ³kodat vÃ©dÅ‘ biztonsÃ¡gi Ã©rtesÃ­tÅ‘k kivÃ©telÃ©vel). A visszatÃ©rÃ©skor egy Ã¶sszegzÅ‘ levelet kapsz.u"   A visszatÃ©rÃ©s napja mÃ³dosÃ­tva.u   Nem vÃ¡ltozott semmi.u(   Az Ã©rtesÃ­tÃ©si beÃ¡llÃ­tÃ¡said mentve.)Úszabadsag_beÚszabadsag_datumÚszabadsag_nincs_valtozasÚertesitesek_mentveÚrequestÚdbÚuserÚokÚhibaÚ	ok_szovegÚstatus_codec                 óF  • [         R                  " X5      n[        R                  " U SUUU=(       d    [        R                  U=(       d    S5      U[        R                  " X5      U[        S U 5       5      UR                  S:H  S[        R                  " X5      [        R                  " XR                  5      R                  [        UR                  5      UR                  (       a   [         R"                  " XR$                  5      OS[         R&                  S.SS	0S
9$ )Nzprofil.htmlÚ c              3   ó*   #   • U  H	  oS    v •  M     g7f)ÚlathatoN© )Ú.0Úas     Ú"/var/www/website/routers/profil.pyÚ	<genexpr>Ú_oldal.<locals>.<genexpr>5   s   é € Ð?²Y° ž|²Yùs   ‚ÚAdminTr   )r   Ú	ok_uzenetÚhiba_uzenetÚ	szabadsagÚ	allapotokÚvan_lathatoÚadmin_eÚvissza_profilraÚjelszo_infoÚjelszo_min_hosszÚmfa_keszÚmentokod_maradtÚmentokod_kuszobzCache-Controlzno-store)r   Únamer   ÚcontextÚheaders)ÚefÚfelhasznaloi_allapotr   ÚTemplateResponseÚJELZESEK_OKÚgetÚszabadsag_utilsÚallapotÚanyÚroleÚjelszo_hazirendÚszabalyok_cegreÚ
company_idÚ	min_hosszÚboolÚtotp_megerositveÚmentokod_utilsÚ	hatralevoÚidÚFIGYELMEZTETO_KUSZOB)r   r   r   r   r   r   r   r)   s           r"   Ú_oldalrH   (   sà   € ä×'Ò'¨Ó1€IÜ×%Ò%ØØØàØ"×?¤k§o¡o°b·h¸BÓ&?ØÜ(×0Ò0°Ó:Ø"ÜÑ?±YÓ?Ó?Ø—y‘y GÑ+Ø#Ü*×2Ò2°2Ó<Ü /× ?Ò ?ÀÇOÁOÓ T× ^Ñ ^Ü˜T×2Ñ2Ó3ØHL×H]×H]œ~×7Ò7¸¿G¹GÔDÐcdÜ-×BÑBñ
ð ! *Ð-ñ'ð ó    z/profil)Úresponse_classi@B )ÚgeÚleÚnÚcurrent_userc                 óL   • SnUS:X  a  SU(       a  SU S3OS-   n[        XXAUS9$ )uŽ   A Profilom oldal. Csak megjelenÃ­t. `ok` (elÅ‘re ismert kÃ³d) a sikeres mÅ±veletek visszajelzÃ©se; a `szabadsag_ki` darabszÃ¡mot (`n`) is kap.NÚszabadsag_kiu)   A szabadsÃ¡god vÃ©get Ã©rt, jÃ³ munkÃ¡t! u   A szabadsÃ¡god alatt kimaradt uB    levÃ©lrÅ‘l Ã¶sszegzÅ‘ levelet kÃ¼ldtÃ¼nk (hamarosan megÃ©rkezik).u*   A szabadsÃ¡god alatt nem maradt ki levÃ©l.)r   r   )rH   )r   r   rM   r   rN   Úszovegs         r"   Úprofil_oldalrR   B   sL   € ð €FØ	ˆ^ÓØ=Þ>?ð DbÐbcÐadð  egñ  BhØEqñsˆä�'˜|¸fÑEÐErI   z/profil/szabadsagr   ÚaktivÚvisszateresÚvisszac           	   ƒ   ót  ^#   • [         R                  " U 5      (       a  [        XUSSS9$ US:H  mSS[        S[        [
           S[        4U4S	 jjjnUS
:H  nSnU(       aa  [        R                  " U5      u  p‰U	(       aB  T(       a0  U	R                  S5      (       a  SO	SU	;   a  SOSn
[        SU
 S3SS9$ [        XXYSS9$ UR                  n[        UR                  5      n U(       a6  U(       d/  [        R                  " XEU5        UR                  5         U" S5      $ U(       aC  U(       a<  [        R                  " XEU5      nUR                  5         U" U(       a  S5      $ S5      $ U(       a/  [        R                   " XE5      nUR                  5         U" SU5      $  U" S5      $ ! ["         a�  nUR%                  5         ['        SU S[)        U5      R*                   SU 35        T(       a  [        SSS9s SnA$ [        XUR-                  [.        R0                  U5      SSS9s SnA$ SnAff = f7f) u>  A "SzabadsÃ¡gon vagyok" kapcsolÃ³ mentÃ©se. `aktiv`="on": bekapcsolva (a `visszateres` opcionÃ¡lis visszatÃ©rÃ©si nap, Ã‰Ã‰Ã‰Ã‰-HH-NN); kÃ¼lÃ¶nben kikapcsolva.
Ki-/bekapcsolÃ¡s, dÃ¡tum-mÃ³dosÃ­tÃ¡s: lÃ¡sd szabadsag_utils.py. A kikapcsolÃ¡s egy tranzakciÃ³ban lezÃ¡rja a szabadsÃ¡got Ã©s sorba Ã¡llÃ­tja az Ã¶sszegzÅ‘t.u,   A kÃ©rÃ©s nem errÅ‘l az oldalrÃ³l Ã©rkezett.i“  )r   r   ÚbeallitasokNÚkodrM   Úreturnc                 ó~   >• T(       a  [        SU  3Ub  SU 3OS-   S-   SS9$ [        SU  3Ub  SU 3OS-   S-   SS9$ )	Nz/beallitasok?uzenet=z&n=r   ú
#tab-emailé/  ©Úurlr   z/profil?ok=z
#szabadsag)r
   )rX   rM   Úvbs     €r"   ÚkeszÚ&profil_szabadsag_mentese.<locals>.keszc   sm   ø€ ÞÜ#Ð*>¸s¸eÐ(DÐUVÑUbÈ#ÈaÈSÉ	ÐhjÑ(kÐnzÑ(zð  ILñ  Mð  MÜ k°#°Ð$7ÈÉ¸SÀÀ¹9Ð[]Ñ$^ÐamÑ$mÐ{~ÑÐrI   Úonu   Ã‰rvÃ©nytelenÚszabadsag_datum_formatumu   jÃ¶vÅ‘ben legyenÚszabadsag_datum_multbanÚszabadsag_datum_tavoliz/beallitasok?hiba=r[   r\   r]   i�  r   r   r   rP   u5   â�Œ A szabadsÃ¡g mentÃ©se sikertelen (felhasznÃ¡lÃ³ #z): z: z-/beallitasok?hiba=mentes_sikertelen#tab-emailu)   A mentÃ©s nem sikerÃ¼lt, prÃ³bÃ¡ld Ãºjra.iô  )N)Ú
mfa_routerÚ_idegen_eredetrH   Ústrr   Úintr
   r:   Úvisszateres_ellenorzeseÚ
startswithrF   rB   ÚszabadsagonÚkezdesÚcommitÚdatum_modositasaÚ	befejezesÚ	ExceptionÚrollbackÚprintÚtypeÚ__name__r9   ÚmodelsÚUser)r   rS   rT   rU   r   rN   r`   ÚbeÚnapr   rX   Úuser_idÚvoltÚ	valtozottÚdarabÚexr_   s                   @r"   Úprofil_szabadsag_menteser   R   s(  øé € ô × Ò  ×)Ñ)Ü�g <Ð6dÐruÑvÐvð �MÑ
!€Bñ@”#ð @œ(¤3™-ð @Ô3C÷ @ð @ð
 �4‰-€BØ
€CÞ	Ü#×;Ò;¸KÓH‰	ˆÞÞØ48·O±OÀO×4TÑ4TÑ0ð  xJð  NRó  xRÑZsð  Xp�Ü'Ð.@ÀÀÀZÐ,PÐ^aÑbÐbÜ˜' |ÈCÑPÐPà�o‰o€GÜ�×(Ñ(Ó)€DðDÞ–dÜ×"Ò" 2°SÔ9Ø�I‰IŒKÙ˜Ó'Ð'Þ–$Ü'×8Ò8¸È3ÓOˆIØ�I‰IŒKÙ®YÐ)ÓWÐWÐ<VÓWÐWÞÜ#×-Ò-¨bÓ?ˆEØ�I‰IŒKÙ˜¨Ó.Ð.ð ñ Ð*Ó+Ð+øô ó DØ
�‰ŒÜÐEÀgÀYÈcÔRVÐWYÓRZ×RcÑRcÐQdÐdfÐgiÐfjÐkÔlÞÜ#Ð(WÐehÑiÕiÜ�g 2§6¡6¬&¯+©+°wÓ#?ÐFqð  @Cñ  Dõ  	DûðDüsn   ƒC H8Ã$<F* Ä H8Ä!AF* Å$H8Å%F* Å*H8Å+5F* Æ 
H8Æ*
H5Æ4AH0Ç;H5Ç<H8È)H0È*H5È+H8È0H5È5H8)NNNéÈ   )'Ú__doc__Útypingr   Úfastapir   r   r   r   r   Úfastapi.responsesr	   r
   Úsqlalchemy.ormr   Úemail_feliratkozasr5   r>   rD   rv   r:   Údatabaser   Úroutersr   rf   Úsecurityr   Útemplates_envr   Úrouterr8   rw   rh   ri   rH   r9   rR   Úpostr   r   rI   r"   Ú<module>r�      s¬  ðñõ ç <Õ <ß <Ý "ã Û Û Û Û Ý Ý %Ý %Ý #á	‹€ð VØ;Ø 7ØDñ	€ð nrØ?Bñ�Gð  ð °·±ð ÀÈ#Áð Ð]eÐfiÑ]jð Ø˜s‘mðØ9<õð4 ‡�ˆI l€Ð3ð Ù˜T a¨GÑ4Ù˜&“/Ù 'Ð(8Ó 9ñFØðFà�‰ðFð ��}ðFð 	ð	Fð
 —+‘+ôFó 4ðFð ‡�Ð Ó!ñ �b“Ù˜B“xÙ�r“(Ù˜&“/Ù 'Ð(8Ó 9ñ4,Øð4,àð4,ð ð4,ð ð	4,ð
 	ð4,ð —+‘+ô4,ó "ñ4,rI   