
    G/i(              
       :   S SK JrJrJ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Jr  S SKJr  S SKJr  S SKJr  S S	KJrJrJrJrJrJrJr  S S
KJrJr  SSSSS.r SSSS.r!\" SS/S9r"\"RG                  S5      \" \5      \" \5      4S\S\S\
4S jj5       r$\"RK                  S5      \" \5      \" \5      4S\&S\S\
4S jj5       r'\"RG                  S5      \" \5      \" \5      4S \S\S\
4S! jj5       r(\"RS                  S"5      \"RS                  S#5      \" \5      \" \5      4S\&S\S\
4S$ jj5       5       r)\"RU                  S%5      \" \5      \" \5      4S\&S \S\S\
4S& jj5       r+\"RK                  S'5      \" \5      \" \5      4S\&S\S\
4S( jj5       r,g))*    )	APIRouterDependsstatus)JSONResponseResponse)get_db)Session)ActionIncidentListStoreActionIncidentUpdateActionIncident	UserLogin)ActionIncidentClass)ActionIncidentPDFClass)get_current_active_user)StudentModelStudentPersonalInfoModelStudentAcademicInfoModelSchoolModelProfessionalModelCourseModelSpecialEducationalNeedModel)datetimedatezEn curso	PendientezPor revisarResuelto)            u"   Desregulación emocional/conductalzOtra incidenciaOtro)r   r   r   z/actions_incidentszActions Incidents)prefixtags/action_listsession_userdbc                    U R                   c  SOU R                   nU(       a  UR                  OS n[        U5      R                  UU R                  U R
                  U R                  US9n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  SS5      S S.S	9$ U R                   c  S
OSn[        [        R                  SUUS.S	9$ )Nr   )pageitems_per_page
student_idtitle	school_idr   error  messagezInternal server errorr   r/   datastatus_codecontentz6Complete actions incidents list retrieved successfullyz(Actions incidents retrieved successfully   )r(   r,   r   get_allper_pager*   r+   
isinstancedictgetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_200_OK)r$   r%   r&   
page_valuer,   resultr/   s          WC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\actions_incidents.pyindexr@      s    !&&.K4D4DJ*6&&DI $,,"++)) - F &$FJJx$8G$C==!::i1HI
 	
 KVJZJZJbF  iSG&&
     z
/edit/{id}idc                    [        U5      R                  U 5      n[        U[        5      (       aA  UR                  S5      S:X  a,  [	        [
        R                  SUR                  SS5      S S.S9$ [	        [
        R                  SS	US.S9$ )
Nr   r-     r/   Action incident not foundr0   r2   r5   z+Action incident data retrieved successfully)r   r:   r8   r9   r   r   HTTP_404_NOT_FOUNDr<   rB   r%   r&   r>   s       r?   editrH   A   s     $((,F&$FJJx$8G$C11!::i1LM
 	
 &&D
 rA   z/storeactionc                 `   U R                  5       nU(       a  UR                  OS n[        U5      R                  X4S9n[	        U[         5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  SS5      S S.S9$ [        [        R                  S	S
US.S9$ )N)r,   r   r-   r.   r/   zError saving action incidentr0   r2      z$Action incident created successfully)
r9   r,   r   storer8   r:   r   r   r;   HTTP_201_CREATED)rI   r%   r&   action_inputsr,   r>   s         r?   rL   rL   X   s    KKMM +7&&DI $**=*NF&$FJJx$8G$C==!::i1OP
 	
 ++=
 rA   z/{id}z/delete/{id}c                    [        U5      R                  U 5      n[        U[        5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      S S.S9$ [        [        R                  SS	US.S9$ )
Nr   r-   rD   r/   rE   r0   r2   r5   z$Action incident deleted successfully)	r   deleter8   r9   r:   r   r   rF   r<   rG   s       r?   rP   rP   t   s     !$++B/F&$FJJx$8G$C11!::i1LM
 	
 &&=
 rA   z/update/{id}c                 8   UR                  SS9n[        U5      R                  X5      n[        U[         5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      S S.S	9$ [        [        R                  S
SUS.S	9$ )NT)exclude_unsetr   r-   rD   r/   rE   r0   r2   r5   z$Action incident updated successfully)	r9   r   updater8   r:   r   r   rF   r<   )rB   rI   r%   r&   rN   r>   s         r?   rS   rS      s    KKdK3M $++B>F&$FJJx$8G$C11!::i1LM
 	
 &&=
 rA   z	/pdf/{id}c                    [        U5      R                  U 5      n[        U[        5      (       aA  UR                  S5      S:X  a,  [	        [
        R                  SUR                  SS5      S S.S9$ UR                  [        5      R                  [        R                  US   :H  5      R                  5       nUR                  [        5      R                  [        R                  US   :H  5      R                  5       nUR                  [        5      R                  [        R                  US	   :H  5      R                  5       nUR                  S
5      (       aF  UR                  [        5      R                  [        R                  US
   :H  5      R                  5       OS nU(       a^  UR                   (       aM  UR                  ["        5      R                  ["        R                  UR                   :H  5      R                  5       OS nU(       a^  UR$                  (       aM  UR                  [&        5      R                  [&        R                  UR$                  :H  5      R                  5       OS n	Sn
U(       a  UR(                  (       aw  UR(                  n[*        R,                  " 5       nUR.                  UR.                  -
  UR0                  UR2                  4UR0                  UR2                  4:  -
  n
[5        U
5      n
U(       a  UR6                  (       a  UR6                  OSnU(       a  UR6                  (       a  UR6                  OSnSnUR                  S5      (       a\  UR                  S5      n[        U[4        5      (       a%  [8        R:                  " US5      R+                  5       nUR=                  S5      n0 SUR                  SS5      _SU(       a  UR>                  OS_SU(       a(  UR@                   SURB                   SURD                   3OS_SU_SU(       a,  UR(                  (       a  UR(                  R=                  S5      OS_SU
_SU	(       a  U	RF                  OS_SU(       a  URH                  OS_SU_S[5        UR                  SS5      5      _S[J        R                  UR                  S5      S5      _S[L        R                  UR                  S5      S5      _SUR                  SS5      _SUR                  SS5      _S UR                  S S5      _S!UR                  S!S5      _S"U(       a  UR@                   SURN                   3OS_S#UU(       a  UR6                  OSS$.En[Q        5       nURS                  U5      nS%UR                  SS&5       S'US    S(3n[U        US)S*S+U S,30S-9$ ).Nr   r-   rD   r/   rE   r0   r2   r*   r,   professional_id incident_datez%Y-%m-%dz%d/%m/%Yr+   school_namestudent_name student_rut
birth_dateageneecourse_namez	Sin cursoincident_timeaction_type_nameaction_incident_type_idstatus_name	status_id
backgroundconductconsequencesrecommendationsprofessional_nameu   Asistente Técnico Diferencial)professional_positionprofessional_rutprofessional_secreduczFicha de registro - 	documentoz - z.pdfzapplication/pdfzContent-Dispositionzattachment; filename="")r4   
media_typeheaders)+r   r:   r8   r9   r   r   rF   queryr   filterr*   firstr   r   rB   r   	course_idr   special_educational_need_idr   	born_dater   todayyearmonthdaystridentification_numberr   strptimestrftimerX   namesfather_lastnamemother_lastnamespecial_educational_needsr_   TYPE_OPTIONSSTATUS_OPTIONS	lastnamesr   generate_pdfr   )rB   r%   r&   action_resultstudent_personalstudent_academicschoolprofessionalcourser^   r]   r\   rw   r[   rk   formatted_daterW   pdf_datapdf_generatorpdf_contentfilenames                        r?   r   r      s    (+//3M-&&=+<+<X+F'+Q11(,,Y8ST
 	
 xx 89@@AYAdAdhu  wC  iD  BD  E  K  K  Mxx 89@@AYAdAdhu  wC  iD  BD  E  K  K  MXXk"))+..M+<V*VW]]_F |I  |M  |M  N_  |`  |`288-.556G6J6Jm\mNn6nouuw  fjLcs  yI  yS  ySRXXk"))+..<L<V<V*VW]]_  Y]F Sc  hx  hT  hT"((.
/
6
67R7U7UYi  ZF  ZF  8F  G  M  M  O  Z^C C,66%//


jj:??*u{{EII.F*JZJZ\f\j\jIk.kl#h =MQaQwQw"88}K >JlNpNp|99vx N))%))/:mS))$--mZHMMOM&//
;""7B/Vv)) 	  ~N+112!4D4T4T3UUVWgWwWwVxy  TV 	{	
 	IY^n^x^x&0099*E  A 	s 	s,, 	Vv)) 	 	]..CD 	L,,]->->?X-Y[]^ 	~))-*;*;K*H"M 	m''b9 	=$$Y3 	))."=  	=,,->C!" 	Q] 2 231\5K5K4LMce#$ "B,GS!C!CY[)H0 +,M,,X6K &m&7&7&M%NcRZ[iRjQkkopH$!%;H:Q#G
 rA   N)-fastapir   r   r   fastapi.responsesr   r   app.backend.db.databaser   sqlalchemy.ormr	   app.backend.schemasr
   r   r   r   )app.backend.classes.action_incident_classr   -app.backend.classes.action_incident_pdf_classr   app.backend.auth.auth_userr   app.backend.db.modelsr   r   r   r   r   r   r   r   r   r   r   actions_incidentspostr@   r:   intrH   rL   rP   putrS   r    rA   r?   <module>r      sZ   . . 4 * " h h I P > m  m  m # 	 , 
	 
 ELMdEeu|  ~D  vE )  kr  B |$,34K,L\cdj\k S 	 RY  %, !AHI`Aaqxy  rA % Y gn  "6 '".).56M.N^efl^m s ) T[  * #, ~&LSTkLl  }D  EK  }L s 0 	 ry  '0 {#4;<S4Tdklrds QS Q	 QZa Q $QrA   