ó
    N¹ÄjL  ã                   óJ  • S 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
r
SSKrSSKrSSKr/ SQr\ V s/ s H  o S   PM	     sn rSrSrSrS	rS
rSrSrSrSrSrS\4S jrS rS rS rS rS rS r SSSS.r!S\"4S jr#S\$4S jr%S\&4S jr'S\$S\(S\(4S  jr)gs  sn f )!up  A RENDSZERADMIN DASHBOARD adatai (2026-10-05, v30).  RÃ©szletes leÃ­rÃ¡s MiklÃ³snak: docs/RA_DASHBOARD.md

MIRE VAN?
    A /rendszeradmin oldal (routers/rendszeradmin_dashboard.py) ezzel a modullal Ã¡llÃ­tja Ã¶ssze, amit kirak:
      1. a KÃ�RTYÃ�K (widgetek) szÃ¡mait: cÃ©gek, felhasznÃ¡lÃ³k, 2FA, levelezÃ©s, belÃ©pÃ©si tiltÃ¡sok, rendszer;
      2. az "AKTÃ�V PROBLÃ‰MÃ�K" kÃ¡rtya tÃ©teleit: minden olyan Ã¡llapot, amire a rendszeradminnak figyelnie kell.

SZABÃ�LYOK (miÃ©rt nÃ©z ki Ã­gy a kÃ³d):
    * CSAK OLVAS. Egyetlen fÃ¼ggvÃ©ny sem Ã­r az adatbÃ¡zisba - kivÃ©ve a `kartya_beallitasa()`, amit kizÃ¡rÃ³lag egy
      POST kÃ©rÃ©s hÃ­v (a GET-nek nem szabad Ã­rnia: docs/GET_ATTEKINTES.md). A t_get_audit teszt ezt Å‘rzi.
    * MeglÃ©vÅ‘ segÃ©deket hasznÃ¡l (email_sor, email_beallitasok, mfa_utils, login_vedelem, licenc_utils), nem mÃ¡solja
      a szabÃ¡lyaikat - Ã­gy a dashboard ugyanazt mondja, mint a rÃ©szletes oldalak.
    * Egy ellenÅ‘rzÃ©s hibÃ¡ja NEM ejti el az oldalt: `_biztonsagos()` a hibÃ¡t egy "az ellenÅ‘rzÃ©s nem futott le"
      problÃ©matÃ©telkÃ©nt mutatja (Ã©s a konzolra naplÃ³zza), a tÃ¶bbi kÃ¡rtya tovÃ¡bb mÅ±kÃ¶dik.
    * Az "AktÃ­v problÃ©mÃ¡k" kÃ¡rtya MINDIG lÃ¡tszik, nem kapcsolhatÃ³ ki (megrendelÅ‘i dÃ¶ntÃ©s). A tÃ¶bbi kÃ¡rtya
      felhasznÃ¡lÃ³nkÃ©nt ki/be kapcsolhatÃ³; a rejtett kÃ¡rtyÃ¡k kulcsait a `rendszer_beallitasok` tÃ¡blÃ¡ban tÃ¡roljuk
      (kulcs: `ra_dashboard_rejtett_<user_id>`, Ã©rtÃ©k: vesszÅ‘vel elvÃ¡lasztott kÃ¡rtya-kulcsok).
      MIÃ‰RT NEM A `Dictionary`-BEN? Mert a /rendszeradmin/cegek/uj az 1-es cÃ©g MINDEN szÃ³tÃ¡rsorÃ¡t Ã¡tmÃ¡solja az Ãºj
      cÃ©gekhez - a rendszeradmin sajÃ¡t beÃ¡llÃ­tÃ¡sa nem valÃ³ egy cÃ©g adatai kÃ¶zÃ©.

A PROBLÃ‰MATÃ‰TEL FELÃ‰PÃ�TÃ‰SE (dict):
    kategoria - "levelezes" | "ketlepcsos" | "belepes" | "rendszer"   (a kÃ¡rtyÃ¡n csoportosÃ­tÃ¡shoz)
    szint     - "piros" (azonnali beavatkozÃ¡s) | "sarga" (figyelmeztetÃ©s) | "info" (tÃ¡jÃ©koztatÃ¡s, NEM szÃ¡mÃ­t problÃ©mÃ¡nak)
    darab     - az Ã©rintett elemek szÃ¡ma (Ã¶sszegezve: nem soronkÃ©nt listÃ¡zunk)
    szoveg    - emberi leÃ­rÃ¡s
    url       - ide visz a kattintÃ¡s (a relevÃ¡ns beÃ¡llÃ­tÃ³ oldal)
é    )ÚdatetimeÚ	timedeltaÚtimezone)ÚfuncN))Úcegeku   CÃ©gekzfa-buildingú/rendszeradmin/cegek)Úfelhasznaloku   FelhasznÃ¡lÃ³kzfa-usersú/felhasznalok)Ú
ketlepcsosu   KÃ©tlÃ©pcsÅ‘s hitelesÃ­tÃ©szfa-shield-halvedú/rendszeradmin/ketlepcsos)Ú	levelezesu
   LevelezÃ©szfa-envelopeú /rendszeradmin/email-beallitasok)Útiltasoku   BelÃ©pÃ©si tiltÃ¡sokzfa-user-lockú/rendszeradmin/kitiltasok)ÚrendszerÚRendszerz	fa-serverú/rendszeradmin/rendszerinfo)Únaplou   RendszernaplÃ³zfa-clipboard-listz/rendszeradmin/naploÚemail_kiuritesé
   é   z/rendszeradmin/email-sorr   r   r   r
   r   r   Úreturnc                  ód   • [         R                  " [        R                  5      R	                  S S9$ )N©Útzinfo)r   Únowr   ÚutcÚreplace© ó    Ú&/var/www/website/ra_dashboard_utils.pyÚ	_utc_mostr"   D   s#   € Ü�<Š<œŸ™Ó%×-Ñ-°TÐ-Ð:Ð:r    c                 ó   • XX#US.$ )N©Ú	kategoriaÚszintÚdarabÚszovegÚurlr   r$   s        r!   Ú_tetelr*   H   s   € Ø"¸UÐ]`ÑaÐar    c           
      óþ   •  U" 5       $ ! [          ai  n[        SU S[        U5      R                   SU 35         U R	                  5         O! [          a     Of = fS[        USSSU S3U5      /4s SnA$ SnAff = f)	un   Lefuttat egy ellenÅ‘rzÃ©st; hiba esetÃ©n NEM dob, hanem (Ã¼res adat, [figyelmeztetÅ‘ tÃ©tel]) pÃ¡rt ad vissza.u   â�Œ RA dashboard: a(z) u    ellenÅ‘rzÃ©s nem futott le: ú: NÚsargaé   zA(z) uA    ellenÅ‘rzÃ©se nem futott le (rÃ©szletek a szerver naplÃ³jÃ¡ban).)Ú	ExceptionÚprintÚtypeÚ__name__Úrollbackr*   )Údbr%   ÚnevÚfuggvenyr)   Úes         r!   Ú_biztonsagosr8   L   sª   € ðJÙ‹zÐøÜó JÜÐ'¨ uÐ,IÌ$ÈqË'×JZÑJZÐI[Ð[]Ð^_Ð]`ÐaÔbð	Ø�K‰K�MøÜó 	Ùð	úà”f˜Y¨°°e¸C¸5ð  ABð  5Cð  EHó  Ið  Jð  Jõ  	JûðJús=   ‚	 ‰
A<“'A7»AÁA7Á
AÁA7ÁAÁA7Á1A<Á7A<c           
      ó^  • [         R                  " U 5      n[        R                  " U 5      n/ nUS   (       a+  UR	                  [        SSUS   US    S3[        5      5        US   (       a+  UR	                  [        SSUS   US    S3[        5      5        UR                  (       d#  UR	                  [        SSSS	[        5      5        O3UR                  (       d"  UR	                  [        SSSS
[        5      5        US   nUbl  U[        5       [        [        S9-
  :  aP  [        [        5       U-
  R                  5       S-  5      nUR	                  [        SSUS   SU S3[        5      5        [        U5      nUR                  US'   UR                   US'   UR                  US'   Xc4$ )NÚhibasr   Úpirosu/    levÃ©l kÃ¼ldÃ©se sikertelen (hibÃ¡s a sorban).Úlejartr-   u+    levÃ©l lejÃ¡rt, mielÅ‘tt kimehetett volna.r.   ui   Nincs SMTP-szerver beÃ¡llÃ­tva: a levelek csak szimulÃ¡lva mennek ki, valÃ³jÃ¡ban senkihez nem jutnak el.ub   Az SMTP-jelszÃ³ nem fejthetÅ‘ vissza (megvÃ¡ltozott SECRET_KEY?): a levÃ©lkÃ¼ldÃ©s nem mÅ±kÃ¶dhet.Úlegregebbi_varakozo©Úminutesé<   Ú	varakoziku;   A levÃ©lsor megakadhatott: a legrÃ©gebbi vÃ¡rakozÃ³ levÃ©l u6    perce vÃ¡r (az Ã³rÃ¡nkÃ©nti/napi limit is okozhatja).ÚkonfiguraltÚforrasÚjelszo_visszafejtheto)Ú	email_sorÚstatisztikaÚemail_beallitasokÚbetoltÚappendr*   ÚURL_EMAIL_SORrB   ÚURL_EMAIL_BEALLITASOKrD   r"   r   ÚSOR_MEGAKADAS_PERCÚintÚtotal_secondsÚdictrC   )r4   ÚstatÚbeallÚtetelekÚ
legregebbiÚpercÚadats          r!   Ú
_levelezesrV   \   s°  € Ü× Ò  Ó$€DÜ×$Ò$ RÓ(€EØ€GàˆG‡}Ø�‰”v˜k¨7°D¸±MØ!% g¡ Ð/^Ð_Ôanópô 	qàˆH‡~Ø�‰”v˜k¨7°D¸±NØ!% h¡Ð 0Ð0[Ð\Ô^kómô 	nà××Ø�‰”v˜k¨7°Að JÜ3ó5õ 	6ð ×(×(Ø�‰”v˜k¨7°Að CÜ3ó5ô 	6ð Ð+Ñ,€JØÑ *¬y«{¼YÔOaÑ=bÑ/bÓ"bÜ”I“K *Ñ,×;Ñ;Ó=ÀÑCÓDˆØ�‰”v˜k¨7°D¸Ñ4EØ [Ð\`Ð[að bKð LÜMZó\ô 	]ô �‹:€DØ×+Ñ+€DˆÑØ—\‘\€Dˆ�NØ$)×$?Ñ$?€DÐ	 Ñ!Øˆ=Ðr    c           
      ó&  • [         R                  " U 5      nU R                  [        R                  5      R                  [        R                  R                  S:g  5      R                  5       n0 nU(       až  U R                  [        R                  5      R                  [        R                  R                  R                  [        U5      5      5      R                  5        H.  n[         R                  " X5       H  nXSUR                  '   M     M0     S=pgUR                  5        HP  n[        R                  " U5      (       d  M   [         R                  " U5      nUS:X  a  US-  nMC  US:X  d  MK  US-  nMR     Sn	U R                  [        R                   5      R                  [        R                   R"                  R%                  S5      [        R                   R&                  R%                  S5      5      R                  5        H$  n[         R                  " U5      S:X  d  M  U	S-  n	M&     [         R(                  " U 5      n
[+        S U
 5       5      n/ nU	(       a%  UR-                  [/        SS	U	U	 S
3[0        5      5        U(       a%  UR-                  [/        SSUU S3[0        5      5        U(       a%  UR-                  [/        SSUU S3[0        5      5        [3        U5      U[3        U5      XgU	[3        U
5      [3        U
5      U-
  S.nXÜ4$ )Nr.   r   ÚkeszÚnincsTÚhelyreallitandoc              3   ó`   #   • U  H$  n[         R                  " U5      (       a  M   S v •  M&     g7f©r.   N)Ú	mfa_utilsÚbeallitva_e)Ú.0Úus     r!   Ú	<genexpr>Ú_ketlepcsos.<locals>.<genexpr>›   s   é € ÐQ¢˜A¼	×8MÒ8MÈa×8P—a‘a¢ùs   ‚.¥	.r   r;   uQ    felhasznÃ¡lÃ³ 2FA-titka nem olvashatÃ³ (csak a szerverrÅ‘l Ã¡llÃ­thatÃ³ vissza).r-   u:    felhasznÃ¡lÃ³ mÃ©g nem Ã¡llÃ­totta be a kÃ¶telezÅ‘ 2FA-t.u6    rendszeradminisztrÃ¡tor fiÃ³kja nincs 2FA-val vÃ©dve.)Úkotelezo_cegekÚ
osszes_cegÚerintettrX   ÚbeallitandorZ   Ú	ra_osszesÚ	ra_vedett)r]   Úkotelezo_ceg_idkÚqueryÚmodelsÚCompanyÚfilterÚidÚcountÚin_ÚlistÚallÚerintett_felhasznalokÚvaluesÚaktivalas_utilsÚaktivalva_eÚbeallitasi_allapotÚUserÚaktivÚis_Útotp_megerositveÚrendszeradminokÚsumrI   r*   ÚURL_KETLEPCSOSÚlen)r4   Úkotelezord   Ú
erintettekÚcegr`   rX   rf   ÚallapotrZ   r|   Úra_vedetlenrR   rU   s                 r!   Ú_ketlepcsosr…   €   s…  € Ü×)Ò)¨"Ó-€HØ—‘œ&Ÿ.™.Ó)×0Ñ0´·±×1BÑ1BÀaÑ1GÓH×NÑNÓP€JØ€JÞØ—8‘8œFŸN™NÓ+×2Ñ2´6·>±>×3DÑ3D×3HÑ3HÌÈhËÓ3XÓY×]Ñ]Ö_ˆCÜ×4Ò4°RÖ=�Ø#$˜1Ÿ4™4Ó ó >ñ `ð Ð€DØ×ÑÖ ˆÜ×*Ò*¨1×-Ñ-ÙÜ×.Ò.¨qÓ1ˆØ�fÓØ�A‰IŠDØ˜ÕØ˜1ÑŠKñ !ð €OØ�X‰X”f—k‘kÓ"×)Ñ)¬&¯+©+×*;Ñ*;×*?Ñ*?ÀÓ*EÄvÇ{Á{×GcÑGc×GgÑGgÐhlÓGmÓn×rÑrÖtˆÜ×'Ò'¨Ó*Ð.?Õ?Ø˜qÑ ŠOñ uô  ×/Ò/°Ó3€OÜÑQ¡ÓQÓQ€Kà€GÞØ�‰”v˜l¨G°_Ø!0Ð 1ð  2Cð  DÜ,ó.ô 	/ö Ø�‰”v˜l¨G°[Ø!, Ð-gÐhÔjxózô 	{æØ�‰”v˜l¨G°[Ø!, Ð-cÐdÔftóvô 	wô ˜h›-°zÜ˜
“O¨TÐbqÜ˜Ó)¼¸OÓ8LÈ{Ñ8Zñ€Dð
 ˆ=Ðr    c           
      ó   • [         R                  " U 5      nU Vs/ s H*  o"R                  (       d  M  UR                  (       d  M(  UPM,     nnU Vs/ s H*  o"R                  (       d  M  UR                  (       a  M(  UPM,     nn[	        5       nU R                  [        R                  5      R                  [        R                  R                  R                  S5      5      R                  5        Vs/ s H"  n[        R                  " U5      (       a  M   UPM$     nnU R                  [        R                  R                  5      R                  [        R                  R                   S:H  [        R                  R"                  U:„  5      R                  5        Vs1 s H  oˆS   iM	     n	nU Vs/ s H  ofR$                  U	;  d  M  UPM     n
n/ nU(       a7  UR'                  [)        SS[+        U5      [+        U5       S3[,        5      5        U(       a7  UR'                  [)        SS[+        U5      [+        U5       S3[,        5      5        U(       a7  UR'                  [)        SS[+        U5      [+        U5       S	3[.        5      5        U
(       a7  UR'                  [)        SS[+        U
5      [+        U
5       S
3[.        5      5        [+        U5      [+        U5      [+        U5      -   [+        U Vs/ s H  o"R                  (       d  M  UPM     sn5      [+        U5      [+        U
5      S.nXË4$ s  snf s  snf s  snf s  snf s  snf s  snf )NTÚ	aktivalasr   Úbelepesr;   uM    valÃ³s fiÃ³k vÃ©gleges belÃ©pÃ©si tiltÃ¡s alatt Ã¡ll (kÃ©zi feloldÃ¡s kell).r-   u)    valÃ³s fiÃ³k ideiglenesen ki van tiltva.u    fiÃ³k aktivÃ¡lÃ¡sra vÃ¡r.u@    aktivÃ¡lÃ¡sra vÃ¡rÃ³ fiÃ³k linkje lejÃ¡rt (Ãºj meghÃ­vÃ³ kell).)r   ÚvalosÚveglegesÚaktivalasra_varÚlejart_link)Úlogin_vedelemÚaktiv_tiltasokr‰   rŠ   r"   rj   rk   rx   rm   ry   rz   rr   ru   rv   ÚAktivaloTokenÚuser_idÚcelÚlejar_atrn   rI   r*   r   ÚURL_KITILTASOKÚURL_FELHASZNALOK)r4   r   ÚtÚvalos_veglegesÚvalos_ideiglenesÚmostr`   Ú	varakozokÚrÚervenyes_token_user_idkrŒ   rR   rU   s                r!   Ú_tiltasok_es_aktivalasrœ   ´   s¹  € Ü×+Ò+¨BÓ/€HÙ!)ÓD¢˜A¯W­W“a¸¿½—a¡€NÐDÙ#+ÓJ¢8˜a¯w­w›¸q¿z½zŸ¡8ÐÐJä‹;€DØŸH™H¤V§[¡[Ó1×8Ñ8¼¿¹×9JÑ9J×9NÑ9NÈtÓ9TÓU×YÑYÔ[ó 8Ò[�qÜ'×3Ò3°A×6÷ Ñ[€Ið 8ð —h‘hœv×3Ñ3×;Ñ;Ó<×CÑCÜ× Ñ ×$Ñ$¨Ñ3´V×5IÑ5I×5RÑ5RÐUYÑ5Yó[ß[^Ñ[^Ó[`ðaóòa�ˆ!Œñ að ð ñ (ÓOši˜¯4©4Ð7NÑ+N—1™i€KÐOà€GÞØ�‰”v˜i¨´#°nÓ2EÜ!$ ^Ó!4Ð 5ð  6Cð  DÜ,ó.ô 	/ö Ø�‰”v˜i¨´#Ð6FÓ2GÜ!$Ð%5Ó!6Ð 7Ð7`ÐaÔcqósô 	tæØ�‰”v˜i¨´#°i³.Ü!$ Y£Ð 0Ð0JÐKÔM]ó_ô 	`æØ�‰”v˜i¨´#°kÓ2BÜ!$ [Ó!1Ð 2Ð2rÐsô  vFóGô 	Hô ˜“M¬C°Ó,?Ä#ÐFVÓBWÑ,WÜ¡HÓ;¢H˜q·
µ
Ÿ¡HÑ;Ó<Ü˜y›>¼#¸kÓ:Jñ€Dð
 ˆ=ÐùòA EùÚJùò8ùòùò Pùò& <sL   ›L2³L2ÁL2ÁL7Á*L7Á=L7Ã4L<ÄL<ÆMÆ2MÇ	MË4MÌMc                 ó®  • U R                  [        R                  5      R                  [        R                  R                  S:g  5      R                  [        R                  R                  5      R                  5       nU Vs/ s H  o"R                  (       d  M  UPM     nnU Vs/ s H  o"R                  (       a  M  UPM     nnU R                  [        R                  R                  [        R                  R                  [        R                  R                  [        R                  R                  5      R                  5       nU Vs/ s H(  ofR                  S:X  d  M  UR                  S:X  d  M&  UPM*     nnU Vs1 s H3  ofR                  (       d  M  UR                  S:X  d  M'  UR                  iM5     nn/ n	/ n
U Hß  n[        R                  " UR                  U 5      UR                  4[        R                  " UR                  SU 5      UR                   4[        R                  " UR                  SU 5      UR"                  4/n[%        S U 5       5      (       a  U	R'                  U5        Mµ  [%        S U 5       5      (       d  MÎ  U
R'                  U5        Má     U Vs/ s H  o"R                  U;  d  M  UPM     nnU R                  [(        R*                  " [        R,                  R.                  5      5      R                  [        R,                  R0                  [2        :H  5      R5                  5       nUb9  UR6                  b,  UR9                  [:        R<                  5      R?                  S S9n/ nU	(       a7  UR'                  [A        SS	[C        U	5      [C        U	5       S
3[D        5      5        U
(       a7  UR'                  [A        SS[C        U
5      [C        U
5       S3[D        5      5        U(       a7  UR'                  [A        SS[C        U5      [C        U5       S3[D        5      5        U(       a7  UR'                  [A        SS[C        U5      [C        U5       S3[D        5      5        Uc#  UR'                  [A        SSSS[F        5      5        OiU[I        5       [K        [L        S9-
  :  aM  [O        [I        5       U-
  RQ                  5       S-  5      nUR'                  [A        SS	SSU S3[F        5      5        [S        S U 5       5      n[S        S U 5       5      n[C        U5      [C        U5      [C        U5      UU[C        U5      [C        U	5      [C        U
5      [C        U5      [T        RV                  " U5      [Y        US L=(       a    U[I        5       [K        [L        S9-
  :¬  5      S.nUU4$ s  snf s  snf s  snf s  snf s  snf )Nr.   ÚAdminu   FelhasznÃ¡lÃ³u   EmelÅ‘gÃ©p Ã¼gyintÃ©zÅ‘c              3   óD   #   • U  H  u  pUS L=(       a    X:„  v •  M     g 7f©Nr   ©r_   Údb_szamÚlimits      r!   ra   Ú)_cegek_licenc_rendszer.<locals>.<genexpr>î   s!   é € ÐXÊ<¹¸ˆu˜DÐ ×4 W¡_Ô4Ê<ùs   ‚ c              3   ó\   #   • U  H"  u  pUS L=(       a    US:„  =(       a    X:H  v •  M$     g 7f)Nr   r   r¡   s      r!   ra   r¤   ð   s-   é € ÐiÒ\hÉ.È'�˜dÐ"×E u¨q¡y×E°WÑ5EÔEÒ\hùs   ‚*,r   r   r;   u#    cÃ©g tÃºllÃ©pte a licenc-keretÃ©t.r-   u<    cÃ©g pontosan a licenc-keretÃ©n Ã¡ll (nem vehet fel Ãºjat).u.    aktÃ­v cÃ©gnek nincs aktÃ­v adminisztrÃ¡tora.Úinfou+    inaktÃ­v cÃ©g (tÃ¡jÃ©koztatÃ¡s, nem hiba).uU   Az Ã¼temezÅ‘ mÃ©g nem hagyott nyomot az adatbÃ¡zisban (nem fut, vagy frissen indult).r>   r@   u   Az Ã¼temezÅ‘ uB    perce nem futott (levÃ©lkÃ¼ldÃ©s, riportok, takarÃ­tÃ¡s Ã¡llhat).c              3   óŽ   #   • U  H;  oR                   (       d  M  UR                  S :X  a  UR                  S:X  a  M7  Sv •  M=     g7f)rž   r.   N)ry   ÚroleÚ
company_id©r_   Úfs     r!   ra   r¤     s2   é € Ðj¢˜1·µ“QÀÇÁÈ7ÓARÐWX×WcÑWcÐghÑWh—Q‘Q¢ùs   ‚AšA¼	Ac              3   óJ   #   • U  H  oR                   (       a  M  S v •  M     g7fr\   )ry   rª   s     r!   ra   r¤     s   é € Ð>¢,˜Q·gµg—q‘q¢,ùs   ‚#š	#)r   Úcegek_aktivÚcegek_inaktivÚ
felh_aktivÚfelh_inaktivÚra_dbÚlicenc_tullepveÚlicenc_hataronÚadmin_nelkuliÚutemezo_utolsoÚ
utemezo_ok)-rj   rk   rl   rm   rn   Úorder_byr5   rr   ry   rx   r¨   r©   Úlicenc_utilsÚgep_letszamÚlicenc_max_gepÚfelhasznalo_letszamÚlicenc_max_dolgozoÚlicenc_max_ugyintezoÚanyrI   r   ÚmaxÚUtemezettFutasÚ	futott_atÚfeladatÚUTEMEZO_JELZO_FELADATÚscalarr   Ú
astimezoner   r   r   r*   r   Ú	URL_CEGEKÚURL_RENDSZERINFOr"   r   ÚUTEMEZO_KESES_PERCrM   rN   r}   r�   Úhelyi_ido_szovegÚbool)r4   r   ÚcÚaktiv_cegekÚinaktiv_cegekr	   r«   Úra_ekÚadmin_cegekr²   r³   Úellenorzesekr´   ÚutolsorR   rT   r¯   r°   rU   s                      r!   Ú_cegek_licenc_rendszerrÒ   Ü   s™  € Ø�H‰H”V—^‘^Ó$×+Ñ+¬F¯N©N×,=Ñ,=ÀÑ,BÓC×LÑLÌVÏ^É^×M_ÑM_Ó`×dÑdÓf€EÙ#Ó/še˜§w¥w—1™e€KÐ/Ù %Ó5¢˜1¯W­W—Q¡€MÐ5à—8‘8œFŸK™KŸN™N¬F¯K©K×,=Ñ,=¼v¿{¹{×?OÑ?OÔQW×Q\ÑQ\×QgÑQgÓh×lÑlÓn€LÙ$ÓPš�1¯©°'Ñ(9‹Q¸a¿l¹lÈaÑ>O�Q™€EÐPÙ)5ÓWª A¿½“<ÀQÇVÁVÈwÑEV“<�1—<”<©€KÐWà€OØ€NÛˆä×%Ò% a§d¡d¨BÓ/°×1AÑ1AÐBÜ×-Ò-¨a¯d©d°OÀRÓHÈ!×J^ÑJ^Ð_Ü×-Ò-¨a¯d©dÐ4MÈrÓRÐTU×TjÑTjÐkð
ˆô ÑXÉ<ÓX×XÑXØ×"Ñ" 1Ö%ÜÑiÑ\hÓi×iÓiØ×!Ñ! !Ö$ñ ñ !,ÓG¢˜1¯t©t¸;Ñ/F—Q¡€MÐGà�X‰X”d—h’hœv×4Ñ4×>Ñ>Ó?Ó@×GÑGÜ×Ñ×%Ñ%Ô)>Ñ>ó@ß@FÁÃð àÑ˜fŸm™mÑ7Ø×"Ñ"¤8§<¡<Ó0×8Ñ8ÀÐ8ÐEˆà€GÞØ�‰”v˜j¨'´3°Ó3GÜ!$ _Ó!5Ð 6Ð6YÐZÔ\eógô 	hæØ�‰”v˜j¨'´3°~Ó3FÜ!$ ^Ó!4Ð 5Ð5qÐrÔt}óô 	@æØ�‰”v˜j¨'´3°}Ó3EÜ!$ ]Ó!3Ð 4Ð4bÐcÔenópô 	qæØ�‰”v˜j¨&´#°mÓ2DÜ!$ ]Ó!3Ð 4Ð4_Ð`Ôbkómô 	nà�~Ø�‰”v˜j¨'°1Øuô  xHóIõ 	Jà	”)“+¤	Ô2DÑ EÑEÓ	EÜ”I“K &Ñ(×7Ñ7Ó9¸RÑ?Ó@ˆØ�‰”v˜j¨'°1Ø -¨d¨VÐ3uÐvô  yIóJô 	Kô Ñj¡ÓjÓj€JÜÑ>¡,Ó>Ó>€Lä�U“¬C°Ó,<ÌsÐS`ÓOaØ °,ÌÈUËÜ˜Ó/Ä3À~ÓCVÜ˜]Ó+Ü'×8Ò8¸Ó@Ü˜6¨Ð-×o°&¼I»KÌ)Ô\nÑJoÑ<oÑ2oÓpñ€Dð �ˆ=Ðùòw 0ùÚ5ùò QùÚWùò  HsH   ÂV>ÂV>Â'WÂ?WÅWÅ$WÅ6WÆWÆWÆ,WÊ+WËWr.   é   )r;   r-   r¦   c                 ó.  ^ • [        T SSU 4S j[        5      =(       d    0 / 4u  p[        T SSU 4S j[        5      =(       d    0 / 4u  p4[        T SSU 4S	 j[        5      =(       d    0 / 4u  pV[        T S
SU 4S j[        5      =(       d    0 / 4u  px [
        R                  " T 5      n	[        X$-   U-   U-   S S9n[        S U 5       5      n[        S U 5       5      n[        S U 5       5      nU=(       d    0 U=(       d    0 U=(       d    0 U=(       d    0 S.UU	XÍUU(       a  SO
U(       a  SOSS.S.$ ! [         aR  n
[        S[        U
5      R                   SU
 35         T R                  5         O! [         a     Of = fSn	 Sn
A
NæSn
A
ff = f)uq   A dashboard teljes adata: {"adatok": {...kÃ¡rtyÃ¡nkÃ©nt...}, "problemak": [...], "osszesito": {...}}. Csak olvas.r   u
   levelezÃ©sc                  ó   >• [        T 5      $ r    )rV   ©r4   s   €r!   Ú<lambda>Úosszeallit.<locals>.<lambda>$  s
   ø€ Ì
ÐSUÌr    r   u   kÃ©tlÃ©pcsÅ‘s hitelesÃ­tÃ©sc                  ó   >• [        T 5      $ r    )r…   rÖ   s   €r!   r×   rØ   %  s   ø€ Ô[fÐgiÔ[jr    rˆ   u$   belÃ©pÃ©si tiltÃ¡sok Ã©s aktivÃ¡lÃ¡sc                  ó   >• [        T 5      $ r    )rœ   rÖ   s   €r!   r×   rØ   &  s   ø€ Ô^tÐuwÔ^xr    r   u   cÃ©gek, licenc Ã©s Ã¼temezÅ‘c                  ó   >• [        T 5      $ r    )rÒ   rÖ   s   €r!   r×   rØ   '  s   ø€ ÔXnÐoqÔXrr    u=   â�Œ RA dashboard: a rendszernaplÃ³ kÃ¡rtya nem Ã¡llt Ã¶ssze: r,   Nc                 ó$   • [         U S      U S   4$ )Nr&   r%   )Ú_SZINT_SORREND)r•   s    r!   r×   rØ   2  s   € ¼ÈÈ'É
Ñ9SÐUVÐWbÑUcÑ8dr    )Úkeyc              3   ó:   #   • U  H  oS    S:X  d  M  Sv •  M     g7f)r&   r;   r.   Nr   ©r_   r•   s     r!   ra   Úosszeallit.<locals>.<genexpr>3  ó   é € Ð>š9�a¨'©
°gÑ(=—‘š9ùó   ‚’	c              3   ó:   #   • U  H  oS    S:X  d  M  Sv •  M     g7f)r&   r-   r.   Nr   rà   s     r!   ra   rá   4  râ   rã   c              3   ó:   #   • U  H  oS    S:X  d  M  Sv •  M     g7f)r&   r¦   r.   Nr   rà   s     r!   ra   rá   5  s   é € Ð<š)�Q¨¡z°VÑ';�q‰qš)ùrã   )r   r   rˆ   r   r;   r-   Úrendben)r;   r-   r¦   rƒ   )ÚadatokÚ	problemakr   Ú	osszesito)r8   rJ   r~   r“   rÆ   Úrendszernaplo_utilsÚ	legutobbir/   r0   r1   r2   r3   Úsortedr}   )r4   r   Út1r   Út2rˆ   Út3r   Út4r   r7   rè   r;   r-   r¦   s   `              r!   Ú
osszeallitrñ   "  sÐ  ø€ ä   [°,Ô@VÔXeÓf×rÐkmÐoqÐjr�M€IÜ! " lÐ4QÔSjÔlzÓ{÷  Hð  ACð  EGð  @H�N€JÜ˜r 9Ð.TÔVxô  {Ió  J÷  Vð  OQð  SUð  NV�K€GÜ  JÐ0NÔPrÔt}Ó~÷  Kð  DFð  HJð  CK�L€HðÜ#×-Ò-¨bÓ1ˆô �r‘w ‘| bÑ(Ñ.dÑe€IÜÑ>™9Ó>Ó>€EÜÑ>™9Ó>Ó>€EÜÑ<™)Ó<Ó<€Dà )§¨R¸z×?OÈRÐ\c×\iÐgiÐw÷  xFð  DFñ  GØØà°DÞ"'‘w¾©gÀIñ
ñ	ð øô ó ÜÐMÌdÐSTËg×N^ÑN^ÐM_Ð_aÐbcÐadÐeÔfð	Ø�K‰K�MøÜó 	Ùð	úà�ûðús<   ÂD8 Ä8
FÅ$FÅ'E8Å7FÅ8
FÆFÆFÆFÆFc                 ó    • SU R                    3$ )NÚra_dashboard_rejtett_)rn   )Úusers    r!   Ú_kulcsrõ   D  s   € Ø" 4§7¡7 )Ð,Ð,r    c                 óv  • U R                  [        R                  5      R                  [        R                  R                  [        U5      :H  5      R                  5       nUb  UR                  (       d
  [        5       $ UR                  R                  S5       Vs1 s H  o3[        ;   d  M  UiM     sn$ s  snf )ub   A felhasznÃ¡lÃ³ Ã¡ltal elrejtett kÃ¡rtyÃ¡k kulcsai (ismeretlen kulcsot nem ad vissza). Csak olvas.Ú,)rj   rk   ÚRendszerBeallitasrm   Úkulcsrõ   ÚfirstÚertekÚsetÚsplitÚKARTYA_KULCSOK)r4   rô   ÚsorÚks       r!   Úrejtett_kartyakr  H  s€   € à
�(‰(”6×+Ñ+Ó
,×
3Ñ
3´F×4LÑ4L×4RÑ4RÔV\Ð]aÓVbÑ4bÓ
c×
iÑ
iÓ
k€CØ
�{˜#Ÿ)Ÿ)Ü‹uˆØ—y‘y—‘ sÔ+ÓCÒ+�!´NÑ/B�AÑ+ÑCÐCùÒCs   ÂB6Â-B6rù   Úlathatoc           
      óä  ^• U[         ;  a  g[        X5      mU(       a  TR                  U5        OTR                  U5        SR	                  U4S j[          5       5      nU R                  [        R                  5      R                  [        R                  R                  [        U5      :H  5      R                  5       nUc]  U R                  [        R                  " [        U5      US[        R                  " [        R                  5      UR                   S95        O@XEl        [        R                  " [        R                  5      Ul        UR                   Ul        U R)                  5         g)uÈ   Egy kÃ¡rtya megjelenÃ­tÃ©se/elrejtÃ©se a felhasznÃ¡lÃ³nak. Hamis, ha ismeretlen a kulcs (az "problemak" kÃ¡rtya
SZÃ�NDÃ‰KOSAN ismeretlen itt: azt nem lehet elrejteni). Csak POST kÃ©rÃ©sbÅ‘l hÃ­vhatÃ³.Fr÷   c              3   ó6   >#   • U  H  oT;   d  M
  Uv •  M     g 7fr    r   )r_   r   Úrejtetts     €r!   ra   Ú$kartya_beallitasa.<locals>.<genexpr>Z  s   øé € Ð?¢˜1°w±,—Q‘Q¢ùs   ƒ	�	)rù   rû   ÚtitkositottÚmodositva_atÚmodosito_user_idT)rþ   r  ÚdiscardÚaddÚjoinrj   rk   rø   rm   rù   rõ   rú   r   r   r   r   rn   rû   r  r	  Úcommit)r4   rô   rù   r  rû   rÿ   r  s         @r!   Úkartya_beallitasar  P  s  ø€ ð ”NÓ"ØÜ˜bÓ'€GÞØ�‰˜Õà�‰�EÔØ�H‰HÔ?¥Ó?Ó?€EØ
�(‰(”6×+Ñ+Ó
,×
3Ñ
3´F×4LÑ4L×4RÑ4RÔV\Ð]aÓVbÑ4bÓ
c×
iÑ
iÓ
k€CØ
�{Ø
�‰Œv×'Ò'¬f°T«lÀ%ÐUZÜ5=·\²\Ä(Ç,Á,Ó5OÐbf×biÑbiñkõ 	lð Œ	Ü#Ÿ<š<¬¯©Ó5ˆÔØ#Ÿw™wˆÔØ‡I�I„KØr    )*Ú__doc__r   r   r   Ú
sqlalchemyr   ru   rG   rE   r¸   r�   r]   rk   rê   ÚKARTYAKrþ   rÃ   rÈ   rL   rJ   rK   r~   r“   r”   rÆ   rÇ   r"   r*   r8   rV   r…   rœ   rÒ   rÝ   rO   rñ   Ústrrõ   rü   r  rÊ   r  )r   s   0r!   Ú<module>r     s  ðñ÷6 3Ñ 2å ã Û Û Û Û Û Û Û ò€ñ !(Ó(¢˜1�A”$¡Ñ(€ð )Ð ØÐ ØÐ à*€Ø:Ð Ø,€Ø,€Ø"Ð Ø"€	Ø0Ð ð;�8ô ;òbò
Jò òH.òh"òP=ðF  q°!Ñ4€ð�dô ðD-�Cô -ðD ô Dð sð °Tð ¸dõ ùòy )s   »B 