ó
    ûàÄjw  ã                   óò  • S SK JrJ r JrJr  S SKJr  S SKJr  \" SS9r\" S5      r	S r
SS jrS	 rS
\4S jr\\R                  R                  S'   SSSS.rS\4S jrSS jrS\4S jrS\4S jr\\R                  R0                  S'   \\R                  R0                  S'   \\R                  R0                  S'   S\4S jr\r\\R                  R0                  S'   \\R                  R0                  S'   g)é    )ÚdateÚdatetimeÚtimeÚtimezone)ÚZoneInfo)ÚJinja2TemplatesÚ	templates)Ú	directoryzEurope/Budapestc                 ó¢   • U c  gU R                   c  U R                  [        R                  S9n U R	                  [
        5      R                  SS9$ )u�   UTC (naiv vagy tz-aware) datetime -> naiv helyi (Europe/Budapest) datetime.
None -> None. A naiv bemenetet UTC-nek tekinti (Ã­gy tÃ¡rolunk az adatbÃ¡zisban).N©Útzinfo)r   Úreplacer   ÚutcÚ
astimezoneÚHELYI_TZ)Údts    Ú!/var/www/website/templates_env.pyÚhelyi_datetimer      sG   € ð 
�zØØ	‡y�yÑØ�Z‰ZœxŸ|™|ˆZÐ,ˆØ�=‰=œÓ"×*Ñ*°$Ð*Ð7Ð7ó    c                 ó>   • U c  g[        U 5      R                  U5      $ )uG   UTC datetime -> helyi idÅ‘re vÃ¡ltott, formÃ¡zott szÃ¶veg. None -> "-".Ú-)r   Ústrftime)r   Úfmts     r   Ú	helyi_idor      s    € à	�zØÜ˜"Ó×&Ñ& sÓ+Ð+r   c                  óP   • [         R                  " [        5      R                  SS9$ )u‚   Az aktuÃ¡lis helyi (Europe/Budapest) idÅ‘ naiv datetime-kÃ©nt - a szerver
rendszer-idÅ‘zÃ³nÃ¡jÃ¡tÃ³l (a VPS-en UTC) fÃ¼ggetlenÃ¼l.Nr   )r   Únowr   r   © r   r   Ú
helyi_mostr   $   s!   € ô �<Š<œÓ!×)Ñ)°Ð)Ð6Ð6r   Únapc                 óR  • [         R                  " U [        R                  [        S9R                  [        R                  5      n[         R                  " U [        R                  [        S9R                  [        R                  5      nUR                  SS9UR                  SS94$ )u®   Egy helyi naptÃ¡ri nap kezdete Ã©s vÃ©ge naiv UTC datetime-kÃ©nt - az UTC-ben tÃ¡rolt
idÅ‘bÃ©lyegek helyi nap szerinti adatbÃ¡zis-szÅ±rÃ©sÃ©hez (pl. "tÃ³l-ig" dÃ¡tumszÅ±rÅ‘).r   N)
r   Úcombiner   Úminr   r   r   r   Úmaxr   )r   ÚkezdetÚvegs      r   Úhelyi_nap_utc_hatarair&   *   ss   € ô ×Ò˜c¤4§8¡8´HÑ=×HÑHÌÏÉÓV€FÜ
×
Ò
˜3¤§¡´Ñ
:×
EÑ
EÄhÇlÁlÓ
S€CØ�>‰> ˆ>Ð&¨¯©¸4¨Ð(@Ð@Ð@r   r   NÚ )ÚmtimeÚertekÚdatumÚreturnc                  ó*   • [        5       R                  $ )u4   A helyi (Europe/Budapest) naptÃ¡ri Ã©v a lÃ¡blÃ©cbe.)r   Úyearr   r   r   Úaktualis_evr.   <   s   € ä‹<×ÑÐr   c                  ó  • SSK n U R                  R                  5       R                  n[        S   U:w  aV  U R                  5       nU(       a  [        US   5      OS[        S'   U(       a  [        US   5      OS[        S'   U[        S'   gg)u~   A gyorsÃ­tÃ³tÃ¡r frissÃ­tÃ©se, ha a CHANGELOG.md mÃ³dosult (v43: a lÃ¡blÃ©c Ã‰S a fejlÃ©c verziÃ³-jelvÃ©nye kÃ¶zÃ¶s forrÃ¡sa).r   Nr(   Úverzior'   r)   r*   )Úverzio_utilsÚCHANGELOG_PATHÚstatÚst_mtimeÚ_VERZIO_GYORSITOTARÚjelenlegi_verzioÚstr)r1   r(   Ú	jelenlegis      r   Ú_verzio_betoltesr9   A   s~   € ãØ×'Ñ'×,Ñ,Ó.×7Ñ7€EÜ˜7Ñ# uÓ,Ø ×1Ñ1Ó3ˆ	ÞCL¤s¨9°XÑ+>Ô'?ÐRTÔ˜GÑ$ÞBK¤s¨9°WÑ+=Ô'>ÐQSÔ˜GÑ$Ø',Ô˜GÒ$ð	 -r   c                  óJ   •  [        5         [        S   $ ! [         a     gf = f)uš   A futÃ³ verziÃ³ szÃ¡ma (pl. "42") vagy "" - a CHANGELOG.md legfelsÅ‘ bejegyzÃ©se; hiba esetÃ©n sosem dob kivÃ©telt (a lÃ¡blÃ©c nem tÃ¶rheti el az oldalt).r)   r'   ©r9   r5   Ú	Exceptionr   r   r   Úlablec_verzior=   L   s*   € ðÜÔÜ" 7Ñ+Ð+øÜó Ùðús   ‚ •
"¡"c                  ó‚   •  [        5         [        S   (       a  [        S   [        S   S.$ 0 $ ! [         a    0 s $ f = f)uu   A rendszeradmin fejlÃ©c verziÃ³-jelvÃ©nyÃ©hez: {"verzio": "42", "datum": "2026-10-06"} vagy {} (sosem dob kivÃ©telt).r)   r*   )r0   r*   r;   r   r   r   Úverzio_adatr?   U   sQ   € ðÜÔÜbuÐv}×b~Ô-¨gÑ6ÔATÐU\ÑA]Ñ^ð  	Gð  EGð  	GøÜó ØŠ	ðús   ‚*/ ­/ ¯>½>r.   r=   r?   c           
      ó®  • SSSSSSS.nUc  U$ Sn SSK Jn  SSKJn  SSKJnJnJnJn	J	n
  U" 5       nU" X5      nUR                  UU" X³5      U
" X5      U	" X³5      U" X³5      U" U5      S.5        Ub  UR!                  5         U$ ! [         a+    SSKnUR                  [        5      R                  S5         NIf = f! Ub  UR!                  5         f f = f)	u  A modulok kÃ¶zÃ¶s fejlÃ©ceinek (templates/_fejlec_emelogep.html v44, _fejlec_ebk.html v45, kÃ©sÅ‘bb VIVÃœ / tÅ±zvÃ©delem) adatai - EGY helyen szÃ¡molva, Ã­gy az Ãºtvonalaknak nem kell
mindegyiknek kÃ¼lÃ¶n Ã¡tadniuk Å‘ket (korÃ¡bban a dashboard / lista / gÃ©pfelvitel stb. Ãºtvonal mind a sajÃ¡t `sugo_e`, `tobb_modul_van`,
`working_company_id`, `ceg_aktiv`, `ai_szkenneles`, `is_rendszeradmin` kulcsokat Ã¡llÃ­totta Ã¶ssze, Ã©s ahol ez hiÃ¡nyzott, a fejlÃ©c gombjai eltÅ±ntek).
Visszaadott kulcsok:
    working_company_id - az aktÃ­v cÃ©gkÃ¶rnyezet (cookie / utolsÃ³ vÃ¡lasztÃ¡s / sajÃ¡t cÃ©g)
    ceg_aktiv          - az aktÃ­v cÃ©g nincs inaktivÃ¡lva (inaktÃ­v cÃ©gnÃ©l nincs szerkesztÅ‘ gomb)
    tobb_modul_van     - van hova modult vÃ¡ltani (a modulvÃ¡ltÃ³ menÃ¼pont megjelenik)
    sugo_e             - a cÃ©gnek engedÃ©lyezett a HasznÃ¡lati ÃºtmutatÃ³ / sÃºgÃ³
    ai_szkenneles      - a cÃ©gnek engedÃ©lyezett az AI adattÃ¡bla-felismerÃ©s (fizetÅ‘s extra)
    is_rendszeradmin   - a felhasznÃ¡lÃ³ a rendszeradminisztrÃ¡tor (Excel gÃ©pimport menÃ¼pont)
Hiba esetÃ©n (vagy ha nincs `user`) BIZTONSÃ�GOS alapÃ©rtÃ©keket ad (minden extra gomb rejtve) - a fejlÃ©c nem tÃ¶rheti el az oldalt. RÃ¶vid Ã©letÅ±,
sajÃ¡t adatbÃ¡zis-munkamenetet hasznÃ¡l (nÃ©hÃ¡ny egyszerÅ± lekÃ©rdezÃ©s), amit mindig lezÃ¡r.NF)Úworking_company_idÚ	ceg_aktivÚtobb_modul_vanÚsugo_eÚai_szkennelesÚis_rendszeradminr   )ÚSessionLocal)Úai_szkenneles_engedelyezve)Úget_working_company_idÚis_company_activeÚis_rendszeradminisztratorÚsugo_engedelyezveÚvan_e_tobb_moduljauY   modul_fejlec_adat: a fejlÃ©c adatai nem Ã¡llÃ­thatÃ³k Ã¶ssze (biztonsÃ¡gos alapÃ©rtÃ©kek))ÚdatabaserG   Úrouters.ai_scanrH   ÚsecurityrI   rJ   rK   rL   rM   Úupdater<   ÚloggingÚ	getLoggerÚ__name__Ú	exceptionÚclose)ÚrequestÚuserÚadatÚdbrG   rH   rI   rJ   rK   rL   rM   Úceg_idrR   s                r   Úmodul_fejlec_adatr\   c   sô   € ð #'°UÈeÐ_dÐw|ð  SXñ  Y€DØ�|ØˆØ	€BðÝ)Ý>÷ 	Kõ  	KÙ‹^ˆÙ'¨Ó6ˆØ�‰Ø"(Ù*¨6Ó6Ù0°Ó:Ù'¨Ó3Ù7¸ÓCÙ 9¸$Ó ?ñ
ô 	ð ‰>Ø�H‰HŒJØ€Køô ó KÛØ×Ñœ(Ó#×-Ñ-ð  /Jö  	KðKûð ‰>Ø�H‰H�Jð ús$   ’AB Â2B;Â8B> Â:B;Â;B> Â>Cr\   Úemelogep_fejlec_adat)z%Y-%m-%d %H:%M)r+   N)r   r   r   r   Úzoneinfor   Úfastapi.templatingr   r	   r   r   r   r   r&   ÚenvÚfiltersr5   Úintr.   r9   r7   r=   Údictr?   Úglobalsr\   r]   r   r   r   Ú<module>re      s  ðß 3Ó 3Ý å .á kÑ2€	ñ Ð%Ó&€ò8ô,ò7ðA˜tô Að &/€	‡�× Ñ �kÑ "ð !%¨r¸BÑ?Ð ð�Sô ô
-ð�sô ð�Tô ð (3€	‡�× Ñ �mÑ $Ø)6€	‡�× Ñ �oÑ &Ø'2€	‡�× Ñ �mÑ $ð%¨ô %ðP )Ð Ø->€	‡�× Ñ Ð)Ñ *Ø0A€	‡�× Ñ Ð,Ò -r   