+
    i!,                         ^ RI Ht ^ RIHtHtHt ^ RIHt ^ RIH	t	H
t
HtHtHtHtHtHtHtHt ^ RIt^ RIt^ RIt^ RIHt R tR# )    )logger)jsonifyrequestrender_template)Message)
get_AccessDistributorsget_SellerforDistributorsget_distributorSelectedinfocheck_existing_emailget_request_type_infoinsert_new_userinsert_user_profileupdate_user_request_statusinsert_user_roleupdate_user_request_rejectedN)send_activation_emailc                0  a aa S P                  RR.R7      R 4       pS P                  RR.R7      R 4       pS P                  RR.R7      R 4       pS P                  R	R
.R7      V V3R l4       pS P                  RR
.R7      V3R l4       pRV V3R lloR# )uK   
Agrupamos todas las funciones que importamos app en la aplicación Flask.
z0/Ventas_Module/VentasEUA/AccessDistributors/listGET)methodsc                      \        4       p \        V 4      ^3#   \         d#   p\        R\        T4      /4      R3u Rp?# Rp?ii ; i)z7Retorna la lista de Proveedores pendites de aceptacion.error  N)r   r   	Exceptionstr)AccessDistributorses     mC:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\App\Ventas_Module\VentasEUA\AccessDistributors.pylist_AccessDistributors;funcion_AccessDistributors.<locals>.list_AccessDistributors   sJ    	3!7!9-.33 	3GSV,-s22	3    AAAAz7/Ventas_Module/VentasEUA/AccessDistributors/get_sellersc                       \        4       p \        V 4      ^3#   \         d#   p\        R\        T4      /4      R3u Rp?# Rp?ii ; i   r   r   N)r	   r   r   r   )sellersr   s     r   get_sellers/funcion_AccessDistributors.<locals>.get_sellers"   sH    	3/1G7#S(( 	3GSV,-s22	3r    zI/Ventas_Module/VentasEUA/AccessDistributors/get_comments/<distributor_id>c                      \        V 4      p\        V4      ^3#   \         d#   p\        R\        T4      /4      R3u Rp?# Rp?ii ; ir"   )r
   r   r   r   )distributor_idcommentsr   s   &  r   get_distributor_comments<funcion_AccessDistributors.<locals>.get_distributor_comments*   sJ    	32>BH8$c)) 	3GSV,-s22	3s    AAAAz9/Ventas_Module/VentasEUA/AccessDistributors/assign_sellerPOSTc            	        <  \         P                  ! 4       p V P                  R 4      pV P                  R4      pV P                  R4      p\        RV RV RV 24       V'       d   V'       d   Vf   \	        RR/4      R	3#  \        \        V4      ^4      p\        T4      pT'       d   RT9   d   \	        RR/4      R3# \        TR,          4      pT'       d   \	        RR/4      R	3# \        P                  ! R4      p\        P                  P                  T4      P                  R4      p\        Y4      pRT9   d   \	        T4      R3# \!        TR,          TR,          4      p	RT	9   d   \	        T	4      R3# \#        TR,          4      p
RT
9   d   \	        T
4      R3# \%        R4/ RT	R,          bRTR,          bRTR,          bRTR,          bRTR,          bRTR,          bRTR,          bRTR ,          bR!TR",          bR#TR$,          bRTbR%TbR&TR,          bR'TR(,          bR)T
R*,          bR+T
R,,          bR-T
R.,          b pRT9   d   \	        T4      R3# \'        T	R,          4      pRT9   d   \	        T4      R3# \)        SST	R,          4      p \+        T\,        4      '       d6   Tw  rTP                  4       p\	        R/R0RTP                  RR14      /4      T3# \	        R/R2/4      ^3#   \         d    \	        RR
/4      R	3u # i ; i  \.         d1   p\        R3T 24       \	        R\1        T4      /4      R3u Rp?# Rp?ii ; i)5distributorIdsellerIddiscountzAprobando distribuidor z y asignando vendedor z con descuento Nr   zDatos incompletos  u   Formato de descuento inválido3   No se pudo obtener la información del distribuidorr   ContactEmailu8   El correo electrónico ya está registrado en el sistemaAmerica/Mexico_City%Y-%m-%d %H:%M:%SRequestTypeIDuser_idUserID
request_id	RequestIDrequest_type_idbusiness_nameBusinessNamelegal_representativeLegalRepresentativeprimary_contactPrimaryContactfiscal_addressFiscalAddresspostal_code
PostalCodestateStatecityCityseller_user_idemailcontact_phoneContactPhone
company_id	CompanyIDdivision_id
DivisionIDdepartament_idDepartamentIDmessageub   Hubo un error al enviar el correo de activación contacte a soporte carlos.velazquezm@igsa.com.mx zError desconocidoz7Distribuidor aprobado y vendedor asignado correctamentez[Error en assign_seller]  )r   get_jsongetprintr   roundfloat
ValueErrorr
   r   pytztimezonedatetimenowstrftimer   r   r   r   r   r   
isinstancetupler   r   )datar(   	seller_idr0   distributor_infoemail_existsr]   current_dateupdate_resultuser_result	type_infoprofile_resultrole_resulttoken_resultjson_responsestatus_code
error_datar   appmails                     r   assign_seller1funcion_AccessDistributors.<locals>.assign_seller2   s   c	3##%D!XXo6N,Ixx
+H+N+;;QR[Q\\kltkuvw "h6F)<=>CCQ x!4
  ;>J#w2B'B)^_`beee 00@0PQL)cdegjjj }}%:;H#,,00:CCDWXL6~TM-'}-s22 **:?*KM]^lMmnK+%{+S00 ..>.OPI)#y)3.. 1 #H-+K8 !1 A /~>	
 &66K%L !11A B  0@ -\: 'w/ &f- "  ) '~6 /~> %[1  &l3!"  )9#N( .(~.33 +;x+@AK+%{+S000dK<QRL ,..-9**335
   DZ^^G5HI       
 I'`abdggga  Q)IJKSPPQd  	3-aS12GSV,-s22	3s   A#L 'L /L K/ (L (L *A"L -L ;%L !B8L %L  AL  L /L	L LL M
%M?M
M
z2/Ventas_Module/VentasEUA/AccessDistributors/rejectc                    <  \         P                  ! 4       p V P                  R 4      pV P                  R4      pV'       g   \        RR/4      R3# \	        V4      pV'       d   RV9   d   \        RR/4      R3# \
        P                  ! R4      p\        P                  P                  V4      P                  R4      p\        WV4      pRV9   d   \        V4      R3# S	! W24      pRV9   d   \        R	R
RVR,          /4      ^3# \        R	R/4      ^3#   \         d1   p\        RT 24       \        R\        T4      /4      R3u Rp?# Rp?ii ; i)r.   
comentarior   zID de distribuidor requeridor1   r2   r   r4   r5   rT   uK   Solicitud rechazada, pero hubo un problema al enviar el correo electrónico
error_mailu9   Solicitud rechazada correctamente y notificación enviadaz[Error en reject_distributor] N)r   rV   rW   r   r
   r\   r]   r^   r_   r`   r   r   rX   r   )
rc   r(   rv   re   r]   rg   rh   email_resultr   enviar_correo_rechazos
            r   reject_distributor6funcion_AccessDistributors.<locals>.reject_distributor   sg   "	3##%D!XXo6N,/J ")GHI3NN  ;>J#w2B'B)^_`beee }}%:;H#,,00:CCDWXL8WabM-'}-s22 11ANL,&l ,w"7    
 I'bcdfiii 	321#67GSV,-s22	3s<   >D D (D :A#D &D D E%E
E
ENc                x  <  V R,          pV'       g   RR/# Rp\         P                  ! R4      p\        P                  P                  V4      pRV R,          RV R,          R\        P                  P                  4       P                  R	V/p\        R
VR7      p\        VS
P                  R,          V.R7      pWxn        S
P                  4       ;_uu_ 4        SP                  V4       RRR4       RR/#   + '       g   i     L; i  \         d&   p	\        RT	 24       R\        T	4      /u Rp	?	# Rp	?	ii ; i)u?   
Envía un correo de notificación de rechazo al distribuidor.
r3   r   u*   No se encontró el correo del distribuidorz(Respuesta a su solicitud de distribuidorr4   rA   r=   Year
Comentarioz3Ventas/VentasEUA/Mail/AccessDistributorsReject.html)rc   MAIL_USERNAME)sender
recipientsNsuccesszCorreo enviado correctamentez#Error al enviar correo de rechazo: )r\   r]   r^   r_   yearr   r   confightmlapp_contextsendr   rX   r   )re   rv   destinatarioasuntor]   rg   rc   cuerpo_htmlmsgr   rq   rr   s   &&        r   ry   9funcion_AccessDistributors.<locals>.enviar_correo_rechazo   s*   '	%+N;L!MNN @F }}%:;H#,,00:L "23C"D 0 @))--/44j	D **_fjkK zz/2(>C #H ""		# # =>> #"  	%7s;<SV$$	%s@   D	 D	 C D	 C6*D	 6D	D	 	D9D4.D94D9)N)route)rq   rr   r   r%   r*   rs   rz   ry   s   ff     @r   funcion_AccessDistributorsr      s    
 	YYAE7YS3 T3 	YYHSXRYYZ3 [3 	YYZejdkYl3 m3 	YYJU[T\Y]d3 ^d3L 	YYCfXYV#3 W#3J+% +%    )venvr   flaskr   r   r   
flask_mailr   4Consultas_SQL.Ventas.VentasEUA.AccessDistributorsSQLr   r	   r
   r   r   r   r   r   r   r   r^   r\   os App.Security_Module.UserPasswordr   r   rU   r   r   <module>r      s6   
  3 3   
   	 BW%r   