U
    i                     @   s   d dl mZmZmZmZmZmZmZmZ d dl	Z	d dl
mZ d dlZd dlmZ d dlZd dlmZmZmZ d dlmZmZmZmZmZ d dlmZ d dlZd dl	Z	e  dZd	Zd
d Zdd Z dS )    )Flaskrender_template	send_fileaborturl_forjsonifyrequestsessionN)load_dotenv)secure_filename)subir_archivo_ftp_desde_requestview_pdf_fileverificar_actualizar_archivos)get_Tankupdate_Tankitem_existssearchitemsupdate_Tank_TechnicalSheet)user_has_accesszH/domains/sycelephant.com/public_html/file/Ventas/EUA/DMITEMS/TANKOPTIONSz /Ventas/EUA/DMITEMS/TANKOPTIONS/c                 C   s"   t | }|rt|d }nd}|S )Nr   )r   int)itemresultcount r   jC:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\App\Ventas_Module\VentasEUA\DataMaster\Tank.pyexisten_items&   s
    r   c                 C   sL   | j ddgddd }| j ddgddd	 }| j d
dgddd }dS )ud   
    Registra las rutas para la gestión de departamentos directamente en la aplicación Flask.
    z!/ventas/data_master/Tank/listTankGET)methodsc               
   S   sT   zt  } t| dfW S  tk
rN } ztdt|idf W Y S d}~X Y nX dS )z
        user_id = session.get('user_id')
        if not user_has_access(user_id, "Ventas", "read"):
            message = "No tiene permisos para visualizar"
            return render_template("Security/AccessDened.html",message)
           error  N)r   r   	Exceptionstr)departamenter   r   r   listTank:   s
    	z!register_Tanque.<locals>.listTankz#/ventas/data_master/Tank/updateTankPOSTc               
   S   s   zVt  } | d}| d}t||gs<tddidfW S t|| tddidfW S  tk
r } ztdt|id	f W Y S d
}~X Y nX d
S )z)Actualiza un breaker en la base de datos.r   pricer   z"Todos los campos son obligatorios.i  messageuI   Catálogo de componentes adicionales de tanques actualizado exitosamente.r   r    N)r   get_jsongetallr   r   r!   r"   )datar   r'   r$   r   r   r   update_Tank_routeO   s    


z*register_Tanque.<locals>.update_Tank_routez'/ventas/data_master/Tank/actualizarTankc                  S   s   zzd} d}t dddtt| |dtd	}td|  |d	 rPtd
|d idfW S td|d   td|d idfW S W n` tk
r } zBddl}tdt|  t|	  tdt|idf W Y S d}~X Y nX dS )uN   Actualiza todas las Fichas técnicas verificando su existencia en el servidor.z1Consultas_SQL.Ventas.VentasEUA.DataMaster.TankSQLr   ZCZE_TankConfigConfigIDTechnicalSheetzhttps://file.sycelephant.com)	tablacampo_id	campo_urlupdate_functionruta_remotamodule_pathsearch_function_namebase_urlcarpetau    Resultado de la actualización: exitor(   mensajer   u   Error en actualización: r   r    r   Nu   Error en la actualización: )
r   r   ruta_pdfr8   printr   r!   	tracebackr"   
format_exc)r5   function_name	resultador$   r=   r   r   r   updated_Tank_routec   s0    z+register_Tanque.<locals>.updated_Tank_routeN)route)appr%   r-   rA   r   r   r   register_Tanque2   s    

rD   )!flaskr   r   r   r   r   r   r   r	   osdotenvr
   ftplibZwerkzeug.utilsr   tempfileApp.Subir_Archivor   r   r   Z1Consultas_SQL.Ventas.VentasEUA.DataMaster.TankSQLr   r   r   r   r    App.Security_Module.UserPasswordr   requestsr;   r8   r   rD   r   r   r   r   <module>   s   (	