ó
    ÈÎÄj€(  ã                   óz  • S r SSKJr  SSKJrJrJr  SSK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  SS	KJrJrJr  SS
KJr  \" 5       rS rS\S\4S jr  S#S\S\S\R<                  S\\   S\\   S\ S\\   S\ S\!4S jjr"  S$S\S\S\R<                  S\\   S\\   S\ S\\   S\S\ 4S jjr#\RI                  S\S9SS\" \5      \" \5      4S\S\\   S\\   S\S\R<                  4
S jj5       r%SSS SS\4S! jr&\RO                  S5      \" \5      \" \5      4S\S\S\R<                  4S" jj5       r(g)%u  JelszÃ³-hÃ¡zirend beÃ¡llÃ­tÃ³ oldala (v36) - a cÃ©g Admin-jÃ¡nak (Ã©s a rendszeradminnak a kivÃ¡lasztott cÃ©g munkakÃ¶rnyezetÃ©ben). LeÃ­rÃ¡s: docs/JELSZO_HAZIREND.md

    GET  /jelszo-hazirend   - az oldal: kÃ¶telezÅ‘ jelszÃ³csere, bonyolultsÃ¡g, elÅ‘zmÃ©ny; gyengesÃ©g-figyelmeztetÃ©sek; a felhasznÃ¡lÃ³k lejÃ¡ratai
    POST /jelszo-hazirend   - mentÃ©s (`muvelet`=mentes) vagy csak a figyelmeztetÃ©sek ellenÅ‘rzÃ©se mentÃ©s nÃ©lkÃ¼l (`muvelet`=ellenorzes)

A logika a jelszo_hazirend.py-ban van; itt a jogosultsÃ¡g (csak Admin), a bevitel ellenÅ‘rzÃ©se Ã©s az Å±rlapkezelÃ©s. A mentÃ©s POST (a GET nem Ã­r),
idegen eredetÅ± (cross-site) kÃ©rÃ©s nem Ã­r, a csak megtekintÃ©si fiÃ³k Ã©s az inaktÃ­v cÃ©g nem mÃ³dosÃ­that. A mÃ³dosÃ­tÃ¡s a JogosultsÃ¡gi naplÃ³ba kerÃ¼l.
é    )ÚOptional)Ú	APIRouterÚDependsÚRequest)ÚHTMLResponseÚRedirectResponse)ÚSessionN)Úget_db)Úmfa)Úget_current_userÚget_working_company_idÚis_company_active)Ú	templatesc           
      óÖ  •  SnU R                  S5      S:X  a…   [        [        U R                  SS5      5      R                  5       5      n[
        R                  Us=::  a  [
        R                  ::  d)  O  SS	[
        R                   S
[
        R                   S34$  [        [        U R                  S[
        R                  5      5      R                  5       5      n[
        R                  Us=::  a  [
        R                  ::  d)  O  SS[
        R                   S[
        R                   S34$  [        [        U R                  SS5      5      R                  5       =(       d    S5      nSUs=::  a  [
        R                  ::  d  O  SS[
        R                   S34$  [
        R                  " XU R                  S5      S:H  U R                  S5      S:H  U R                  S5      S:H  U R                  S5      S:H  US9S4$ ! [         a*    SS[
        R                   S[
        R                   S34s $ f = f! [         a     gf = f! [         a     gf = f! [         a     gf = f)uY   (Szabalyok, hiba) a bekÃ¼ldÃ¶tt Å±rlapbÃ³l. Ã‰rvÃ©nytelen Ã©rtÃ©k -> hiba (nem mentÃ¼nk).NÚ
lejarat_beÚonÚervenyesseg_napÚ u3   Az Ã©rvÃ©nyessÃ©g napokban Ã©rtendÅ‘ egÃ©sz szÃ¡m (Ú-z).u$   A jelszÃ³ Ã©rvÃ©nyessÃ©ge legalÃ¡bb z, legfeljebb u    nap (fÃ©l Ã©v) lehet.Ú	min_hossz)Nu   A minimum hossz egÃ©sz szÃ¡m.zA minimum hossz u    Ã©s u    karakter kÃ¶zÃ¶tt lehet.Úelozmeny_dbr   )Nu'   Az elÅ‘zmÃ©ny darabszÃ¡ma egÃ©sz szÃ¡m.u"   Az elÅ‘zmÃ©ny 0 (kikapcsolva) Ã©s u    kÃ¶zÃ¶tt lehet.)Nu   Ã‰rvÃ©nytelen bekÃ¼ldÃ¶tt adat.ÚkisbetuÚnagybetuÚszamÚ	specialis©r   r   r   r   r   r   r   )ÚgetÚintÚstrÚstripÚ
ValueErrorÚjhÚERVENYESSEG_MIN_NAPÚERVENYESSEG_MAX_NAPÚALAP_MIN_HOSSZÚMAX_MIN_HOSSZÚELOZMENY_MAXÚ	ExceptionÚ	Szabalyok)ÚurlapÚnapr   Úelozmenys       Ú+/var/www/website/routers/jelszo_hazirend.pyÚ	_urlapbolr.      sƒ  € ð7ØˆØ�9‰9�\Ó" dÓ*ðGÜœ#˜eŸi™iÐ(9¸2Ó>Ó?×EÑEÓGÓH�ô ×)Ñ)¨SÕJ´B×4JÑ4JÕJØÐCÄB×DZÑDZÐC[Ð[hÔik×iÑið  iAð  AWð  Xð  Xð  Xð	9ÜœC §	¡	¨+´r×7HÑ7HÓ IÓJ×PÑPÓRÓSˆIô × Ñ  IÕA´×1AÑ1AÕAØÐ+¬B×,=Ñ,=Ð+>¸eÄB×DTÑDTÐCUÐUnÐoÐoÐoð	CÜœ3˜uŸy™y¨¸Ó:Ó;×AÑAÓC×HÀqÓIˆHð �HÕ/¤§¡Õ/ØÐ=¼b¿o¹oÐ=NÐN^Ð_Ð_Ð_ð 0ô �<Š<¨È%Ï)É)ÐT]ÓJ^ÐbfÑJfÐqv×qzÑqzð  |Fó  rGð  KOñ  rOØ"ŸY™Y vÓ.°$Ñ6À%Ç)Á)ÈKÓBXÐ\`ÑB`ÐnvñxØy}ð~ð ~øô% ó GØÐRÔSU×SiÑSiÐRjÐjkÔln÷  mCñ  mCð  lDð  DFð  Gð  Gò  GðGûô ó 	9Ù8ð	9ûô ó 	CÙBð	Cûô ó 7Ù6ð7ús   ‚I š2H ÁAI ÂA H; ÃAI Ä2;I Å-2I È1H8È5I È7H8È8I È;
IÉI ÉIÉI É
IÉI ÉIÉI É
I(É'I(ÚdbÚceg_idc           	      óh  • [         R                  " 5       n/ nU R                  [        R                  5      R                  [        R                  R                  U:H  [        R                  R                  R                  S5      5      R                  [        R                  R                  5      R                  5        Hp  nUR                  UR                  UR                  [         R                  " UR                  5      UR                  U-
  R                  UR                  U:*  S.5        Mr     U$ )u•   A cÃ©g felhasznÃ¡lÃ³i a lejÃ¡rat szerint (csak akinek van): [(felhasznÃ¡lÃ³, lejÃ¡rat szÃ¶vege, hÃ¡tralÃ©vÅ‘ nap, lejÃ¡rt?)]. Csak megjelenÃ­tÃ©shez.N)ÚnevÚemailÚlejaratr+   Úlejart)r"   Ú	_utc_mostÚqueryÚmodelsÚUserÚfilterÚ
company_idÚjelszo_lejarat_atÚisnotÚorder_byÚallÚappendÚusernamer3   Ú_helyi_datumÚdays)r/   r0   ÚmostÚsorokÚus        r-   Ú_felhasznalok_lejaratarG   6   s÷   € ä�<Š<‹>€DØ€EØ�X‰X”f—k‘kÓ"×)Ñ)¬&¯+©+×*@Ñ*@ÀFÑ*JÌFÏKÉK×LiÑLi×LoÑLoÐptÓLuÓv×Ñô  AG÷  ALñ  AL÷  A^ñ  A^ó  _÷  cñ  cö  eˆØ�‰˜QŸZ™Z°!·'±'ÄbÇoÂoÐVW×ViÑViÓFjØ×1Ñ1°DÑ8×>Ñ>È!×J]ÑJ]ÐaeÑJeñgö 	hñ eð €Ló    ÚrequestÚuserÚmentveÚhibaÚelonezetÚnÚvissza_beallitasokÚreturnc	                 óÔ  • [        X 5      n	U	(       a   UR                  [        R                  U	5      OSn
[        R
                  " U
5      nU=(       d    Un0 SU
_SU_SU_S[        R                  " U5      _S[        [        R                  " U5      5      _SU
(       a  [        XR                  5      O/ _SU
SL =(       d    U
R                  S	L _S
[        UR                  5      _SU_SU_SU_SU_S[        R                  _S[        R                  _S[        R                   _S[        R"                  _S[        R$                  _[        R&                  [        R(                  US.E$ )u>  A jelszÃ³-hÃ¡zirend tartalmÃ¡nak (templates/_jelszo_hazirend_tartalom.html) bemenete: EGY `jh` szÃ³tÃ¡r. A /jelszo-hazirend oldal Ã©s a BeÃ¡llÃ­tÃ¡sok
"JelszÃ³-hÃ¡zirend" fÃ¼le (routers/settings.py) is ezt hasznÃ¡lja. `vissza_beallitasok`: a BeÃ¡llÃ­tÃ¡sok fÃ¼lrÅ‘l jÃ¶vÅ‘ Å±rlap (a mentÃ©s utÃ¡n oda tÃ©rÃ¼nk vissza).NÚcegÚszabÚtaroltÚfigyelmeztetesekÚbecsult_bitÚfelhasznalokÚinaktiv_cegFÚcsak_olvasasrK   rL   rM   ÚerintettÚmin_napÚmax_napÚ	max_hosszÚ
alap_hosszÚelozmeny_max)Úemlekezteto_napÚturelmi_naprO   )r   r   r8   ÚCompanyr"   Ú	szabalyokÚgyengesegekr   rV   rG   ÚidÚaktivÚboolrY   r#   r$   r&   r%   r'   ÚEMLEKEZTETO_NAPÚTURELMI_NAP)rI   r/   rJ   rS   rK   rL   rM   rN   rO   r0   rR   rT   s               r-   Ú	kontextusrj   @   s”  € ô $ DÓ2€FÞ,2ˆ"�&‰&”—‘ Ô
(¸€CÜ�\Š\˜#Ó€FØ�>�6€Dð	Øˆsð	Ø˜Dð	Ø"*¨Fð	àœBŸNšN¨4Ó0ð	à2?ÄÄRÇ^Â^ÐTXÓEYÓAZð	ð 	¾cÔ.¨r·6±6Ô:Àrð	ð 	�s˜d�{×8 c§i¡i°5Ð&8ð		ð ;IÌ$Èt×O`ÑO`ÓJað		ð
 	�&ð	ð
 ! $ð	ð
 )3°Hð	ð
 ?IÈ!ð	ð 	”2×)Ñ)ð	ð ,5´b×6LÑ6Lð	ð OZÔ[]×[kÑ[kð	ð nzÔ{}÷  |Mñ  |Mð	ð 	œŸ™ð	ô =?×<NÑ<NÔ_a×_mÑ_mØ0ò	ð 	rH   Ústatus_codec
                 ó˜   • [        XX#XEXgU	S9	n
U	(       a  SSKJn  UR                  XX*US9$ [        R
                  " U SUX*S   U
S.SS	0S
9$ )u  A vÃ¡lasz: a /jelszo-hazirend oldal; ha az Å±rlap a BeÃ¡llÃ­tÃ¡sok fÃ¼lrÅ‘l jÃ¶tt (`vissza_beallitasok`), akkor a BeÃ¡llÃ­tÃ¡sok oldal a "JelszÃ³-hÃ¡zirend" fÃ¼lÃ¶n
(hibÃ¡val / elÅ‘nÃ©zettel egyÃ¼tt is) - Ã­gy a felhasznÃ¡lÃ³ nem kerÃ¼l ki a BeÃ¡llÃ­tÃ¡sokbÃ³l.)rS   rK   rL   rM   rN   rO   r   )Úsettings)Újh_kontextusrk   zjelszo_hazirend.htmlrR   )rJ   rR   r"   zCache-Controlzno-store)rI   Únamerk   ÚcontextÚheaders)rj   Úroutersrm   Úbeallitasok_valaszr   ÚTemplateResponse)rI   r/   rJ   rS   rK   rL   rM   rN   rk   rO   ÚjhkÚsettings_routers               r-   Ú_oldalrw   T   sn   € ô �G ¸ÐU]ð  xJñ  K€CÞÝ7Ø×1Ñ1°'¸tÐcnÐ1ÐoÐoÜ×%Ò%ØØ#ØØ¨%¡j¸Ñ<Ø  *Ð-ñð rH   z/jelszo-hazirend)Úresponse_classÚcurrent_userc                 óL   • UR                   S:w  a
  [        SSS9$ [        XXAUS9$ )u   Csak megjelenÃ­t (nem Ã­r).ÚAdminú/valassz-modulté/  ©Úurlrk   )rK   rN   )Úroler   rw   )rI   rK   rN   r/   ry   s        r-   Úhazirend_oldalr�   e   s/   € ð ×Ñ˜GÓ#ÜÐ$5À3ÑGÐGÜ�'˜|¸aÑ@Ð@rH   Úregizjh.SzabalyokÚujc                 ó(   • S nU" U 5      U" U5      4$ )Nc                 ó*  • SU R                   (       a  U R                   OS SU R                   SU R                  (       a  SOS SU R                  (       a  SOS SU R                  (       a  SOS S	U R
                  (       a  SOS S
U R                   3$ )Nu
   lejÃ¡rat: Únincsz nap; min. hossz: u   ; kisbetÅ±: ÚigenÚnemu   ; nagybetÅ±: u	   ; szÃ¡m: u   ; speciÃ¡lis: u   ; elÅ‘zmÃ©ny: r   )Úss    r-   ÚfÚ_valtozasok.<locals>.fo   sŸ   € Ø°!×2C×2C˜Q×.Ò.ÈÐQÐQcÐde×doÑdoÐcpð qØ'(§y§y™V°eÐ<¸MÐTU×T^×T^É&ÐdiÐIjÐjsÐ~÷  E÷  EÑtzð  KPð  tQð QØ)*¯¯™v¸%Ð@ÀÈqÏ}É}Èoð_ð 	`rH   © )r‚   rƒ   rŠ   s      r-   Ú_valtozasokr�   n   s   € ò`ñ ˆT‹7‘A�b“Eˆ>ÐrH   c           
   ƒ   óx  #   • UR                   S:w  a
  [        SSS9$ U R                  5       I S h  v•N nUR                  S5      S:H  n[        R
                  " U 5      (       a  [        XUSSUS	9$ [        X 5      nU(       a  [        XQ5      (       d  [        XUS
SUS	9$ UR                  (       a  [        XUSSUS	9$ [        U5      u  pgU(       a  [        XX'SUS	9$ UR                  S5      S:X  a  [        XX&SUS9$ UR                  [        R                  U5      n[        R                  " U5      n	 UR                  Ul        UR"                  [        R$                  :”  a  UR"                  OS Ul        UR(                  Ul        UR,                  Ul        UR0                  Ul        UR4                  Ul        UR8                  =(       d    S Ul        [        R<                  " 5       Ul        S n
U	R                  UR                  :w  a  [        R@                  " X5      n
X–:w  aG  [C        X–5      u  p¼URE                  [        RF                  " URH                  URH                  SX¼S95        URK                  5         U(       a  [        SU
b  SU
 3OS-   S-   SS9$ SU
b  SU
 3OS-   n[        USS9$  GN„! [L         av  nURO                  5         [Q        SU S[S        U5      RT                   SU 35        [        XUR                  [        RV                  URH                  5      SSUS	9s S nA$ S nAff = f7f)Nr{   r|   r}   r~   ÚvisszaÚbeallitasoku,   A kÃ©rÃ©s nem errÅ‘l az oldalrÃ³l Ã©rkezett.i“  )rL   rk   rO   u3   Ez a cÃ©g inaktÃ­v, a hÃ¡zirend nem mÃ³dosÃ­thatÃ³.uB   Csak megtekintÃ©si jogosultsÃ¡ggal nem mÃ³dosÃ­thatÃ³ a hÃ¡zirend.i�  ÚmuveletÚ
ellenorzesT)rS   rM   rO   u   JelszÃ³-hÃ¡zirend)r;   Úuser_idÚ
field_nameÚ	old_valueÚ	new_valueu3   â�Œ A jelszÃ³-hÃ¡zirend mentÃ©se sikertelen (cÃ©g #z): z: u)   A mentÃ©s nem sikerÃ¼lt, prÃ³bÃ¡ld Ãºjra.iô  z*/beallitasok?uzenet=jelszo_hazirend_mentvez&n=r   z#tab-jelszo-hazirendz/jelszo-hazirend?mentve=1),r€   r   Úformr   Ú
mfa_routerÚ_idegen_eredetrw   r   r   rY   r.   r8   rb   r"   rc   r   Újelszo_ervenyesseg_napr   r%   Újelszo_min_hosszr   Újelszo_kell_kisbetur   Újelszo_kell_nagybetur   Újelszo_kell_szamr   Újelszo_kell_specialisr   Újelszo_elozmeny_dbr6   Újelszo_hazirend_valtozott_atÚalkalmazr�   ÚaddÚAuditLogre   Úcommitr(   ÚrollbackÚprintÚtypeÚ__name__r9   )rI   r/   ry   r*   Úvbr0   rS   rL   rR   r‚   rZ   ÚrrF   Úexr   s                  r-   Úhazirend_menteser­   v   s$  é € à×Ñ˜GÓ#ÜÐ$5À3ÑGÐGØ—,‘,“.× €Eà	�‰�8Ó	 Ñ	-€BÜ× Ò  ×)Ñ)Ü�g <Ð6dÐruð  KMñ  Nð  	NÜ# LÓ:€FÞÔ*¨6×6Ñ6Ü�g <Ð6kÐy|ð  RTñ  Uð  	UØ× × Ü�g <Ð6zð  ILð  acñ  dð  	dä˜5Ó!�J€DÞÜ�g <ÈÐ`bÑcÐcØ‡y�y�Ó˜|Ó+Ü�g <ÀTÐ^`ÑaÐaà
�&‰&”—‘ Ó
(€CÜ�<Š<˜Ó€DðcØ%)×%9Ñ%9ˆÔ"Ø15·±Ä"×BSÑBSÓ1S˜tŸ~š~ÐY]ˆÔØ"&§,¡,ˆÔØ#'§=¡=ˆÔ Ø#Ÿy™yˆÔØ$(§N¡NˆÔ!Ø!%×!1Ñ!1×!9°TˆÔÜ+-¯<ª<«>ˆÔ(ØˆØ×Ñ 4×#7Ñ#7Ó7Ü—{’{ 2Ó+ˆHØ‹<Ü˜tÓ*‰DˆAØ�F‰F”6—?’?¨c¯f©f¸l¿o¹oÐZmÐyzñ  Iô  JØ
�	‰	Œö
 
ÜÐ$PÐhpÑh|ÐVYÐZbÐYcÑTdð  CEñ  %Fð  I_ñ  %_ð  mpñ  qð  	qØ
%¸XÑ=Q¨3¨x¨jÑ)9ÐWYÑ
Z€CÜ °Ñ5Ð5òU !øôF ó cØ
�‰ŒÜÐCÀFÀ8È3ÌtÐTVËx×O`ÑO`ÐNaÐacÐdfÐcgÐhÔiÜ�g 2§6¡6¬&¯+©+°|·±Ó#GÐNyð  HKð  `bñ  cõ  	cûðcüsB   ‚.L:°J4±DL:Ä6EJ7 É>7L:Ê7
L7ËA+L2Ì,L7Ì-L:Ì2L7Ì7L:)NNNFNF)NNNFNéÈ   F))Ú__doc__Útypingr   Úfastapir   r   r   Úfastapi.responsesr   r   Úsqlalchemy.ormr	   Újelszo_hazirendr"   r8   Údatabaser
   rr   r   r˜   Úsecurityr   r   r   Útemplates_envr   Úrouterr.   r   rG   r9   r   rg   Údictrj   rw   r   r�   r�   Úpostr­   rŒ   rH   r-   Ú<module>r»      sû  ðñõ ç /Ñ /ß <Ý "ã Û Ý Ý %ß PÑ PÝ #á	‹€ò~ð:˜wð °ô ð @DØZ_ñ�wð  Gð °6·;±;ð ÐS[Ð\_ÑS`ð ÐowÐx{Ño|ð ØðØ)1°#©ðØSWðØdhõð( }AØotñ�Gð  ð °·±ð ÐPXÐY\ÑP]ð ÐltÐuxÑlyð ØðØ&.¨s¡mðØILðØhlõð" ‡�Ð¨|€Ð<Ø=AÐVZÙ!(¨£ÉgÐVfÓNgñA˜Gð A¨X°c©]ð AÀhÈsÁmð AØðAØ@FÇÁôAó =ðAð�nð ¨.ð ¸Sô ð ‡�ÐÓ Ù;BÀ6»?Ñhoð  qAó  iBñ -6 Gð -6°ð -6ÐZ`×ZeÑZeô -6ó !ñ-6rH   