
    f              
          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 ed
dg      Zej1                  d       ee       ee      fdedede	fd       Zej1                  d       ee       ee      fdededede	fd       Zej1                  d       ee       ee      fdededede	fd       Zej1                  d       ee       ee      fdede	fd       Zej=                  d       ee       ee      fdedede	fd       ZejA                  d       ee       ee      fdedede	fd       Z ej1                  d       ee       ee      fdedede	fd        Z!ej1                  d!       ee       ee      fdedede	fd"       Z"ej1                  d#       ee      fd$ed%ede	fd&       Z#ej=                  d'       eejH                         ed(       ee       ee      fd)ed*edede	fd+       Z%ej1                  d,       ee       ee      fdedede	fd-       Z&ej1                  d.       ee       ee      fdedede	fd/       Z'y	)0    )	APIRouterDependsResponse
UploadFileFile)get_db)Session)ProgressiveVacationUploadProgressiveVacation	UserLogin)ProgressiveVacationClass)DocumentEmployeeClass)DropboxClass)get_current_active_userNz/progressive_vacationsProgressiveVacations)prefixtagsz!/get_all_with_no_pagination/{rut}rutsession_userdbc                 >    t        |      j                  |       }d|iS Nmessage)r   get_all_with_no_paginationr   r   r   datas       ^C:\Users\jesus\OneDrive\Desktop\escritorio\newerp\app\backend\routers\progressive_vacations.pyr   r      s"    #B'BB3GDt    z/all/{rut}/{page}pagec                 @    t        |      j                  | |      }d|iS r   )r   get_allr   r   r   r   r   s        r   indexr#      s$    #B'//T:Dtr   z/pdf_all/{rut}/{page}c                 @    t        |      j                  | d      }d|iS )N   r   )r   pdf_get_allr"   s        r   	pdf_indexr'      s$    #B'33C;D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     #B'EEGDtr   z/storeprogressive_vacationc                     | j                         }t        |      j                  |      }||d<   t        |      j                  |      }d|iS )Ndocument_employee_idr   )dictr   storer   )r+   r   r   progressive_vacation_inputsdocument_idr   s         r   r/   r/   (   sT    "6";";"='+112MNK:E 67#B'--.IJDtr   z/delete/{id}idc                 n   t        |      j                  |       }t        |      j                  d|       }t        |      j                  |       }|dk(  r\|dk(  rW|j                  dk7  r5|j                  d k7  r&t        |      j                  d|j                        }nd}|dk(  rd}d|iS d}d|iS d}d|iS )Nr2   r%    /employee_documents/r   r   )r   deleter   getsupportr   )r2   r   r   
response_1document_employee
response_2responser   s           r   r6   r6   2   s    )"-44R8J-b155dB?&r*11"5JQ:?$$*/@/H/HD/P#B'../EGXG`G`aHHq=D t	 D t tr   z/legal/{rut}c                 >    t        |      j                  |       }d|iS r   )r   legalr   s       r   r>   r>   G   "    #B'--c2Dtr   z/taken/{rut}c                 >    t        |      j                  |       }d|iS r   )r   takenr   s       r   rA   rA   M   r?   r   z/balance/{legal}/{taken}r>   rA   c                 @    t        |      j                  | |      }d|iS r   )r   balance)r>   rA   r   r   s       r   rC   rC   S   s$    #B'//u=Dtr   z/upload.	form_datar8   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vacaciones_progresivasr5   )namedescriptionr   dropbox_pathcomputer_pathr2   r   )r   uploadr   ospathjoindirname__file__r   r7   progressive_vacation_idr   signr-   update_file)rD   r8   r   r   dropbox_clientfilenamevacationr   s           r   rK   rK   Y   s    !"%N$$)--E]dk.DTVT[T[T`T`acahahapapqyazT{ % }H (+//i6W6WXH"""8#@#@A $001N1NPXYDtr   z/download/{id}c                 >    t        |      j                  |       }d|iS r   )r   downloadr2   r   r   r   s       r   rX   rX   f   s"    #B'004Dtr   z
/sign/{id}c                 >    t        |      j                  |       }d|iS r   )r   rR   rY   s       r   rR   rR   l   s"     $))"-Dtr   )(fastapir   r   r   r   r   app.backend.db.databaser   sqlalchemy.ormr	   app.backend.schemasr
   r   r   .app.backend.classes.progressive_vacation_classr   +app.backend.classes.document_employee_classr   !app.backend.classes.dropbox_classr   app.backend.auth.auth_userr   rL   progressive_vacationsr7   intr   r#   r'   r*   postr/   r6   r>   rA   rC   as_formrK   rX   rR    r   r   <module>rh      s   B B * " Y Y S M : > 	!#
 	! 
 >?CJKbCcsz  |B  tC C y ip  @
 ./9@AX9Yipqwix s # Y _f  0
 23=DE\=]mtu{m| 3 c  cj  4
 <==DE\=]mtu{m|  cj  >
 H%NUVmNn  F  GM  N 2 ) t{  & n--45L-M]dek]l c  SZ  .( >*.56M.N^efl^m s ) T[  +
 >*.56M.N^efl^m s ) T[  +
 5629&/ 3 s   7
 I&29:S:[:[2\txy|t}  Za  by  Zz  JQ  RX  JY 
/ 
gq 
  NW 
  @G 
 '
 +,/67N/O_fgm_n  9 U\  -
 <(+23J+K[bci[j C y QX  )r   