+
    i$                         ^ RI HtHtHtHtHtHtHtHt ^ RI	t	^ RI
Ht ^ RIt^ RIHt ^ RIt^ RIHt ^ RIHtHtHt ^ RIHtHtHtHtHtHtHt ^ RIt^ RI	t	]! 4        RtR	t R
 t!R t"R t#R# )    )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                 X    \        V 4      pV'       d   \        V^ ,          4      pV# ^ pV# )r   )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                    \         P                  ! V 4      pVP                  ^8X  d   \        RV  R24       R# \        RV  RVP                   24       R# )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                8   V P                  RR.R7      R 4       pV P                  R4      R 4       pV P                  RR.R7      R	 4       pV P                  R
R.R7      R 4       pV P                  RR.R7      R 4       pV P                  RR.R7      R 4       pR# )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                       \        4       p \        V 4      ^3#   \         d#   p\        R\        T4      /4      R3u Rp?# Rp?ii ; i)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   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                    \        V 4      # )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                     \         P                  ! R 4      p  \        P                  P                  R4      p\        P                  P                  R4      p\        P                  P                  R4      p\        P                  P                  R4      p\        P                  P                  R4      p\        WW4.4      '       g   \        RR/4      R3# \        V4      ^8X  d   \        RR	/4      R3# R
pV'       dE   \        WQ\        \        4      pVR,          '       d   VR,          pM\        RVR,          /4      R3# \        WW4V4      p\        RR/4      ^3#   \         d#   p	\        R\        T	4      /4      R3u R
p	?	# R
p	?	ii ; i)user_idr   descriptionpricetypeTechnicalSheetr,   "Todos los campos son obligatorios.  u"   El item ya existe en el catálogo.Nexitourl_webmensajemessagez,Catalogo de controles agregado exitosamente.r-   )r
   getr	   formfilesallr   r   r   ruta_pdfcarpetar   r.   r/   )
r:   r   r;   r<   r=   technicalSheetfilename	resultador   r1   s
             r   add_Catalogo_de_controlesJregister_dmCatalogo_de_controles_routes.<locals>.add_Catalogo_de_controles^   sa   ++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	3s7   B<E E 4	E >AE E F)F FFz//ventas/data_master/updateCatalogo_de_controlesc                     \         P                  ! 4       p V P                  R4      pV P                  R4      pV P                  R4      pV P                  R4      p\        WW4.4      '       g   \	        RR/4      R3# \        WW44       \	        RR	/4      ^3#   \         d#   p\	        R\        T4      /4      R
3u Rp?# Rp?ii ; i)z)Actualiza un breaker en la base de datos.r   r;   r<   r=   r,   r?   r@   rD   z/Catalogo de Controles actualizado exitosamente.r-   N)r	   get_jsonrE   rH   r   r   r.   r/   )datar   r;   r<   r=   r1   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$   A:B =B C#C :C CzE/ventas/data_master/Catalogo_de_controles/deleteCatalogo_de_controlesc                     \         P                  ! 4       p V P                  R4      pV'       g   \        RR/4      R3# \	        V4       \        RR/4      ^3#   \
         d#   p\        R\        T4      /4      R3u Rp?# Rp?ii ; i)	z'Elimina un control de la base de datos.r   r,   zEl campo Item es obligatorio.r@   rD   zControl eliminado exitosamente.r-   N)r	   rQ   rE   r   r   r.   r/   )rR   r   r1   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 A B$B;BBzI/ventas/data_master/Catalogo_de_controles/actualizarCatalogo_de_controlesc                     Rp Rp\        RRR\        \        V VR\        R7	      pVR,          '       d   \	        R	VR
,          /4      ^3# \        RVR
,           24       \	        RVR
,          /4      R3#   \         dW   p^ RIp\        R\        T4       24       \        TP                  4       4       \	        R\        T4      /4      R3u Rp?# Rp?ii ; i)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_urlrJ   rA   rD   rC   u   Error en actualización: r,   r-   Nu   Error en la actualización: )
r   r   rI   rJ   r   r$   r.   	tracebackr/   
format_exc)r`   function_namerM   r1   rc   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A6 *A6 6CACCCN)route)appr2   r6   rN   rS   rV   rf   s   &      r   'register_dmCatalogo_de_controles_routesrj   @   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!   rI   rJ   r   r'   rj    r   r   <module>ru      sc    ^ ] ] 	   *  < i i    	 
 ]
3e"N3r   