
    i#                         S SK JrJrJrJrJrJrJrJr  S SK	r	S SK
Jr  S SKrS SKJr  S SKrS SKJr  S SKJrJrJr  S SKJrJrJrJrJrJrJr  S SKrS SK	r	\" 5         SrS	r S
 r!S r"g)    )Flaskrender_template	send_fileaborturl_forjsonifyrequestsessionN)load_dotenv)secure_filename)user_has_access)subir_archivo_ftp_desde_requestview_pdf_fileverificar_actualizar_archivos)1get_Catalogo_de_contencion_de_derrames_de_tanques4insert_Catalogo_de_contencion_de_derrames_de_tanques4update_Catalogo_de_contencion_de_derrames_de_tanques4delete_Catalogo_de_contencion_de_derrames_de_tanquesitem_existssearchitemsCupdate_Catalogo_de_contencion_de_derrames_de_tanques_TechnicalSheetzJ/domains/sycelephant.com/public_html/file/Ventas/EUA/DMITEMS/TANKSPILLCONTz"/Ventas/EUA/DMITEMS/TANKSPILLCONT/c                 N    [        U 5      nU(       a  [        US   5      nU$ SnU$ )Nr   )r   int)itemresultcounts      uC:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\App\Ventas_Module\VentasEUA\DataMaster\DMTankSpillCont.pyexisten_itemsr   "   s/    FF1I L L    c                    U R                  SS/S9S 5       nU R                  S5      S 5       nU R                  SS/S9S	 5       nU R                  S
S/S9S 5       nU R                  SS/S9S 5       nU R                  SS/S9S 5       ng)u\   
Registra las rutas para la gestión de departamentos directamente en la aplicación Flask.
zs/ventas/data_master/Catalogo_de_contencion_de_derrames_de_tanques/listCatalogo_de_contencion_de_derrames_de_tanquesGET)methodsc                        [        5       n [        U 5      S4$ ! [         a"  n[        S[        U5      05      S4s SnA$ SnAff = f)z
user_id = session.get('user_id')
if not user_has_access(user_id, "Ventas","read"):
    message = "No tiene permisos para visualizar este archivo"
    return render_template("Security/AccessDened.html",message)
   error  N)r   r   	Exceptionstr)TIPOSCONTROLESes     r   2list_Catalogo_de_contencion_de_derrames_de_tanques{register_dmCatalogo_de_contencion_de_derrames_de_tanques_routes.<locals>.list_Catalogo_de_contencion_de_derrames_de_tanques5   sN     	U	3NPN>*C// 	3GSV,-s22	3s    
AAAAz[/ventas/pdf_viewerCatalogo_de_contencion_de_derrames_de_tanques/view/<path:filename_or_url>c                     [        U 5      $ )u4   Endpoint para visualizar un archivo PDF específico.)r   )filename_or_urls    r   4ver_pdfCatalogo_de_contencion_de_derrames_de_tanques}register_dmCatalogo_de_contencion_de_derrames_de_tanques_routes.<locals>.ver_pdfCatalogo_de_contencion_de_derrames_de_tanquesE   s     _--r   zL/ventas/data_master/brakers/addCatalogo_de_contencion_de_derrames_de_tanquesPOSTc                     [         R                  " S5      n  [        R                  R                  S5      n[        R                  R                  S5      n[        R                  R                  S5      n[        R                  R                  S5      n[        XU/5      (       d  [        SS05      S4$ [        U5      S	:X  a  [        SS
05      S4$ S nU(       a7  [        XA[        [        5      nUS   (       a  US   nO[        SUS   05      S4$ [        XX55      n[        SS05      S4$ ! [         a"  n[        S[        U5      05      S4s S nA$ S nAff = f)Nuser_idr   descriptionpriceTechnicalSheetr%   "Todos los campos son obligatorios.     u"   El item ya existe en el catálogo.exitourl_webmensajemessageuF   Catálogo de componentes adicionales de tanques agregado exitosamente.   r&   )r
   getr	   formfilesallr   r   r   ruta_pdfcarpetar   r'   r(   )	r3   r   r4   r5   technicalSheetfilename	resultador   r*   s	            r   1add_Catalogo_de_contencion_de_derrames_de_tanqueszregister_dmCatalogo_de_contencion_de_derrames_de_tanques_routes.<locals>.add_Catalogo_de_contencion_de_derrames_de_tanquesL   sG   ++i(	3<<##F+D!,,**=9KLL$$W-E$]]../?@N5122)MNOQTTT T"a')MNOQTTTH;NRZ[bc	W%(3H"GYy-A#BCSHH J$]bmFI'opqsvvv 	3GSV,-s22	3s0   BD. 5D. ?D. D. .
E8EEEzG/ventas/data_master/updateCatalogo_de_contencion_de_derrames_de_tanquesc                  j    [         R                  " 5       n U R                  S5      nU R                  S5      nU R                  S5      n[        XU/5      (       d  [	        SS05      S4$ [        XU5        [	        SS05      S	4$ ! [         a"  n[	        S[        U5      05      S
4s SnA$ SnAff = f)z)Actualiza un breaker en la base de datos.r   r4   r5   r%   r7   r8   r=   uI   Catálogo de componentes adicionales de tanques actualizado exitosamente.r$   r&   N)r	   get_jsonr?   rB   r   r   r'   r(   )datar   r4   r5   r*   s        r   :update_Catalogo_de_contencion_de_derrames_de_tanques_routeڃregister_dmCatalogo_de_contencion_de_derrames_de_tanques_routes.<locals>.update_Catalogo_de_contencion_de_derrames_de_tanques_routen   s    	3##%D88F#D((=1KHHW%E5122)MNOQTTT@TYZI'rstvyyy 	3GSV,-s22	3s$   A(B +B 
B2B-'B2-B2zu/ventas/data_master/Catalogo_de_contencion_de_derrames_de_tanques/deleteCatalogo_de_contencion_de_derrames_de_tanquesc                      [         R                  " 5       n U R                  S5      nU(       d  [        SS05      S4$ [	        U5        [        SS05      S4$ ! [
         a"  n[        S[        U5      05      S4s S	nA$ S	nAff = f)
uO   Elimina un Catálogo de contención de derrames de tanques de la base de datos.r   r%   zEl campo Item es obligatorio.r8   r=   uG   Catálogo de componentes adicionales de tanques eliminado exitosamente.r$   r&   N)r	   rK   r?   r   r   r'   r(   )rL   r   r*   s      r   :delete_Catalogo_de_contencion_de_derrames_de_tanques_routeڃregister_dmCatalogo_de_contencion_de_derrames_de_tanques_routes.<locals>.delete_Catalogo_de_contencion_de_derrames_de_tanques_route   s    	3##%D88F#D)HIJCOO@FI'pqrtwww 	3GSV,-s22	3s"   ;A A 
B"A?9B?Bzy/ventas/data_master/Catalogo_de_contencion_de_derrames_de_tanques/actualizarCatalogo_de_contencion_de_derrames_de_tanquesc                      Sn Sn[        SSS[        [        U US[        S9	nUS   (       a  [	        S	US
   05      S4$ [        SUS
    35        [	        SUS
   05      S4$ ! [         aV  nSSKn[        S[        U5       35        [        UR                  5       5        [	        S[        U5      05      S4s SnA$ SnAff = f)uN   Actualiza todas las Fichas técnicas verificando su existencia en el servidor.z<Consultas_SQL.Ventas.VentasEUA.DataMaster.DMTankSpillContSQLr   CZE_TankSpillContItem_Tank_SpillContr6   zhttps://file.sycelephant.com)	tablacampo_id	campo_urlupdate_functionruta_remotamodule_pathsearch_function_namebase_urlrD   r:   r=   r<   r$   u   Error en actualización: r%   r&   r   Nu   Error en la actualización: )
r   r   rC   rD   r   printr'   	tracebackr(   
format_exc)rZ   function_namerG   r*   r^   s        r   ;updated_Catalogo_de_contencion_de_derrames_de_tanques_routeڄregister_dmCatalogo_de_contencion_de_derrames_de_tanques_routes.<locals>.updated_Catalogo_de_contencion_de_derrames_de_tanques_route   s    	3XK)M 6).* c$'%27!
I !	9Y+?@A3FF1)I2F1GHI9)=>?DD 	30Q9:)&&()GSV,-s22		3s#   <A" "A" "
C,AB=7C=CN)route)appr+   r/   rH   rM   rP   ra   s          r   ?register_dmCatalogo_de_contencion_de_derrames_de_tanques_routesre   .   s    	YY  E  PU  OVY  W3 W3 	YYlm. n. 	YY]hngoYp3 q3B 	YYXcibjYk3 l3& 	YY  G  RX  QYY  Z
3 Z
3$ 	YY  K  V[  U\Y  ]3 ]3r   )#flaskr   r   r   r   r   r   r	   r
   osdotenvr   ftplibwerkzeug.utilsr   tempfile App.Security_Module.UserPasswordr   App.Subir_Archivor   r   r   <Consultas_SQL.Ventas.VentasEUA.DataMaster.DMTankSpillContSQLr   r   r   r   r   r   r   requestsrC   rD   r   re    r   r   <module>rq      s]    ^ ] ] 	   *  < i i    	  X
.G3r   