ó
    O¹Äjµ  ã                   ó  • S r SSKrSSKJrJr  SSKJr  SSKJr  SSK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Jr  SS
KJrJr  SSKJr  \	" 5       rSrS\\   4S jrS\S\S\S\S\S\4S jr \RC                  S\S9SSSSSSS\
" \5      \
" \5      4	S\S\S\S\S\S\S\S\S\S\RD                  4S jj5       r#\RC                  S5      SSSSSS\
" \5      \
" \5      4S\S\S\S\S\S\S\S\S\RD                  4S  jj5       r$g)!uq  RENDSZERNAPLÃ“ oldal (v37) - csak a rendszeradminisztrÃ¡tornak. LeÃ­rÃ¡s: docs/RENDSZERNAPLO.md

    GET /rendszeradmin/naplo          - az Ã¶sszes cÃ©g Ã¶sszes esemÃ©nye, cÃ©gre / felhasznÃ¡lÃ³ra / kategÃ³riÃ¡ra / dÃ¡tumra / szÃ¶vegre szÅ±rhetÅ‘en, 50 soros lapokkal
    GET /rendszeradmin/naplo/export   - a szÅ±rt talÃ¡latok CSV-je (legfeljebb EXPORT_MAX sor)

MindkettÅ‘ CSAK OLVAS (a GET nem Ã­rhat). A szÅ±rÅ‘k a lekÃ©rdezÃ©si szÃ¶vegben vannak (a lapozÃ¡s megÅ‘rzi Å‘ket); az Ã©rvÃ©nytelen Ã©rtÃ©k nem hiba-oldal, hanem figyelmeztetÃ©s
Ã©s a szÅ±rÅ‘ figyelmen kÃ­vÃ¼l marad. A logika a rendszernaplo_utils.py-ban van.
é    N)ÚdatetimeÚtimezone)ÚOptional)Ú	urlencode)Ú	APIRouterÚDependsÚRequest)ÚHTMLResponseÚRedirectResponseÚResponse)ÚSession)Úget_db)Úget_current_userÚis_rendszeradminisztrator)Ú	templatesiÿÿÿÚertekc                 ó¾   • U =(       d    SR                  5       n U (       d  gU S:X  a  g [        U 5      nUS:  d
  U[        :”  a  [        eUS4$ ! [         a     gf = f)u[   A szÅ±rÅ‘-Ã©rtÃ©k: egÃ©sz azonosÃ­tÃ³, vagy 'nincs'; Ã¼res / Ã©rvÃ©nytelen -> (None, hiba).Ú )NNÚnincs)r   Nr   N)NT)ÚstripÚintÚMAX_AZONOSITOÚ
ValueError)r   Úns     Ú)/var/www/website/routers/rendszernaplo.pyÚ
_azonositor      sb   € à�[�b×ÑÓ!€EÞØØ�ÓØðÜ�‹JˆØˆq‹5�AœÓ%ÜÐØ�$ˆwˆøÜó Ùðús   ª$A Á
AÁAÚcegÚfelhasznaloÚ	kategoriaÚtolÚigÚqc                 ó4  • / n[        U 5      u  pxU(       a  UR                  S5        [        U5      u  p˜U(       a  UR                  S5        U[        R                  ;   a  UOSn
U(       a  U
c  UR                  S5        [        R                  " U5      u  p¸U(       a  UR                  US-   5        [        R                  " U5      u  pÈU(       a  UR                  US-   5        U(       a  U(       a  X¼:”  a  UR                  S5        U=(       d    SR                  5       S[        R                   nXyX«XÍS	.nUc  SO
[        U5      U	c  SO
[        U	5      U
=(       d    SU(       a  UR                  5       OSU(       a  UR                  5       OSUS
.nXæU4$ )ud   (szÅ±rÅ‘k szÃ³tÃ¡ra a lekÃ©rdezÃ©shez, figyelmeztetÃ©sek listÃ¡ja, a beÃ­rt Ã©rtÃ©kek az Å±rlaphoz).u6   Ã‰rvÃ©nytelen cÃ©g-szÅ±rÅ‘, figyelmen kÃ­vÃ¼l hagytuk.u?   Ã‰rvÃ©nytelen felhasznÃ¡lÃ³-szÅ±rÅ‘, figyelmen kÃ­vÃ¼l hagytuk.Nu1   Ismeretlen kategÃ³ria, figyelmen kÃ­vÃ¼l hagytuk.u#    (a '-tÃ³l' szÅ±rÅ‘ nem Ã©rvÃ©nyes)u"    (az '-ig' szÅ±rÅ‘ nem Ã©rvÃ©nyes)u:   A '-tÃ³l' dÃ¡tum kÃ©sÅ‘bbi, mint az '-ig': nincs talÃ¡lat.r   )r   r   r   r    r!   Úkereses)r   r   r   r    r!   r"   )	r   ÚappendÚrnÚKATEGORIA_KODOKÚdatumr   ÚKERESES_MAX_HOSSZÚstrÚ	isoformat)r   r   r   r    r!   r"   ÚfigyelmeztetesekÚceg_idÚhibaÚuser_idÚkatÚtol_dÚig_dr$   ÚszurokÚurlaps                   r   Ú_szurokr5   -   sb  € àÐÜ˜c“?�L€FÞØ×ÑÐ XÔYÜ˜{Ó+�M€GÞØ×ÑÐ aÔbØ ¤B×$6Ñ$6Ó6‰)¸D€CÞ�S‘[Ø×ÑÐ SÔTÜ—(’(˜3“-�K€EÞØ×Ñ Ð'LÑ LÔMÜ—’˜"“�J€DÞØ×Ñ Ð'KÑ KÔLÞ–˜%›,Ø×ÑÐ \Ô]Ø�w�B�o‰oÓÐ 5¤×!5Ñ!5Ð6€GØÀ#Ð[_Ñt€FØ ™.‘B¬c°&«kÐPWÑP_É"ÔehÐipÓeqð  AD÷  AJð  HJÞ).�E—O‘OÔ%°BÖRV¸d¿n¹nÔ>NÐ\^Ðelñn€Eà UÐ*Ð*ó    z/rendszeradmin/naplo)Úresponse_classr   Ú1ÚrequestÚoldalÚdbÚcurrent_userc
                 ó  • [        U	5      (       d
  [        SSS9$ [        XX4XV5      u  p«n[        R                  " U40 U
D6nUR                  S 5      R                  5       n[        S[        R                  " U[        R                  -  5      5      n [        [        S[        U5      5      U5      nUR                  US-
  [        R                  -  5      R                  [        R                  5      R!                  5        Vs/ s H  n[        R"                  " U5      PM     nn[%        UR'                  5        VVs0 s H  u  nnU(       d  M  UU_M     snn5      n[(        R*                  " U SU	UUUU[        R                  XËU[-        UR/                  5       5      [        R0                  " U5      [        R2                  " U5      [        R4                  [        R6                  S.SS0S	9$ ! [         a    Sn GNLf = fs  snf s  snnf )
Nú/valassz-modulté/  ©ÚurlÚstatus_codeé   zrendszeradmin_naplo.html)ÚuserÚsorokÚosszesÚlapÚlapokÚ	lap_meretr4   r,   Úszuro_szovegÚ	van_szuroÚcegekÚfelhasznalokÚ
kategoriakÚ
export_maxúCache-Controlzno-store)r9   ÚnameÚcontextÚheaders)r   r   r5   r&   Úszurt_lekerdezesÚorder_byÚcountÚmaxÚmathÚceilÚ	LAP_MERETÚminr   r   ÚoffsetÚlimitÚallÚsor_adatr   Úitemsr   ÚTemplateResponseÚanyÚvaluesÚcegek_listajaÚfelhasznalok_listajaÚ
KATEGORIAKÚ
EXPORT_MAX)r9   r   r   r   r    r!   r"   r:   r;   r<   r3   r,   r4   Ú
lekerdezesrF   rH   rG   ÚarE   ÚkÚvrJ   s                         r   Únaplo_oldalrl   H   s¯  € ô % \×2Ñ2ÜÐ$5À3ÑGÐGÜ&-¨cÀ	ÐPRÓ&VÑ#€F˜eÜ×$Ò$ RÑ2¨6Ñ2€JØ× Ñ  Ó&×,Ñ,Ó.€FÜ�”4—9’9˜V¤b§l¡lÑ2Ó3Ó4€EðÜ”#�aœ˜U›Ó$ eÓ,ˆð &0×%6Ñ%6¸¸a¹Ä2Ç<Á<Ñ7OÓ%P×%VÑ%VÔWY×WcÑWcÓ%d×%hÑ%hÔ%jÓkÒ%j ŒR�[Š[˜Ž^Ñ%j€EÐkÜ¨u¯{©{¬}ÔBª}¡t q¨!Ä›d˜a šd©}ÒBÓC€LÜ×%Ò%ØØ'à ¨5¸FÈ3ÐY^Ômo×myÑmyØÐR^Ü˜UŸ\™\›^Ó,Ü×%Ò% bÓ)¼2×;RÒ;RÐSUÓ;VÔfh×fsÑfsÜŸ-™-ñ
ð ! *Ð-ñð øô	 ó Ø‹ðüâkùÛBs$   ÂG/ Ä HÄ>H
ÅH
Ç/G?Ç>G?z/rendszeradmin/naplo/exportc	                 ó
  • [        U5      (       d
  [        SSS9$ [        XX4XV5      u  n	  n
[        R                  " U40 U	D6R                  [        R                  5      R                  5        Vs/ s H  n[        R                  " U5      PM     nnS[        R                  " [        R                  5      R                  S5      -   S-   n[        [        R                  " U5      R!                  S5      SS	U S
3SS.S9$ s  snf )uk   A szÅ±rt talÃ¡latok CSV-je (pontosvesszÅ‘s, UTF-8 BOM-mal; legfeljebb EXPORT_MAX sor, a legfrissebbektÅ‘l).r>   r?   r@   Úrendszernaplo_z%Y%m%d_%H%Mz.csvzutf-8ztext/csv; charset=utf-8zattachment; filename="Ú"zprivate, no-store)zContent-DispositionrP   )ÚcontentÚ
media_typerS   )r   r   r5   r&   rT   r]   rg   r^   r_   r   Únowr   ÚutcÚstrftimer   Ú
csv_szovegÚencode)r9   r   r   r   r    r!   r"   r;   r<   r3   Ú_ri   rE   Úfajlnevs                 r   Únaplo_exportry   i   sà   € ô % \×2Ñ2ÜÐ$5À3ÑGÐGÜ˜3¨Y¸RÓC�L€FˆAˆqÜ%'×%8Ò%8¸Ñ%F¸vÑ%F×%LÑ%LÌRÏ]É]Ó%[×%_Ñ%_Ô%aÓbÒ%a ŒR�[Š[˜Ž^Ñ%a€EÐbØ¤§¢¬h¯l©lÓ!;×!DÑ!DÀ]Ó!SÑSÐV\Ñ\€GÜœBŸMšM¨%Ó0×7Ñ7¸Ó@ÐMfØ6LÈWÈIÐUVÐ4WÐj}Ñ~ñ@ð @ùò cs   Á0 D )%Ú__doc__rX   r   r   Útypingr   Úurllib.parser   Úfastapir   r   r	   Úfastapi.responsesr
   r   r   Úsqlalchemy.ormr   ÚmodelsÚrendszernaplo_utilsr&   Údatabaser   Úsecurityr   r   Útemplates_envr   Úrouterr   r*   r   r5   ÚgetÚUserrl   ry   © r6   r   Ú<module>r‰      s»  ðñó ß 'Ý Ý "ç /Ñ /ß FÑ FÝ "ã Û  Ý ß @Ý #á	‹€à€ð�h˜s‘mô ð +�ð + 3ð +°3ð +¸Sð +Àcð +Ècô +ð6 ‡�Ð"°<€Ð@ð  b¸2È"ÐXZÐegÐvyÙ˜&“/Ù 'Ð(8Ó 9ñ	Øðà	ðà #ðà58ðàDGðàRUðà_bðàpsðð 	ðð —+‘+ô	ó Aðð@ ‡�Ð)Ó*ð  b¸2È"ÐXZÐegÙ˜&“/Ù 'Ð(8Ó 9ñ	@Øð@à	ð@à #ð@à58ð@àDGð@àRUð@à_bð@ð 	ð@ð —+‘+ô	@ó +ñ@r6   