a
    0i4                     @   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_ControllerOptionsupdate_ControllerOptionsitem_existssearchitems'update_ControllerOptions_TechnicalSheet)user_has_accesszN/domains/sycelephant.com/public_html/file/Ventas/EUA/DMITEMS/CONTROLLEROPTIONSz&/Ventas/EUA/DMITEMS/CONTROLLEROPTIONS/c                 C   s"   t | }|rt|d }nd}|S )Nr   )r   int)itemresultcount r   O/var/www/html/src/App/Ventas_Module/VentasEUA/DataMaster/DMControllerOptions.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/ControllerOptions/listControllerOptionsGET)methodsc               
   S   sR   zt  } t| dfW S  tyL } z tdt|idfW  Y d}~S d}~0 0 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   listControllerOptions4   s
    	zCregister_dmController_Options_routes.<locals>.listControllerOptionsz=/ventas/data_master/ControllerOptions/updateControllerOptions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y } z tdt|id	fW  Y d
}~S d
}~0 0 d
S )z)Actualiza un breaker en la base de datos.r   pricer   z"Todos los campos son obligatorios.i  messageu;   Catálogo de opciones del control actualizado exitosamente.r   r    N)r   get_jsongetallr   r   r!   r"   )datar   r'   r$   r   r   r   update_ControllerOptions_routeH   s    


zLregister_dmController_Options_routes.<locals>.update_ControllerOptions_routezA/ventas/data_master/ControllerOptions/actualizarControllerOptionsc                  S   s   zld} d}t dddtt| |dtd	}|d rBtd	|d
 idfW S td|d
   td|d
 idfW S W n^ ty } zFddl}tdt|  t|	  tdt|idfW  Y d}~S d}~0 0 dS )uN   Actualiza todas las Fichas técnicas verificando su existencia en el servidor.z@Consultas_SQL.Ventas.VentasEUA.DataMaster.DMControllerOptionsSQLr   ZCZE_ControllerOptionsZItem_controller_optionsTechnicalSheetzhttps://file.sycelephant.com)	tablacampo_id	campo_urlupdate_functionruta_remotamodule_pathsearch_function_namebase_urlcarpetaexitor(   mensajer   u   Error en actualización: r   r    r   Nu   Error en la actualización: )
r   r   ruta_pdfr7   r   printr!   	tracebackr"   
format_exc)r4   function_name	resultador$   r<   r   r   r   updated_ControllerOptions_route\   s.    zMregister_dmController_Options_routes.<locals>.updated_ControllerOptions_routeN)route)appr%   r-   r@   r   r   r   $register_dmController_Options_routes-   s    

rC   )!flaskr   r   r   r   r   r   r   r	   osdotenvr
   ftplibZwerkzeug.utilsr   tempfileApp.Subir_Archivor   r   r   Z@Consultas_SQL.Ventas.VentasEUA.DataMaster.DMControllerOptionsSQLr   r   r   r   r    App.Security_Module.UserPasswordr   requestsr:   r7   r   rC   r   r   r   r   <module>   s   (	