ó
    ì³ÄjJ=  ã                   ód  • S r SSKrSSKrSSK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rSSKJr  SrSrSrS	\4S
 jrS\S	\4S jrS	\4S jrS	\4S jrS	\4S jrSS jrS	\4S jrSS jrSS\S	\4S jjrS	\4S jrS	\4S jrSSS jjr S\4S jr!S\S	\4S jr"S\S	\4S jr#S	\4S jr$g)uÀ	  FiÃ³k-aktivÃ¡lÃ¡s e-mailben kÃ¼ldÃ¶tt linkkel (2026-10-04, E szelet).

RÃ©szletes leÃ­rÃ¡s MiklÃ³snak Ã©s a jÃ¶vÅ‘beli fejlesztÅ‘knek: docs/AKTIVALAS.md

MI A LÃ‰NYEG?
    RÃ©gen az admin az Ãºj felhasznÃ¡lÃ³nak KEZDÅ�JELSZÃ“T adott (Ã©s valahogy el kellett juttatnia hozzÃ¡).
    Most az admin csak a nevet Ã©s az e-mail cÃ­met adja meg. A rendszer:
      1. a fiÃ³kot "aktivÃ¡lÃ¡sra vÃ¡rÃ³" Ã¡llapotban hozza lÃ©tre (`User.aktivalva = False`), olyan jelszÃ³val,
         amit senki nem ismer (vÃ©letlen) - Ã­gy a fiÃ³kba addig nem lehet belÃ©pni;
      2. aktivÃ¡lÃ³ levelet kÃ¼ld egy egyszer hasznÃ¡latos, 72 Ã³rÃ¡s linkkel;
      3. a felhasznÃ¡lÃ³ a linken MAGA Ã¡llÃ­tja be a jelszavÃ¡t - ettÅ‘l lesz a fiÃ³k aktÃ­v.
    A MEGLÃ‰VÅ� felhasznÃ¡lÃ³k aktivÃ¡ltnak szÃ¡mÃ­tanak (az oszlop DEFAULT 1), nekik semmi nem vÃ¡ltozik.

BIZTONSÃ�GI DÃ–NTÃ‰SEK
    - A token 256 bites vÃ©letlen (secrets.token_urlsafe), az `aktivalo_tokenek` tÃ¡blÃ¡ban CSAK a SHA-256
      lenyomata van. (A kikÃ¼ldÃ¶tt levÃ©l tÃ¶rzse a nyers linket tartalmazza, de azt az email_sor a
      kikÃ¼ldÃ©s utÃ¡n tÃ¶rli - l. email_sor.TITKOS_TORZSU_KATEGORIAK.)
    - Egyszer hasznÃ¡latos (ATOMI foglalÃ¡s: kÃ©t pÃ¡rhuzamos kÃ©rÃ©s kÃ¶zÃ¼l csak az egyik nyerhet) Ã©s 72 Ã³ra
      utÃ¡n lejÃ¡r. Ãšj link kÃ©rÃ©sekor az elÅ‘zÅ‘ tokenek Ã©rvÃ©nyÃ¼ket vesztik; az ÃºjrakÃ¼ldÃ©s 5 percenkÃ©nt
      kÃ©rhetÅ‘ (levÃ©lbombÃ¡zÃ¡s ellen).
    - A token a FELHASZNÃ�LÃ“HOZ kÃ¶tÃ¶tt: ha egy vÃ¡rÃ³ fiÃ³k e-mail cÃ­mÃ©t mÃ³dosÃ­tjÃ¡k, a rÃ©gi link Ã©rvÃ©nyÃ©t
      veszti Ã©s az Ãºj cÃ­mre Ãºj link megy (kÃ¼lÃ¶nben a rÃ©gi cÃ­met birtoklÃ³ szemÃ©ly aktivÃ¡lhatnÃ¡ a fiÃ³kot).
    - InaktivÃ¡lt fiÃ³kra / inaktÃ­v cÃ©g felhasznÃ¡lÃ³jÃ¡ra az aktivÃ¡lÃ¡s nem mÅ±kÃ¶dik.
    - A link megnyitÃ¡sa (GET) NEM vÃ¡ltoztat semmit, csak az Å±rlapot mutatja - a levÃ©lszÅ±rÅ‘k / vÃ­rusirtÃ³k
      elÅ‘zetes "megnyitÃ¡sa" Ã­gy nem hasznÃ¡lja el a tokent; a jelszÃ³beÃ¡llÃ­tÃ¡s (POST) viszi vÃ©gbe.
    - Ã‰rvÃ©nytelen, lejÃ¡rt Ã©s mÃ¡r felhasznÃ¡lt tokenre ugyanaz a vÃ¡lasz (nem derÃ¼l ki, melyik eset).
    - A jelszÃ³beÃ¡llÃ­tÃ¡skor a jelszÃ³vÃ¡ltÃ¡s idÅ‘pontja is rÃ¶gzÃ¼l (JWT-visszavonÃ¡s, mint a tÃ¶bbi jelszÃ³cserÃ©nÃ©l).

MIT NE TEGYÃ‰L?
    - Ãšj felhasznÃ¡lÃ³t lÃ©trehozÃ³ vÃ©gpontban NE `get_password_hash(jelszo)`-t hasznÃ¡lj, hanem
      `jelszo_nelkuli_hash()`-t Ã©s `meghivas()`-t (kÃ¼lÃ¶nben a fiÃ³k azonnal hasznÃ¡lhatÃ³ Ã©s jelszavas).
    - A nyers tokent ne naplÃ³zd Ã©s ne tÃ¡rold (csak a levÃ©lbe Ã©s a linkbe kerÃ¼lhet).
é    N)ÚdatetimeÚ	timedeltaÚtimezone)ÚOptional)Úget_password_hashéH   é   Ú	aktivalasÚreturnc                  ód   • [         R                  " [        R                  5      R	                  SS9$ )uD   Tz nÃ©lkÃ¼li UTC pillanat (a DB-ben Ã­gy tÃ¡roljuk az idÅ‘pontokat).N)Útzinfo)r   Únowr   ÚutcÚreplace© ó    Ú#/var/www/website/aktivalas_utils.pyÚ	_utc_mostr   3   s#   € ä�<Š<œŸ™Ó%×-Ñ-°TÐ-Ð:Ð:r   Útokenc                 óz   • [         R                  " U =(       d    SR                  S5      5      R                  5       $ )NÚ zutf-8)ÚhashlibÚsha256ÚencodeÚ	hexdigest)r   s    r   Útoken_lenyomatr   8   s)   € Ü�>Š>˜5Ÿ; B×.Ñ.¨wÓ7Ó8×BÑBÓDÐDr   c                  ó@   • [        [        R                  " S5      5      $ )u�   Egy senki Ã¡ltal nem ismert (vÃ©letlen) jelszÃ³ bcrypt-lenyomata: az aktivÃ¡lÃ¡sra vÃ¡rÃ³ fiÃ³kba Ã­gy
semmilyen jelszÃ³val nem lehet belÃ©pni.é0   )r   ÚsecretsÚtoken_urlsafer   r   r   Újelszo_nelkuli_hashr!   <   s   € ô œW×2Ò2°2Ó6Ó7Ð7r   c                 óT   • [        [        R                  " U =(       d    S/5      5      $ )uk   Igaz, ha az e-mail cÃ­m olyan, amire a levÃ©lsor ki tud kÃ¼ldeni (ugyanaz a szabÃ¡ly, mint a kÃ¼ldÃ©snÃ©l).r   )ÚboolÚ	email_sorÚcimek_tisztitasa)Úemails    r   Úemail_ervenyes_er'   B   s   € ä”	×*Ò*¨E¯K°R¨=Ó9Ó:Ð:r   c                 ó   • U R                   SL$ )um   Igaz, ha a felhasznÃ¡lÃ³ aktivÃ¡lt. NULL (rÃ©gi sor) = aktivÃ¡lt; csak a kifejezett False vÃ¡r aktivÃ¡lÃ¡sra.F)Ú	aktivalva)Úusers    r   Úaktivalva_er+   G   s   € à�>‰> Ð&Ð&r   c                 óÄ   • U R                  [        R                  5      R                  [        R                  R                  UR
                  :H  5      R                  SS9  g)u^   A felhasznÃ¡lÃ³ Ã¶sszes aktivÃ¡lÃ³ tokenjÃ©nek tÃ¶rlÃ©se (pl. inaktivÃ¡lÃ¡skor). NEM commitol.F©Úsynchronize_sessionN)ÚqueryÚmodelsÚAktivaloTokenÚfilterÚuser_idÚidÚdelete)Údbr*   s     r   Útokenek_torleser7   O   sC   € à‡H�HŒV×!Ñ!Ó"×)Ñ)¬&×*>Ñ*>×*FÑ*FÈ$Ï'É'Ñ*QÓR×YÑYÐnsÐYÒtr   c                 óŒ  • [         R                  nU R                  U5      R                  UR                  UR
                  :H  UR                  [        :H  5      R                  SS9  [        R                  " S5      n[        5       nU R                  U" UR
                  [        U5      [        XD[        [        S9-   S95        U$ )uº   Ãšj aktivÃ¡lÃ³ token; az ehhez a felhasznÃ¡lÃ³hoz tartozÃ³ korÃ¡bbi (mÃ©g fel nem hasznÃ¡lt) tokenek
tÃ¶rlÅ‘dnek. NEM commitol. VisszatÃ©rÃ©s: a NYERS token (csak a levÃ©lbe kerÃ¼lhet!).Fr-   é    ©Úhours)r3   Ú
token_hashÚcelÚletrehozva_atÚlejar_at)r0   r1   r/   r2   r3   r4   r=   ÚCEL_AKTIVALASr5   r   r    r   Úaddr   r   ÚTOKEN_ERVENYESSEG_ORA)r6   r*   ÚAr   Úmosts        r   Ú_token_kiallitasarE   T   sš   € ô 	×Ñ€AØ‡H�HˆQƒK×Ñ�q—y‘y D§G¡GÑ+¨Q¯U©U´mÑ-CÓD×KÑKÐ`eÐKÑfÜ×!Ò! "Ó%€EÜ‹;€DØ‡F�F‰1�T—W‘W¬¸Ó)>ÄMØ´ÔAVÑ1WÑ*WñYô Zà€Lr   c                 ó|  • [         R                  " U Vs/ s H  o"(       d  M  UPM     sn5      nU(       d  g[        R                  nU R	                  U5      R                  UR                  S:H  UR                  [         R                  :H  UR                  R                  U5      5      R                  SS9  gs  snf )uK  A kimenÅ‘ sorban MÃ‰G VÃ�RAKOZÃ“ (el nem kÃ¼ldÃ¶tt) aktivÃ¡lÃ³ levelek tÃ¶rlÃ©se az adott cÃ­mekrÅ‘l.
MiÃ©rt? Ãšj link kiÃ¡llÃ­tÃ¡sakor a rÃ©gi link Ã©rvÃ©nytelen - a mÃ©g el nem kÃ¼ldÃ¶tt rÃ©gi levÃ©l csak a kÃ¶zÃ¶s
Ã³rÃ¡nkÃ©nti/napi levÃ©lkorlÃ¡tot fogyasztanÃ¡, Ã©s a cÃ­mzettet is Ã¶sszezavarnÃ¡ (halott linkkel).
NEM commitol.Nr
   Fr-   )r$   r%   r0   ÚEmailKimenor/   r2   Ú	kategoriaÚallapotÚALLAPOT_VARAKOZIKÚcimzettÚin_r5   )r6   ÚcimekÚcÚtisztaÚKs        r   Ú_sorbeli_regi_levelek_torleserQ   `   sŠ   € ô
 ×'Ò'±EÓ(?²E¨q»Q¯±EÑ(?Ó@€FÞØÜ×Ñ€AØ‡H�HˆQƒK×Ñ�q—{‘{ kÑ1°1·9±9Ä	×@[Ñ@[Ñ3[Ø—y‘y—}‘} VÓ,ó.ß.4©fÈ¨fÒ.Oùò )@s
   •
B9£B9c                 óf  • [        XR                  U/5        S n[        R                  " U 5      nUR                  R                  S5      S-   U-   nUR                  (       a*  U R                  [        R                  UR                  5      OSnUb  U" UR                  5      OSn	SU" UR                  5       SU	 SUb  S	U" UR                  5      -   S
-   OS SU" U5       S[         SU" U5       S3n
[        R                  " UR                  /SU
S[        R                  UR                  U S9$ )uª   Az aktivÃ¡lÃ³ levÃ©l a kimenÅ‘ sorba. NEM commitol. A (rÃ©gi Ã©s az Ãºj) cÃ­mre mÃ©g vÃ¡rÃ³ korÃ¡bbi aktivÃ¡lÃ³
levelek tÃ¶rlÅ‘dnek (lÃ¡sd _sorbeli_regi_levelek_torlese).c                 óN   • [         R                  " U c  SSS9$ [        U 5      SS9$ )Nr   T)Úquote)ÚhtmlÚescapeÚstr)Úxs    r   Ú<lambda>Ú_level_sorba.<locals>.<lambda>q   s   € ”$—+’+ A¡I˜bÀÒF´3°q³6ÀÒFr   Ú/z/aktivalas/Nza rendszergazdau|   <div style="font-family:Arial,sans-serif;max-width:560px;margin:auto"><h2>ÃœdvÃ¶zlÃ¼nk az EmeLOG rendszerben!</h2><p>Kedves z!</p><p>u     fiÃ³kot hozott lÃ©tre szÃ¡modraz	 a(z) <b>u   </b> cÃ©gnÃ©lr   u‰   . A fiÃ³k hasznÃ¡latÃ¡hoz Ã¡llÃ­tsd be a jelszavadat az alÃ¡bbi gombra kattintva:</p><p style="text-align:center;margin:28px 0"><a href="uŸ   " style="background-color:#0d6efd;color:#fff;padding:12px 24px;text-decoration:none;border-radius:5px;font-weight:bold">FiÃ³k aktivÃ¡lÃ¡sa</a></p><p>A link <b>uŸ    Ã³rÃ¡ig</b> Ã©rvÃ©nyes, Ã©s csak egyszer hasznÃ¡lhatÃ³. Ha a gomb nem mÅ±kÃ¶dik, mÃ¡sold a bÃ¶ngÃ©szÅ‘dbe ezt a cÃ­met:<br><span style="word-break:break-all">u±   </span></p><p style="color:#666;font-size:12px">Ha nem szÃ¡mÃ­tottÃ¡l erre a levÃ©lre, hagyd figyelmen kÃ­vÃ¼l - a fiÃ³k a link megnyitÃ¡sa nÃ©lkÃ¼l nem hasznÃ¡lhatÃ³.</p></div>u   AktivÃ¡ld az EmeLOG fiÃ³kodatr
   )rH   Ú	prioritasÚ
company_idr6   )rQ   r&   Úemail_beallitasokÚbetoltÚalkalmazas_url_vagy_alapÚrstripr]   Úgetr0   ÚCompanyÚusernameÚnevrB   r$   Úsorba_allitÚPRIORITAS_NORMAL)r6   r*   r   ÚkuldoÚ
regi_emailÚeÚbeallÚlinkÚcegÚkiÚtorzss              r   Ú_level_sorbarp   m   s8  € ô " "§z¡z°:Ð&>Ô?ÙF€AÜ×$Ò$ RÓ(€EØ×)Ñ)×0Ñ0°Ó5¸ÑEÈÑM€DØ59·_·_ˆ"�&‰&”—‘ §¡Ô
1È$€CØ#Ñ/‰ˆ5�>‰>Ô	Ð5F€Bðá�t—}‘}Ó%Ð&ð 'ØˆTÐ1Ø;>¹?ˆK™!˜CŸG™G›*Ñ$ Ò6ÐPRÐ
Sð Tñ �t“W�Ið ä-Ð.ð /0á01°$³¨yð 9Kð	Lð 
ô& × Ò  $§*¡* Ð/NÐPUÐalÜ+4×+EÑ+EÐRV×RaÑRaÐfhñjð jr   c                 ó^   • SUl         U R                  5         [        X5      n[        XX25      $ )uq  Az (ÃšJ, mÃ©g db.add-olt) felhasznÃ¡lÃ³t aktivÃ¡lÃ¡sra vÃ¡rÃ³ Ã¡llapotba teszi, tokent Ã¡llÃ­t ki Ã©s
kikÃ¼ldi az aktivÃ¡lÃ³ levelet. HÃ­vÃ¡s elÅ‘tt a user.hashed_password-nek `jelszo_nelkuli_hash()`-nek
kell lennie. NEM commitol (a hÃ­vÃ³ commitol az Ãºj felhasznÃ¡lÃ³val egyÃ¼tt).
VisszatÃ©rÃ©s: a sorba Ã¡llÃ­tott levelek szÃ¡ma (0, ha nincs Ã©rvÃ©nyes e-mail cÃ­m).F)r)   ÚflushrE   rp   )r6   r*   rh   r   s       r   Úmeghivasrs   �   s+   € ð
 €D„NØ‡H�H„JÜ˜bÓ'€EÜ˜ %Ó/Ð/r   c                 óê  • [        U5      (       d)  UR                  SL d  [        UR                  5      (       d  g[        R
                  nU R                  U5      R                  UR                  UR                  :H  UR                  [        :H  5      R                  UR                  R                  5       5      R                  5       nUb'  UR                  [!        5       [#        [$        S9-
  :”  a  g['        X5      n[)        XXR5        U R+                  [        R,                  " UR.                  Ub  UR                  OSSSUR0                   SUR                   S3S95        U R3                  5         g	)
uo  Ãšj aktivÃ¡lÃ³ link kÃ¼ldÃ©se egy mÃ©g aktivÃ¡lÃ¡sra vÃ¡rÃ³ felhasznÃ¡lÃ³nak (az elÅ‘zÅ‘ link Ã©rvÃ©nytelennÃ©
vÃ¡lik). Igaz, ha ki lett kÃ¼ldve (sorba Ã¡llÃ­tva). Hamis, ha a fiÃ³k mÃ¡r aktivÃ¡lt / inaktÃ­v, az e-mail cÃ­m
Ã©rvÃ©nytelen (ilyenkor a rÃ©gi link Ã‰RVÃ‰NYBEN marad), vagy az utolsÃ³ levÃ©l Ã³ta mÃ©g nem telt el
UJRAKULDES_VARAKOZAS_PERC perc. COMMITOL.FN)Úminutesu   AktivÃ¡lÃ³ link ÃºjrakÃ¼ldveÚ-ú (Ú)©r]   r3   Ú
field_nameÚ	old_valueÚ	new_valueT)r+   Úaktivr'   r&   r0   r1   r/   r2   r3   r4   r=   r@   Úorder_byr>   ÚdescÚfirstr   r   ÚUJRAKULDES_VARAKOZAS_PERCrE   rp   rA   ÚAuditLogr]   rd   Úcommit)r6   r*   rh   rC   Úutolsor   s         r   Ú
ujrakuldesr…   ˜   s  € ô
 �4×Ñ˜DŸJ™J¨%Ò/Ô7GÈÏ
É
×7SÑ7SØÜ×Ñ€AØ�X‰X�a‹[×Ñ §	¡	¨T¯W©WÑ 4°a·e±e¼}Ñ6LÓM×VÑVÐWX×WfÑWf×WkÑWkÓWmÓn×tÑtÓv€FØÑ˜f×2Ñ2´Y³[Ä9ÔUnÑCoÑ5oÓoØÜ˜bÓ'€EÜ�˜5Ô(Ø‡F�FŒ6�?Š?Ø—?‘?¸Ñ8I¨E¯HªHÈtØ1¸SÈtÏ}É}ÈoÐ]_Ð`d×`jÑ`jÐ_kÐklÐLmñoô pð ‡I�I„KØr   c                 óÐ   • [        U5      (       a  g[        X5        UR                  SLa/  [        UR                  5      (       a  [        X[        X5      X#S9  g[        X/5        g)u8  Egy vÃ¡rÃ³ fiÃ³k e-mail cÃ­mÃ©nek mÃ³dosÃ­tÃ¡sa utÃ¡n hÃ­vandÃ³: a rÃ©gi cÃ­mre kÃ¼ldÃ¶tt link Ã©rvÃ©nyÃ©t veszti, az
ÃšJ cÃ­mre Ãºj link megy. (KÃ¼lÃ¶nben a rÃ©gi - elgÃ©pelt vagy volt - cÃ­met birtoklÃ³ szemÃ©ly aktivÃ¡lhatnÃ¡ a
fiÃ³kot.) Nem vÃ¡rÃ³ fiÃ³kra nem csinÃ¡l semmit. A hÃ­vÃ³ commitol. NEM commitol.NF)ri   )r+   r7   r}   r'   r&   rp   rE   rQ   )r6   r*   rh   ri   s       r   Úemail_valtozas_kezeleser‡   ¬   sQ   € ô �4×ÑØÜ�BÔØ‡z�z˜ÒÔ#3°D·J±J×#?Ñ#?Ü�RÔ0°Ó:¸EÓYä% b¨,Õ7r   c                 óŽ  • U(       a  [        U5      S:”  a  g[        R                  nU R                  U5      R	                  UR
                  [        U5      :H  UR                  [        :H  5      R                  5       nUb%  UR                  c  UR                  [        5       ::  a  gU R                  [        R                  UR                  5      nUb  [!        U5      (       d  UR"                  SL a  gUR$                  (       a*  U R                  [        R&                  UR$                  5      OSnUb  UR"                  SL a  gX44$ )uÐ   A token alapjÃ¡n visszaadja a (token-sor, felhasznÃ¡lÃ³) pÃ¡rt, ha a token Ã©rvÃ©nyes (lÃ©tezik, nem
hasznÃ¡ltÃ¡k fel, nem jÃ¡rt le) Ã‰S a fiÃ³k mÃ©g aktivÃ¡lÃ¡sra vÃ¡r; kÃ¼lÃ¶nben None. Nem mÃ³dosÃ­t semmit.éÈ   NF)Úlenr0   r1   r/   r2   r<   r   r=   r@   r€   Úfelhasznalva_atr?   r   rb   ÚUserr3   r+   r}   r]   rc   )r6   r   rC   Úsorr*   rm   s         r   Útoken_ellenorzesrŽ   ¼   sê   € ö ”C˜“J Ó$ØÜ×Ñ€AØ
�(‰(�1‹+×
Ñ
˜QŸ\™\¬^¸EÓ-BÑBÀAÇEÁEÌ]ÑDZÓ
[×
aÑ
aÓ
c€CØ
�{�c×)Ñ)Ñ5¸¿¹ÌËÓ9TØØ�6‰6”&—+‘+˜sŸ{™{Ó+€DØ�|”{ 4×(Ñ(¨D¯J©J¸%Ò,?ØØ59·_·_ˆ"�&‰&”—‘ §¡Ô
1È$€CØ
�˜3Ÿ9™9¨Ò-ØØˆ9Ðr   Újelszoc                 ó  • [        5       n[        R                  nU R                  U5      R	                  UR
                  UR
                  :H  UR                  R                  S5      5      R                  SU0SS9nUS:w  a  U R                  5         g[        U5      Ul        XBl        SUl        [        R                  " XS5        U R                  U5      R	                  UR                   UR
                  :H  UR
                  UR
                  :g  5      R#                  SS9  U R%                  [        R&                  " UR(                  UR
                  SSUR*                   S	UR,                   S
3S95        U R/                  5         g)uÏ  A jelszÃ³ beÃ¡llÃ­tÃ¡sa Ã©s a fiÃ³k aktivÃ¡lÃ¡sa a linken. A hÃ­vÃ³ elÅ‘tte ellenÅ‘rzi a jelszÃ³ erÅ‘ssÃ©gÃ©t Ã©s a
token Ã©rvÃ©nyessÃ©gÃ©t. A tokent ATOMIKUSAN foglalja le (`UPDATE ... WHERE felhasznalva_at IS NULL`):
ha kÃ©t kÃ©rÃ©s egyszerre Ã©rkezik ugyanazzal a tokennel, csak az egyik nyer (a mÃ¡sik hamisat kap) - az
egyszeri felhasznÃ¡lhatÃ³sÃ¡g Ã­gy nem fÃ¼gg a MariaDB tranzakciÃ³-izolÃ¡ciÃ³jÃ¡tÃ³l. COMMITOL.
Igaz, ha ez a hÃ­vÃ¡s aktivÃ¡lta a fiÃ³kot.Nr‹   Fr-   é   Tu   FiÃ³k aktivÃ¡lvaõ   AktivÃ¡lÃ¡sra vÃ¡rrw   u,   ) - jelszÃ³ beÃ¡llÃ­tva az aktivÃ¡lÃ³ linkenry   )r   r0   r1   r/   r2   r4   r‹   Úis_ÚupdateÚrollbackr   Úhashed_passwordÚjelszo_valtozott_atr)   Újelszo_hazirendÚuj_jelszo_utanr3   r5   rA   r‚   r]   rd   r&   rƒ   )r6   r�   r*   r�   rD   rC   Úfoglalts          r   Úaktivalr›   Î   s8  € ô ‹;€DÜ×Ñ€AØ�h‰h�q‹k× Ñ  §¡¨¯©¡°×1BÑ1B×1FÑ1FÀtÓ1LÓM×TÑTØ	˜DÐ!°uð Uð >€Gà�!ƒ|Ø
�‰ŒØÜ,¨VÓ4€DÔØ#ÔØ€D„NÜ×"Ò" 2¨TÔ2à‡H�HˆQƒK×Ñ�q—y‘y D§G¡GÑ+¨Q¯T©T°S·V±V©^Ó<×CÑCÐX]ÐCÑ^Ø‡F�FŒ6�?Š?Ø—?‘?¨D¯G©GØ%Ð1EØ—]‘]�O 2 d§j¡j \Ð1]Ð^ñ`ô að ‡I�I„KØr   c                 óD  • [        U5      (       a  g[        5       n[        U5      Ul        XAl        SUl        [        R                  " XS5        U R                  [        R                  5      R                  [        R                  R                  UR                  :H  5      R                  SS9  U R                  [        R                   " UR"                  UR                  SSUR$                   SUR&                   SUR$                   3S	95        U R)                  5         g)
uÅ   A rendszeradmin kÃ©zzel aktivÃ¡l egy fiÃ³kot (pl. ha az SMTP nincs beÃ¡llÃ­tva), Ã©s beÃ¡llÃ­tja a jelszÃ³t.
A jogosultsÃ¡got (csak rendszeradmin) a HÃ�VÃ“ ellenÅ‘rzi. Igaz, ha aktivÃ¡lt. COMMITOL.FTNr-   u   FiÃ³k aktivÃ¡lva kÃ©zzelr’   rw   u   ) - aktivÃ¡lta: ry   )r+   r   r   r–   r—   r)   r˜   r™   r/   r0   r1   r2   r3   r4   r5   rA   r‚   r]   rd   r&   rƒ   )r6   r*   Úrendszeradminr�   rD   s        r   Úkezi_aktivalasrž   é   sä   € ô �4×ÑØÜ‹;€DÜ,¨VÓ4€DÔØ#ÔØ€D„NÜ×"Ò" 2¨TÔ2Ø‡H�HŒV×!Ñ!Ó"×)Ñ)¬&×*>Ñ*>×*FÑ*FÈ$Ï'É'Ñ*QÓR×YÑYÐnsÐYÑtØ‡F�FŒ6�?Š?Ø—?‘?¨M×,<Ñ,<Ø-Ð9MØ—]‘]�O 2 d§j¡j \Ð1AÀ-×BXÑBXÐAYÐZñ\ô ]ð ‡I�I„KØr   c            	      ó„  • SSK Jn   U " 5       n [        5       [        SS9-
  n[        R
                  nUR                  U5      R                  UR                  U:  UR                  R                  S5      UR                  U:  -  -  5      R                  SS9n[        R                  nUR                  U5      R                  UR                  R                  [        [         R"                  5      5      UR$                  [        5       [        [&        S-   S	9-
  :  5      R)                  S
S0SS9  UR+                  5         UUR-                  5         $ ! [.         aN  nUR1                  5         [3        S[5        U5      R6                   SU 35         SnAUR-                  5         gSnAff = f! UR-                  5         f = f)uY   A lejÃ¡rt / felhasznÃ¡lt tokenek tÃ¶rlÃ©se (1 nap tÃ¼relmi idÅ‘vel). SOSEM dob kivÃ©telt.r   )ÚSessionLocalr‘   )ÚdaysNFr-   é   r:   Ú
torzs_htmlu;   <p>(a levÃ©l tartalmÃ¡t biztonsÃ¡gi okbÃ³l tÃ¶rÃ¶ltÃ¼k)</p>u0   â�Œ Hiba az aktivÃ¡lÃ³ tokenek takarÃ­tÃ¡sakor: z: )Údatabaser    r   r   r0   r1   r/   r2   r?   r‹   Úisnotr5   rG   rH   rL   Úlistr$   ÚTITKOS_TORZSU_KATEGORIAKr>   rB   r”   rƒ   ÚcloseÚ	Exceptionr•   ÚprintÚtypeÚ__name__)r    r6   ÚhatarrC   ÚnrP   rj   s          r   Ú	takaritasr¯   ÿ   sm  € å%Ù	‹€BðÜ“œi¨QÑ/Ñ/ˆÜ× Ñ ˆØ�H‰H�Q‹K×Ñ §
¡
¨UÑ 2°q×7HÑ7H×7NÑ7NÈtÓ7TÐXY×XiÑXiÐlqÑXqÑ7rÑsó !ß!'¡¸E Ð!Bð 	
ô ×ÑˆØ
�‰�‹×Ñ˜1Ÿ;™;Ÿ?™?¬4´	×0RÑ0RÓ+SÓTØŸ?™?¬Y«[¼9ÔK`ÐceÑKeÑ;fÑ-fÑfó	ç#™V \Ð3pÐ$qð  HM˜Vñ  NØ
�	‰	ŒØð 	�‰�
øô ó Ø
�‰ŒÜÐ@ÄÀaÃ×AQÑAQÐ@RÐRTÐUVÐTWÐXÔYÛà
�‰�
ûðûð
 	�‰�
ús*   �D2E Å
F*Å4F%ÆF- Æ%F*Æ*F- Æ-F?)r   N)N)%Ú__doc__r   rU   r   r   r   r   Útypingr   r˜   r0   r^   r$   Úsecurityr   rB   r�   r@   r   rW   r   r!   r#   r'   r+   r7   rE   rQ   Úintrp   rs   r…   r‡   rŽ   r›   rž   r¯   r   r   r   Ú<module>r´      s  ðñ óB Û Û ß 2Ñ 2Ý ã Û Û Û Ý &àÐ ØÐ Ø€ð;�8ô ;ð
E˜#ð E #ô Eð8˜Sô 8ð;˜tô ;ð
'˜ô 'ôuð
	 3ô 	ô
Pñj #ð jÀ#õ jð@0 ô 0ð 4ô ö(
8ð  ô ð$ 3ð ¨4ô ð6°Cð ¸Dô ð,�3õ r   