ó
    î³Äj‹  ã                   ó®  • S r SSKJrJrJrJrJr  SSKJrJ	r	J
r
  SSKJr  SSKrSSKrSSKrSSKJr  SSKJrJrJrJrJr  SSKJr  \" 5       rS	S
S.rS#S\S\S\S\S\4
S jjr\RA                  S\S9\" \5      4S\S\S\4S jj5       r!\RE                  S5      \" S5      \" S5      \" \5      4S\S\S\S\S\4
S jj5       r#S\S\4S jr$S\S\4S jr%\RE                  S5      \" \5      \" \5      4S\S\S\S\RL                  4S  jj5       r'\RE                  S!5      \" S5      \" \5      \" \5      4S\S\S\S\S\RL                  4
S" jj5       r(g)$uÓ  FiÃ³k-aktivÃ¡lÃ¡s (2026-10-04, E szelet) - docs/AKTIVALAS.md

NYILVÃ�NOS (bejelentkezÃ©s nÃ©lkÃ¼li) vÃ©gpontok - a token a hitelesÃ­tÃ©s:
    GET  /aktivalas/{token}     - a jelszÃ³beÃ¡llÃ­tÃ³ Å±rlap (nem mÃ³dosÃ­t semmit)
    POST /aktivalas/{token}     - a jelszÃ³ beÃ¡llÃ­tÃ¡sa Ã©s a fiÃ³k aktivÃ¡lÃ¡sa

BEJELENTKEZETT vÃ©gpontok:
    POST /felhasznalok/{id}/aktivalas-ujrakuldes   - Ãºj aktivÃ¡lÃ³ link (rendszeradmin, vagy a cÃ©g Admin-ja a sajÃ¡t cÃ©gÃ©ben;
                                                     legfeljebb 5 percenkÃ©nt)
    POST /felhasznalok/{id}/aktivalas-kezzel       - kÃ©zi aktivÃ¡lÃ¡s jelszÃ³val (KIZÃ�RÃ“LAG a rendszeradmin)

BIZTONSÃ�G: a nyilvÃ¡nos oldalak `Referrer-Policy: no-referrer` Ã©s `Cache-Control: no-store` fejlÃ©cet
kapnak - a token az URL-ben van, Ã©s az oldal kÃ¼lsÅ‘ (CDN) stÃ­lusokat tÃ¶lt be: a Referer fejlÃ©c nÃ©lkÃ¼l ez
a token nem szivÃ¡roghat ki. Ã‰rvÃ©nytelen, lejÃ¡rt Ã©s felhasznÃ¡lt tokenre ugyanaz az oldal jelenik meg.
é    )Ú	APIRouterÚRequestÚDependsÚFormÚstatus)ÚHTMLResponseÚRedirectResponseÚJSONResponse)ÚSessionN)Úget_db)Úget_current_userÚis_rendszeradminisztratorÚjelszo_eleg_eros_eÚjelszo_tul_hosszu_eÚis_company_active)Ú	templateszno-referrerzno-store)zReferrer-PolicyzCache-ControlÚrequestÚervenyesÚtokenÚhibaÚstatus_codec           
      óž  • S nUbl  SSK Jn  U" 5       n [        R                  " XƒR                  5      n	U	R
                  [        R                  " U	5      U	R                  S.nUR                  5         [        R                  " U SXX4US.US9n
[        R                  5        H  u  p¼XÊR                  U'   M     U
$ ! UR                  5         f = f)Nr   )ÚSessionLocal)Ú	min_hosszÚszovegÚaktivzaktivalas.html)r   r   Úfelhasznalor   Úhazirend)r   ÚnameÚcontextr   )Údatabaser   Újelszo_hazirendÚszabalyok_cegreÚ
company_idr   Úkovetelmeny_szovegÚbonyolultsag_aktivÚcloser   ÚTemplateResponseÚ	_FEJLECEKÚitemsÚheaders)r   r   r   Úuserr   r   r   r   ÚdÚszabÚrespÚkÚvs                Ú%/var/www/website/routers/aktivalas.pyÚ_oldalr3       s½   € à€HØÑÝ)Ù‹Nˆð	Ü"×2Ò2°1·o±oÓFˆDØ%)§^¡^¼×?aÒ?aÐbfÓ?gÐrv÷  sJñ  sJñ  KˆHà�G‰GŒIÜ×%Ò%ØÐ.Ø%ÀdÐfnÑoØñ!€Dô —‘Ö!‰ˆØ�‰�Q‹ñ "à€Køð �G‰G�Iús   ”AB: Â:Cz/aktivalas/{token})Úresponse_classÚdbc                 óf   • [         R                  " X 5      nUc  [        USSS9$ [        USXS   S9$ )NFé”  ©r   r   Té   )r   r   r,   )Úaktivalas_utilsÚtoken_ellenorzesr3   )r   r   r5   Útalalats       r2   Úaktivalas_oldalr=   4   s9   € ä×.Ò.¨rÓ9€GØ�Ü�g¨¸3Ñ?Ð?Ü�' D°ÀA¹JÑGÐGó    .Ú	uj_jelszoÚ
uj_jelszo2c                 ó(  • [         R                  " X@5      nUc  [        USSS9$ Uu  pgX#:w  a  [        USXSS5      $ [        U5      (       a  [        USXSS5      $ [	        U5      (       d  [        USXSS5      $ [
        R                  " XGU5      nU(       a  [        USXUS5      $ [         R                  " XFXr5      (       d  [        USSS9$ [        S	[        R                  S
9n	[        R                  5        H  u  p«X¹R                  U
'   M     U	$ )NFr7   r8   Tu   A kÃ©t jelszÃ³ nem egyezik!é�  uL   A jelszÃ³ tÃºl hosszÃº (legfeljebb 72 bÃ¡jt, azaz kb. 36-72 karakter lehet)!õ9   A jelszÃ³nak legalÃ¡bb 6 karakter hosszÃºnak kell lennie!z/login?aktivalva=1©Úurlr   )r:   r;   r3   r   r   r"   Ú
ellenorzesÚaktivalr	   r   ÚHTTP_303_SEE_OTHERr)   r*   r+   )r   r   r?   r@   r5   r<   Úsorr,   Úhazirend_hibar/   r0   r1   s               r2   Úaktivalas_vegrehajtasarK   <   s  € ô ×.Ò.¨rÓ9€GØ�Ü�g¨¸3Ñ?Ð?Ø�I€CØÓÜ�g˜t UÐ2OÐQTÓUÐUÜ˜9×%Ñ%Ü�g˜t Uð  3Að  CFó  Gð  	GÜ˜i×(Ñ(Ü�g˜t UÐ2mÐorÓsÐsÜ#×.Ò.¨r¸ÓC€MÞÜ�g˜t U°-ÀÓEÐEä×"Ò" 2¨D×<Ñ<ä�g¨¸3Ñ?Ð?ô Ð 4Ä&×B[ÑB[Ñ\€DÜ—‘Ö!‰ˆØ�‰�Q‹ñ "à€Kr>   Úuser_idc                 ó
  • UR                   (       a  S[        SSS0S94$ U R                  [        R                  5      R                  [        R                  R                  U:H  5      R                  5       nUSL=(       aA    [        U5      =(       d/    UR                  S:H  =(       a    UR                  UR                  :H  nU(       d  S[        SSS0S94$ [        UR                  U 5      (       d  S[        SSS0S94$ US4$ )	uy   (cÃ©lfelhasznÃ¡lÃ³, hibavÃ¡lasz). A rendszeradmin bÃ¡rkit, a cÃ©g Admin-ja csak a sajÃ¡t cÃ©ge felhasznÃ¡lÃ³it kezelheti.Né“  ÚmessageuM   Csak megtekintÃ©si jogosultsÃ¡ggal rendelkezel, szerkesztÃ©s nem lehetsÃ©ges!©r   ÚcontentÚAdminu   Nincs jogosultsÃ¡god!uJ   Ez a cÃ©g inaktÃ­v stÃ¡tuszÃº, a felhasznÃ¡lÃ³ adatai nem szerkeszthetÅ‘k!)Úcsak_olvasasr
   ÚqueryÚmodelsÚUserÚfilterÚidÚfirstr   Úroler$   r   )r5   Úcurrent_userrL   ÚtargetÚjogs        r2   Ú_celfelhasznalo_es_jogr^   ]   s  € à× × Ø”\¨c¸Ið  HWð  <Xñ  Yð  Yð  	YØ�X‰X”f—k‘kÓ"×)Ñ)¬&¯+©+¯.©.¸GÑ*CÓD×JÑJÓL€FØ
˜Ð
÷ XÔ";¸LÓ"I÷ #WØ×Ñ˜WÑ$×U¨×):Ñ):¸l×>UÑ>UÑ)Uð ö Ø”\¨c¸IÐG^Ð;_Ñ`Ð`Ð`Ü˜V×.Ñ.°×3Ñ3Ø”\¨c¸Ið  HTð  <Uñ  Vð  Vð  	VØ�4ˆ<Ðr>   Úalapc                 óv   • [        U R                  R                  S5      =(       d    U[        R                  S9$ )NÚrefererrD   )r	   r+   Úgetr   rH   )r   r_   s     r2   Ú_visszarc   m   s*   € Ü §¡× 3Ñ 3°IÓ >× FÀ$ÔTZ×TmÑTmÑnÐnr>   z,/felhasznalok/{user_id}/aktivalas-ujrakuldesr[   c                 ón   • [        X#U 5      u  pEUb  U$ [        R                  " X$U5        [        US5      $ )Nú/felhasznalok)r^   r:   Ú
ujrakuldesrc   )rL   r   r5   r[   r\   r   s         r2   Úaktivalas_ujrakuldeserg   q   s:   € ô *¨"¸GÓD�L€FØÑØˆÜ×Ò˜r¨<Ô8Ü�7˜OÓ,Ð,r>   z(/felhasznalok/{user_id}/aktivalas-kezzelc                 ój  • [        U5      (       d  [        SSS0S9$ [        X4U 5      u  pVUb  U$ [        U5      (       a  [        SSS0S9$ [	        U5      (       d  [        SSS0S9$ [
        R                  " X5U5      nU(       a  [        SSU0S9$ [        R                  " X5XB5        [        US5      $ )	NrN   rO   u3   Csak a rendszeradminisztrÃ¡tor aktivÃ¡lhat kÃ©zzel!rP   rB   u3   A jelszÃ³ tÃºl hosszÃº (legfeljebb 72 bÃ¡jt lehet)!rC   re   )
r   r
   r^   r   r   r"   rF   r:   Úkezi_aktivalasrc   )rL   r   r?   r5   r[   r\   r   rJ   s           r2   Úaktivalas_kezzelrj      s»   € ô % \×2Ñ2Ü¨°iÐAvÐ5wÑxÐxÜ)¨"¸GÓD�L€FØÑØˆÜ˜9×%Ñ%Ü¨°iÐAvÐ5wÑxÐxÜ˜i×(Ñ(Ü¨°iÐA|Ð5}Ñ~Ð~Ü#×.Ò.¨r¸9ÓE€MÞÜ¨°iÀÐ5OÑPÐPÜ×"Ò" 2¨|ÔGÜ�7˜OÓ,Ð,r>   )Ú Nrk   éÈ   ))Ú__doc__Úfastapir   r   r   r   r   Úfastapi.responsesr   r	   r
   Úsqlalchemy.ormr   rU   r:   r"   r!   r   Úsecurityr   r   r   r   r   Útemplates_envr   Úrouterr)   ÚboolÚstrÚintr3   rb   r=   ÚpostrK   r^   rc   rV   rg   rj   © r>   r2   Ú<module>ry      sû  ðñ÷ >Õ =ß JÑ JÝ "ã Û Û Ý ß |Õ |Ý #á	‹€à -À
ÑK€	ñ�Gð  tð °Cð Èsð Ðfiõ ð( ‡�Ð °€Ð>Ù@GÈÃñ H˜3ð H¨ð H°gô Hó ?ðHð ‡�Ð!Ó"ñ ˜#“YÙ˜3“iÙ˜&“/ñØðàðð ðð ð	ð
 	ôó #ðð@˜wð ¸sô ð o�Wð o Cô oð ‡�Ð;Ó<ñ ˜&“/Ù 'Ð(8Ó 9ñ	
-Øð
-àð
-ð 	ð
-ð —+‘+ô	
-ó =ð
-ð ‡�Ð7Ó8ñ ˜#“YÙ˜&“/Ù 'Ð(8Ó 9ñ-Øð-àð-ð ð-ð 	ð	-ð
 —+‘+ô-ó 9ñ-r>   