ó
    Û¶³jW<  ã                   ót  • S SK Jr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Jr  S SKJrJrJrJrJrJrJrJrJr  S SKJr  S S	KJrJrJrJr  S S
K J!r!  \" \" \" S5      5      /S9r"S\S\S\RF                  4S jr$\"RK                  S\S9\" \5      \" \5      4S\S\S\RF                  4S jj5       r&g)é    )ÚdateÚ	timedelta)Ú	APIRouterÚRequestÚDepends)ÚHTMLResponseÚRedirectResponse)ÚSessionN)Úget_db)	Úget_current_userÚget_working_company_idÚapply_user_data_scope_filterÚis_machine_allowedÚget_allowed_companies_listÚsafe_json_for_scriptÚrequire_modulÚvan_e_tobb_moduljaÚsugo_engedelyezve)Úcompute_vizsgalati_esedekesseg)Úget_uzemora_beallitasokÚbuild_naptar_esemenyekÚbuild_diagram_adatokÚ!get_vizsgalati_datum_kotelezo_mod)Ú	templatesÚEMELOGEP)ÚdependenciesÚrequestÚdbÚcurrent_userc                 óº  • [        X 5      nSnUS:X  a  UR                  S:X  a  Sn/ n/ n/ nU(       Gd   UR                  [        R                  5      R                  [        R                  R                  U:H  [        R                  R                  S:H  5      n[        X‚5      nUR                  5       n	[        R                  " 5       n
U
[        SS9-   nUR                  [        R                  5      R                  [        R                  R                  U:H  5      R                  5        Vs0 s H  oÌR                  U_M     nn[        X15      nU	 GHÜ  n/ Ul        UR#                  UR                  5      nU(       a4  [%        S UR&                  =(       d    S	R)                  S
5       5       5      O	[%        5       nSUl        SUl        [/        USS5      nU(       a"  UR                   R1                  S5        SUl        SU;  a3  UR2                  (       d"  UR                   R1                  S5        SUl        [5        XúUU5       HÄ  nSSSS.R#                  US   US   5      nUS   S:X  a*  UR                   R1                  SU S3S45        SUl        MR  US   S:X  a0  UR                   R1                  SU SUS    S3S45        SUl        M‹  US   S:X  d  M–  UR                   R1                  SU SUS    S3S 45        SUl        MÆ     [/        US!S5      (       a²  [/        US"S#5      nU(       a|  UU
:  a8  UR                   R1                  S$UR7                  S%5       S3S45        SUl        O`UU::  a7  UR                   R1                  S&UR7                  S%5       S3S 45        SUl        O"UR                   R1                  S'5        SUl        UR*                  (       a  UR1                  U5        GM¦  UR,                  (       a  UR1                  U5        GMË  UR1                  U5        GMß     UR                  [        R8                  5      R                  [        R8                  R                  U:H  [        R8                  R:                  S(:H  5      R=                  5       nU(       a  UR>                  S):H  OSnUR                  [        R8                  5      R                  [        R8                  R                  U:H  [        R8                  R:                  S*:H  5      R=                  5       nU(       a  UR>                  S):H  OSnUR                  [        R8                  5      R                  [        R8                  R                  U:H  [        R8                  R:                  S+:H  5      R=                  5       nU(       aQ  UR>                  R)                  S
5       Vs/ s H*  nURA                  5       (       d  M  URA                  5       PM,     nnO/ S,Qn0 n0 nU(       dm  U(       a!  [C        W	[        R                  " 5       WW5      nU(       a>  [E        W	U[        R                  " 5       [G        U5      [G        U5      [G        U5      5      n[I        X!S-5      nUR                  [        RJ                  5      R                  [        RJ                  R                  U:H  5      R                  5       n / n!UR                  S.;   aÇ  UR                  [        RL                  5      RO                  [        R                  5      R                  [        R                  R                  U:H  [        RL                  R                  S/:H  5      R                  5       n"U" H1  n[Q        URR                  U5      (       d  M   U!R1                  U5        M3     / n#U(       d¨  UR                  S.;   a˜  UR                  [        R                  5      R                  [        R                  R                  U:H  [        R                  R                  S0:H  5      R                  5       n$U$ V%s/ s H  n%[Q        U%U5      (       d  M  U%PM     n#n%/ n&/ n'UR                  S1;   Ga×  UR                  [        RT                  5      R                  [        RT                  R                  U:H  [        RT                  R                  RW                  / S2Q5      5      R                  5       n(U( GHO  n)U)RX                  (       a‘  U)RX                  W
:  a9  U&R1                  U)RZ                  S3U)RX                  R7                  S%5      S4.5        OHU)RX                  W::  a8  U'R1                  U)RZ                  S3U)RX                  R7                  S%5      S4.5        U)R\                  (       d  M¹  U)R\                  W
:  a;  U&R1                  U)RZ                  S5U)R\                  R7                  S%5      S4.5        GM  U)R\                  W::  d  GM  U'R1                  U)RZ                  S5U)R\                  R7                  S%5      S4.5        GMR     / n*U(       dú  [_        X15      u  n+n,UR                  [        R                  5      R                  [        R                  R                  U:H  [        R                  R                  S:H  [        R                  R`                  S#:g  5      R                  5       n-U- HW  n%U*R1                  U%Rb                  =(       d    S6U%Rd                  =(       d    S7U%Rf                  U%R`                  U+S8:H  S9.5        MY     S:n.S#n/S:n00 n1U(       GdZ  UR                  [        R                  5      R                  [        R                  R                  U:H  5      Ri                  5       n.UR                  [        Rj                  5      R                  [        Rj                  Rl                  U:H  5      R=                  5       n2U2(       a  U2Rn                  OS#n/UR                  [        RT                  5      R                  [        RT                  R                  U:H  5      R                  5       n3[G        U35      n0U3 H/  n)U1R#                  U)R                  S:5      S-   U1U)R                  '   M1     [p        Rr                  " U S;0 S<U_SU_SU_S=U_S>U_S?U_S@U_SAU _SBU!_SCU#_SDU&_SEU'_SFU*_SGU_SHU_SIU_SJ[u        U5      _[u        U5      U.U/U0U1[w        X!5      [y        X15      SK.ESL9$ s  snf s  snf s  sn%f )Muú  A "/" Ãºtvonalat SZÃ�NDÃ‰KOSAN nem ez a router szolgÃ¡lja ki - a valÃ³di route a main.py-ban
van (lÃ¡sd "gyoker_oldal"), mert a bejelentkezetlen lÃ¡togatÃ³knak a marketing kezdÅ‘lapot kell
mutatnia, a bejelentkezetteknek pedig ezt a vezÃ©rlÅ‘pultot - ehhez a "/" elÃ©rÃ©sÃ©nek a
bejelentkezÃ©st kÃ¶telezÅ‘vÃ© tÃ©vÅ‘ require_modul("EMELOGEP") router-szintÅ± fÃ¼ggÅ‘sÃ©ge ALÃ� nem
eshet. Ez a fÃ¼ggvÃ©ny innen, plain Python hÃ­vÃ¡skÃ©nt kerÃ¼l meghÃ­vÃ¡sra, feloldott
request/db/current_user paramÃ©terekkel.Fé   ÚAdminTu   AktÃ­vé   )Údaysc              3   ón   #   • U  H+  oR                  5       (       d  M  UR                  5       v •  M-     g 7f)N)Ústrip)Ú.0Úms     Ú%/var/www/website/routers/dashboard.pyÚ	<genexpr>Údashboard.<locals>.<genexpr>A   s$   é € ð  Ú#J˜aÏgÉgÏi“	�—‘—	�	Ò#Jùs   ‚5ž5Ú Ú,Úkornyezet_megvaltozott)u‚   RendkÃ­vÃ¼li vizsgÃ¡lat Ã©s ismÃ©telt Ã¼zembe helyezÃ©si eljÃ¡rÃ¡s szÃ¼ksÃ©ges (KÃ¶rnyezetvÃ¡ltozÃ¡s / Telephely Ã¡tszÃ¡llÃ­tÃ¡s)!ÚdangerÚuzembe_helyezes_datum)uO   HiÃ¡nyzik az Ãœzembe helyezÃ©s dÃ¡tuma! A gÃ©p hivatalosan nem Ã¼zemeltethetÅ‘.r/   õ   Szerkezeti vizsgÃ¡latõ   FÅ‘vizsgÃ¡latu!   IdÅ‘szakos Bizt. felÃ¼lvizsgÃ¡lat)r1   r2   u.   IdÅ‘szakos biztonsÃ¡gi felÃ¼lvizsgÃ¡lat (EBSZ)ÚtipusÚallapotÚhianyziku   Nincs rÃ¶gzÃ­tve u	    dÃ¡tuma!r/   Úlejartu   LejÃ¡rt z (ÚesedekesÚ)Ú	hamarosanu   KÃ¶zeledÅ‘ ÚwarningÚkozuti_forgalomÚkozuti_vizsga_datumNu   LejÃ¡rt MÅ±szaki vizsga (z%Y-%m-%du+   KÃ¶zeledÅ‘ MÅ±szaki vizsga Ã©rvÃ©nyessÃ©g ()uY   KÃ¶zÃºti forgalomban rÃ©szt vesz, de hiÃ¡nyzik a MÅ±szaki vizsga Ã©rvÃ©nyessÃ©gi dÃ¡tuma!Ú	secondaryÚDashboardNaptarAktivÚTrueÚDashboardDiagramokAktivÚDashboardDiagramTipusok)ÚstatuszÚgyartoÚgeptipusÚkorr   )r"   õ   EmelÅ‘gÃ©p Ã¼gyintÃ©zÅ‘õ   EmelÅ‘gÃ©p szakÃ©rtÅ‘õ   EmelÅ‘gÃ©p vizsgÃ¡lÃ³ÚNyitottu(   Kivonva (vizsgÃ¡n nem megfelelÃ©s miatt))r"   rF   )u   FelhasznÃ¡lÃ³rF   rG   rH   u   Orvosi alkalmassÃ¡gi)Únevr3   Údatumu   JogosÃ­tvÃ¡nyu   Ismeretlen gÃ©pÚ-ÚAutomatikusModositas)rJ   Ú
gyari_szamÚuuidÚszintÚautomatikusr   zdashboard.htmlÚuserÚrendbenÚworking_company_idÚcegekÚis_master_companyÚnapi_kerdesekÚnyitott_ticketekÚvizsgan_megbukott_gepekÚ	lejart_hrÚhamarosan_lejaro_hrÚuzemora_riasztasokÚnaptar_aktivÚdiagramok_aktivÚvalasztott_diagramokÚnaptar_esemenyek_json)Údiagram_adatok_jsonÚgepek_szamaÚgepek_licenc_maxÚfelhasznalok_szama_osszesenÚfelhasznalok_szama_szerepkorokÚtobb_modul_vanÚsugo_e©r   ÚnameÚcontext)=r   ÚroleÚqueryÚmodelsÚMachineÚfilterÚ
company_idrB   r   Úallr   Útodayr   ÚMachineTypeConfigrD   r   ÚalertsÚgetÚsetÚrejtett_mezokÚsplitÚ	is_lejartÚis_hamarosanÚgetattrÚappendr0   r   ÚstrftimeÚ
DictionaryÚ	kategoriaÚfirstÚertekr&   r   r   Úlenr   ÚDailyCheckQuestionÚMaintenanceTicketÚjoinr   ÚmachineÚUserÚin_Úorvosi_alkalmassag_ervenyessegÚusernameÚjogositvany_ervenyessegr   Úuzemora_riasztas_szintÚ
megnevezesrN   rO   ÚcountÚCompanyÚidÚlicenc_max_gepr   ÚTemplateResponser   r   r   )4r   r   r   rT   rV   Úlejart_gepekÚhamarosan_lejaroÚrendben_levorl   ÚgepekÚmai_napÚfigyelmezteto_hatarÚcÚconfigs_by_geptipusÚdatum_kotelezo_modÚgepÚconfigrw   Úkornyezet_valtozottÚeÚcimkeÚmuszaki_datumÚnaptar_beallitasr]   Údiagramok_beallitasr^   Údiagram_tipusok_beallitasÚtr_   Únaptar_esemenyekÚdiagram_adatokrU   rW   rX   Úall_open_ticketsrY   Úosszes_megbukottÚgrZ   r[   ÚdolgozokÚdr\   Úuzemora_modÚ_Úgepek_riasztassalrb   rc   rd   re   ÚcegÚceges_dolgozoks4                                                       r)   Ú	dashboardr²      sH  € ô 0°ÓFÐàÐØ˜QÓ <×#4Ñ#4¸Ó#?Ø Ðà€LØÐØ€LçØ—‘œŸ™Ó(×/Ñ/Ü�N‰N×%Ñ%Ð);Ñ;Ü�N‰N×"Ñ" hÑ.ó
ˆô -¨UÓAˆØ—	‘	“ˆä—*’*“,ˆØ%¬	°rÑ(:Ñ:Ðð �H‰H”V×-Ñ-Ó.×5Ñ5´f×6NÑ6N×6YÑ6YÐ]oÑ6oÓp×tÑtÔvó
âvð  �J‰J˜ŠMÙvð 	ð 
ô ?Ð?QÓVÐäˆCØˆCŒJØ(×,Ñ,¨S¯\©\Ó:ˆFö ô  ñ  Ø$*×$8Ñ$8×$>¸B×#EÑ#EÀcÔ#Jó ô ä ›Uð ð "ˆCŒMØ$ˆCÔä")¨#Ð/GÈÓ"OÐÞ"Ø—
‘
×!Ñ!ð #ô ð !%�”ð
 '¨mÓ;ÀC×D]×D]Ø—
‘
×!Ñ!Ð"ô  AØ $�”ô
 4°CÀ&ÐJ\Ö]�à-DØ%4ØFiñ÷ ‘#�a˜‘j ! G¡*Ó-ð	 ð
 �Y‘< :Ó-Ø—J‘J×%Ñ%Ð):¸5¸'ÀÐ'KÈXÐ&VÔWØ$(�C–MØ�y‘\ XÓ-Ø—J‘J×%Ñ%¨°%°¸¸1¸Z¹=¸/ÈÐ'KÈXÐ&VÔWØ$(�C–MØ�y‘\ [Õ0Ø—J‘J×%Ñ%¨°U°G¸2¸aÀ
¹m¸_ÈAÐ'NÐPYÐ&ZÔ[Ø'+�CÖ$ñ ^ô" �sÐ-¨u×5Ñ5Ü '¨Ð-BÀDÓ I�Þ Ø$ wÓ.ØŸ
™
×)Ñ)Ð-FÀ}×G]ÑG]Ð^hÓGiÐFjÐjkÐ+lÐnvÐ*wÔxØ(,˜�Ø&Ð*=Ó=ØŸ
™
×)Ñ)Ð-XÐYf×YoÑYoÐpzÓY{ÐX|Ð|}Ð+~ð  AJð  +Kô  LØ+/˜Ô(øà—J‘J×%Ñ%ð  'Qô  RØ$(�C”Mð �}�}Ø×#Ñ# C×(Ø×!×!Ø ×'Ñ'¨×,à×#Ñ# C×(ñC ðH —x‘x¤× 1Ñ 1Ó2×9Ñ9Ü×Ñ×$Ñ$Ð(:Ñ:Ü×Ñ×#Ñ#Ð'=Ñ=ó÷ �eƒgð ö :JÐ$×*Ñ*¨fÒ4Èt€LàŸ(™(¤6×#4Ñ#4Ó5×<Ñ<Ü×Ñ×$Ñ$Ð(:Ñ:Ü×Ñ×#Ñ#Ð'@Ñ@ó÷ �eƒgð ö @SÐ*×0Ñ0°FÒ:ÐX\€Oà "§¡¬×):Ñ):Ó ;× BÑ BÜ×Ñ×$Ñ$Ð(:Ñ:Ü×Ñ×#Ñ#Ð'@Ñ@ó!÷ �eƒgð ö !Ø3L×3RÑ3R×3XÑ3XÐY\Ô3]ÓkÒ3]¨aÐab×ahÑah×aj£	 §¡¦	Ñ3]ÐÐkÐâGÐàÐØ€NÞÞÜ5°e¼T¿ZºZ»\ÐK^Ð`rÓsÐÞÜ1ØÐ+¬T¯ZªZ«\Ü�LÓ!¤3Ð'7Ó#8¼#¸lÓ:KóˆNô ' |¸ÓD€Eð —H‘HœV×6Ñ6Ó7×>Ñ>Ü×!Ñ!×,Ñ,Ð0BÑBóç	�cƒeð ð
 ÐØ×ÑÐrÓrØŸ8™8¤F×$<Ñ$<Ó=×BÑBÄ6Ç>Á>ÓR×YÑYÜ�N‰N×%Ñ%Ð);Ñ;Ü×$Ñ$×,Ñ,°	Ñ9ó
÷ ‰#‹%ð 	ó "ˆAÜ! !§)¡)¨\×:Ó:Ø ×'Ñ'¨Ö*ñ "ð !ÐÞ ×!2Ñ!2ð  7Mó  "MØŸ8™8¤F§N¡NÓ3×:Ñ:Ü�N‰N×%Ñ%Ð);Ñ;Ü�N‰N×"Ñ"Ð&PÑPó
÷ ‰#‹%ð 	ñ /?Ó"fÒ.>¨ÔBTÐUVÐXd×Be§1Ñ.>ÐÐ"fð €IØÐð ×ÑÐ@Ô@Ø—8‘8œFŸK™KÓ(×/Ñ/Ü�K‰K×"Ñ"Ð&8Ñ8Ü�K‰K×Ñ× Ñ Ò!ó  Aó
÷ ‰#‹%ð 	ô
 ˆAà×/×/Ø×3Ñ3°gÓ=Ø×$Ñ$¨Q¯Z©ZÐBXÐcd÷  dDñ  dD÷  dMñ  dMð  NXó  dYñ  &Zõ  [Ø×5Ñ5Ð9LÓLØ'×.Ñ.°q·z±zÐLbÐmn÷  nNñ  nN÷  nWñ  nWð  Xbó  ncñ  0dô  eð ×(×(Ñ(Ø×,Ñ,¨wÓ6Ø×$Ñ$¨Q¯Z©ZÀ/Ð\]×\uÑ\u×\~Ñ\~ð  @Jó  ]Kñ  &L÷  MØ×.Ñ.Ð2EÖEØ'×.Ñ.°q·z±zÈOÐfg×fÑf÷  gIñ  gIð  JTó  gUñ  0V÷  Wñ ð  ÐÞÜ0Ð1CÓH‰ˆ�QØŸH™H¤V§^¡^Ó4×;Ñ;Ü�N‰N×%Ñ%Ð);Ñ;Ü�N‰N×"Ñ" hÑ.Ü�N‰N×1Ñ1°TÑ9ó
÷ ‰#‹%ð	 	ó
 #ˆAØ×%Ñ%Ø—|‘|×8Ð'8ØŸl™l×1¨cØŸ™Ø×1Ñ1Ø*Ð.DÑDñ'ö ñ #ð €KØÐØ"#ÐØ%'Ð"ßØ—h‘hœvŸ~™~Ó.×5Ñ5´f·n±n×6OÑ6OÐSeÑ6eÓf×lÑlÓnˆØ�h‰h”v—~‘~Ó&×-Ñ-¬f¯n©n×.?Ñ.?ÐCUÑ.UÓV×\Ñ\Ó^ˆÞ14˜3×-Ò-¸$ÐØŸ™¤&§+¡+Ó.×5Ñ5´f·k±k×6LÑ6LÐPbÑ6bÓc×gÑgÓiˆÜ&)¨.Ó&9Ð#ÛˆAØ5S×5WÑ5WÐXY×X^ÑX^Ð`aÓ5bÐefÑ5fÐ*¨1¯6©6Ó2ñ  ô ×%Ò%ØØð
Ø�Lð
à�lð
ð Ð)ð
ð �|ð	
ð
 !Ð"4ð
ð �Uð
ð  Ð!2ð
ð ˜]ð
ð Ð 0ð
ð &Ð'>ð
ð ˜ð
ð "Ð#6ð
ð !Ð"4ð
ð ˜Lð
ð ˜ð
ð  #Ð$8ð!
ð" $Ô%9Ð:JÓ%Kð#
ô$ $8¸Ó#GØ&Ø 0Ø+FØ.LÜ0°ÓBÜ'Ð(:Ó?ò1
ñð ùòO
ùòv  lùò\ #gs   Ä.u×!u×>uáuá6uz/hasznalati-utmutato)Úresponse_classc           
      ó’   • [        X 5      n[        X15      (       d
  [        SSS9$ [        R                  " U SUU[        X!5      S.S9$ )uË   Az EmelÅ‘gÃ©p modul Ã­rott hasznÃ¡lati ÃºtmutatÃ³ja - cÃ©genkÃ©nt, a rendszeradmin Ã¡ltal
ki/bekapcsolhatÃ³ (lÃ¡sd security.sugo_engedelyezve), ha a cÃ©g nem kÃ©ri, az oldal
egyÃ¡ltalÃ¡n nem Ã©rhetÅ‘ el.Ú/i/  )ÚurlÚstatus_codezhasznalati_utmutato.html)rR   rT   rf   rh   )r   r   r	   r   r’   r   )r   r   r   rT   s       r)   Úhasznalati_utmutator¸     sT   € ô 0°ÓFÐÜÐ/×4Ñ4Ü C°SÑ9Ð9ä×%Ò%ØØ'à Ø"4Ü0°ÓBñ
ñð ó    )'Údatetimer   r   Úfastapir   r   r   Úfastapi.responsesr   r	   Úsqlalchemy.ormr
   rm   Údatabaser   Úsecurityr   r   r   r   r   r   r   r   r   Úmsz_constantsr   Ú	msz_logicr   r   r   r   Útemplates_envr   Úrouterr‡   r²   ru   r¸   © r¹   r)   Ú<module>rÅ      sÏ   ðß $ç /Ñ /ß <Ý "ã Ý ÷÷ õ õ
 9÷ó õ $á	¡©°zÓ)BÓ!CÐ DÑ	E€ðDØðDàðDð —+‘+ôDðN ‡�Ð"°<€Ð@ñ ˜&“/Ù 'Ð(8Ó 9ñØðàðð —+‘+ôó Añr¹   