
    Xh              
       j   d dl mZmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lZd d	lZd d
lmZ  eddg      Zej7                  d       ee       ee      fdededede	fd       Zej7                  d       ee       ee      fdedede	fd       Zej7                  d       ee       ee      fdededede	fd       Zej7                  d       ee       ee      fdede	fd       Z ejC                  d       ee       ee      fdedede	fd       Z"ejG                  d       ee       ee      fdedede	fd       Z#ej7                  d        ee       ee      fdedede	fd!       Z$ej7                  d"       ee       ee      fdedede	fd#       Z%ej7                  d$       ee      fd%ed&ede	fd'       Z&ejC                  d(       eejN                         ed)       ee       ee      fd*ed+edede	fd,       Z(ej7                  d-       ee       ee      fdedede	fd.       Z)ej7                  d/       ee       ee      fdedede	fd0       Z*ej7                  d1       ee       ee      fdedede	fd2       Z+y	)3    )	APIRouterDependsResponse
UploadFileFile)get_db)Session)VacationUploadVacation	UserLogin)VacationClass)DocumentEmployeeClass)DropboxClass)get_current_active_userN)JSONResponsez
/vacations	Vacations)prefixtagsz/all/{rut}/{page}rutpagesession_userdbc                 V    t        |      j                  | |      }t        d       d|iS N   message)r   get_allprintr   r   r   r   datas        I/var/www/intrajisbackend.com/public_html/app/backend/routers/vacations.pyindexr"      s+    $$S$/D	!Ht    z!/get_all_with_no_pagination/{rut}c                 >    t        |      j                  |       }d|iS Nr   )r   get_all_with_no_paginationr   r   r   r    s       r!   r&   r&      s"    77<Dtr#   z/pdf_all/{rut}/{page}c                 @    t        |      j                  | d      }d|iS r   )r   pdf_get_allr   s        r!   	pdf_indexr*       s$    ((a0Dtr#   z/total_vacation_days_in_companyc                 <    t        |      j                         }d|iS r%   )r   calculate_total_vacation_days)r   r   r    s      r!   total_vacation_days_in_companyr-   &   s     ::<Dtr#   z/storevacationc                     | j                         }t        |      j                  |      }||d<   t        |      j                  |      }d|iS Ndocument_employee_idr   )dictr   storer   )r.   r   r   vacation_inputsdocument_idr    s         r!   r3   r3   ,   sM    mmoO'+11/BK.9O*+""?3Dtr#   z/delete/{id}idc                 ~   t        |      j                  |       }t        |      j                  d|       }t        |      j                  |       }t	        |       |dk(  rY|dk(  rT|j
                  dk7  r4|j
                  d k7  r%t        |      j                  d|j
                        }|dk(  rd}d|iS d}d|iS d}d|iS )Nr6   r    /employee_documents/r   r   )r   deleter   getr   supportr   )r6   r   r   
response_1document_employee
response_2responser    s           r!   r:   r:   6   s    r"))"-J-b155dB?&r*11"5J	*Q:?$$*/@/H/HD/P#B'../EGXG`G`aH?D t	 D t tr#   z/legal/{rut}c                 >    t        |      j                  |       }d|iS r%   )r   legalr'   s       r!   rB   rB   J   "    ""3'Dtr#   z/taken/{rut}c                 >    t        |      j                  |       }d|iS r%   )r   takenr'   s       r!   rE   rE   P   rC   r#   z/balance/{legal}/{taken}rB   rE   c                 @    t        |      j                  | |      }d|iS r%   )r   balance)rB   rE   r   r    s       r!   rG   rG   V   s$    $$UE2Dtr#   z/upload.	form_datar<   c                    t        |      }|j                  | j                  d|dt        j                  j                  t        j                  j                  t                          }t        |      j                  d| j                        }t        |      j                  |j                         t        |      j                  |j                  |      }d|iS )N
vacacionesr9   )namedescriptionr    dropbox_pathcomputer_pathr6   r   )r   uploadr   ospathjoindirname__file__r   r;   vacation_idr   signr1   update_file)rH   r<   r   r   dropbox_clientfilenamer.   r    s           r!   rO   rO   \   s    !"%N$$)--\X_.DTVT[T[T`T`acahahapapqyazT{ % }H R $$T9+@+@AH"""8#@#@A $001N1NPXYDtr#   z/download/{id}c                 >    t        |      j                  |       }d|iS r%   )r   downloadr6   r   r   r    s       r!   r[   r[   i   s"    %%b)Dtr#   z
/sign/{id}c                 >    t        |      j                  |       }d|iS r%   )r   rV   r\   s       r!   rV   rV   o   s"     $))"-Dtr#   z
/edit/{id}c                 @    t        |      j                  d|       }d|iS r0   )r   r;   r\   s       r!   editr_   u   s%      !7<Dtr#   ),fastapir   r   r   r   r   app.backend.db.databaser   sqlalchemy.ormr	   app.backend.schemasr
   r   r   "app.backend.classes.vacation_classr   +app.backend.classes.document_employee_classr   !app.backend.classes.dropbox_classr   app.backend.auth.auth_userr   rP   requestsfastapi.responsesr   	vacationsr;   intr"   r&   r*   r-   postr3   r:   rB   rE   rG   as_formrO   r[   rV   r_    r#   r!   <module>ro      s
   B B * " C C < M : > 	  *
	
 "#9@AX9Yipqwix s # Y _f  $ 23CJKbCcsz  |B  tC C y ip  4
 &'=DE\=]mtu{m| 3 c  cj  (
 01=DE\=]mtu{m|  cj  2
 7>?V7Wgnougv 8 9 ]d   .!-45L-M]dek]l c  SZ  "& ~.56M.N^efl^m s ) T[  
 ~.56M.N^efl^m s ) T[  
 )*29&/ 3 s   +
 	'.~/E/E'F^bcf^g  DK  Lc  Dd  t{  |B  tC 
n 
Q[ 
  xA 
  jq 
 
  /67N/O_fgm_n  9 U\  !
 |+23J+K[bci[j C y QX  
 |+23J+K[bci[j C y QX  r#   