
    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"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)get_Catalogo_de_controlesinsert_Catalogo_de_controlesupdate_Catalogo_de_controlesdelete_Catalogo_de_controlesitem_existssearchitems+update_Catalogo_de_controles_TechnicalSheetzO/domains/sycelephant.com/public_html/file/Ventas/EUA/DMITEMS/CONTROLLER_CATALOGz'/Ventas/EUA/DMITEMS/CONTROLLER_CATALOG/c                 N    [        U 5      nU(       a  [        US   5      nU$ SnU$ )Nr   )r   int)itemresultcounts      yC:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\App\Ventas_Module\VentasEUA\DataMaster\DMControllerCatalog.pyexisten_itemsr   #   s/    FF1I L L    c                     [         R                  " U 5      nUR                  S:X  a  [        SU  S35        g[        SU  SUR                   35        g)z
user_id = session.get('user_id')
if not user_has_access(user_id, "Ventas", "delete"):
    message = "No tiene permisos para eliminar"
    return render_template("Security/AccessDened.html",message)
   zEl archivo en z  ha sido eliminado exitosamente.z"No se pudo eliminar el archivo en u   . Código de estado: N)requestsdeletestatus_codeprint)urlresponses     r   eliminar_archivor(   /   sP     s#Hs"se#CDE23%7LXMaMaLbcdr   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.
zC/ventas/data_master/Catalogo_de_controles/listCatalogo_de_controles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)
r!   error  N)r   r   	Exceptionstr)TIPOSCONTROLESes     r   list_Catalogo_de_controlesKregister_dmCatalogo_de_controles_routes.<locals>.list_Catalogo_de_controlesG   sM     	=	368N>*C// 	3GSV,-s22	3s    
AAAAzC/ventas/pdf_viewerCatalogo_de_controles/view/<path:filename_or_url>c                     [        U 5      $ )u4   Endpoint para visualizar un archivo PDF específico.)r   )filename_or_urls    r   ver_pdfCatalogo_de_controlesMregister_dmCatalogo_de_controles_routes.<locals>.ver_pdfCatalogo_de_controlesW   s     _--r   z4/ventas/data_master/brakers/addCatalogo_de_controles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[        R                  R                  S5      n[        XX4/5      (       d  [        SS05      S	4$ [        U5      S
:X  a  [        SS05      S	4$ S nU(       a7  [        XQ[        [        5      nUS   (       a  US   nO[        SUS   05      S	4$ [        XX4U5      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typeTechnicalSheetr-   "Todos los campos son obligatorios.     u"   El item ya existe en el catálogo.exitourl_webmensajemessagez,Catalogo de controles agregado exitosamente.   r.   )r
   getr	   formfilesallr   r   r   ruta_pdfcarpetar   r/   r0   )
r;   r   r<   r=   r>   technicalSheetfilename	resultador   r2   s
             r   add_Catalogo_de_controlesJregister_dmCatalogo_de_controles_routes.<locals>.add_Catalogo_de_controles^   s^   ++i("	3<<##F+D!,,**=9KLL$$W-E<<##F+D$]]../?@N5788)MNOQTTT T"a')MNOQTTTH <NRZ[bc	W%(3H"GYy-A#BCSHH 2$URZ[FI'UVWY\\\ 	3GSV,-s22	3s0   B;E E 2?E 2E 
E:E5/E:5E:z//ventas/data_master/updateCatalogo_de_controlesc                      [         R                  " 5       n U R                  S5      nU R                  S5      nU R                  S5      nU R                  S5      n[        XX4/5      (       d  [	        SS05      S4$ [        XX45        [	        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   r<   r=   r>   r-   r@   rA   rF   z/Catalogo de Controles actualizado exitosamente.r!   r.   N)r	   get_jsonrH   rK   r   r   r/   r0   )datar   r<   r=   r>   r2   s         r   "update_Catalogo_de_controles_routeSregister_dmCatalogo_de_controles_routes.<locals>.update_Catalogo_de_controles_route   s    	3##%D88F#D((=1KHHW%E88F#D5788)MNOQTTT(EHI'XYZ\___ 	3GSV,-s22	3s$   A9B <B 
C!B>8C>CzE/ventas/data_master/Catalogo_de_controles/deleteCatalogo_de_controlesc                      [         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)
z'Elimina un control de la base de datos.r   r-   zEl campo Item es obligatorio.rA   rF   zControl eliminado exitosamente.r!   r.   N)r	   rT   rH   r   r   r/   r0   )rU   r   r2   s      r   "delete_Catalogo_de_controles_routeSregister_dmCatalogo_de_controles_routes.<locals>.delete_Catalogo_de_controles_route   s    	3##%D88F#D)HIJCOO(.I'HIJCOO 	3GSV,-s22	3s"   ;A A 
B"A?9B?BzI/ventas/data_master/Catalogo_de_controles/actualizarCatalogo_de_controlesc                      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.DMControllerCatalogSQLr   CZE_ControllerCatalogItem_controllerr?   zhttps://file.sycelephant.com)	tablacampo_id	campo_urlupdate_functionruta_remotamodule_pathsearch_function_namebase_urlrM   rC   rF   rE   r!   u   Error en actualización: r-   r.   r   Nu   Error en la actualización: )
r   r   rL   rM   r   r%   r/   	tracebackr0   
format_exc)rc   function_namerP   r2   rf   s        r   #updated_Catalogo_de_controles_routeTregister_dmCatalogo_de_controles_routes.<locals>.updated_Catalogo_de_controles_route   s    	3\K)M 6-** K$'%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)appr3   r7   rQ   rV   rY   ri   s          r   'register_dmCatalogo_de_controles_routesrm   @   s     	YYT_d^eYf3 g3 	YYTU. V. 	YYEPVxYX$3 Y$3P 	YY@6(YS3 T3( 	YYVag`hYi
3 j
3$ 	YYZejdkYl3 m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.DMControllerCatalogSQLr   r   r   r   r   r   r   r"   rL   rM   r   r(   rm    r   r   <module>rx      sc    ^ ] ] 	   *  < i i    	 
 ]
3e"N3r   