
    i!,                         S SK Jr  S SKJrJrJr  S SKJr  S SKJ	r	J
r
JrJrJrJrJrJrJrJr  S SKrS SKrS SKrS SKJr  S rg)    )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                   ^ ^^ T R                  SS/S9S 5       nT R                  SS/S9S 5       nT R                  SS/S9S 5       nT R                  S	S
/S9U U4S j5       nT R                  SS
/S9U4S j5       nSU U4S jjmg)uK   
Agrupamos todas las funciones que importamos app en la aplicación Flask.
z0/Ventas_Module/VentasEUA/AccessDistributors/list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)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                       [        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Nr   r   r   )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                      [        U 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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                    >  [         R                  " 5       n U R                  S5      nU R                  S5      nU R                  S5      n[        SU SU SU 35        U(       a
  U(       a  Uc  [	        SS05      S	4$  [        [        U5      S
5      n[        U5      nU(       a  SU;   a  [	        SS05      S4$ [        US   5      nU(       a  [	        SS05      S	4$ [        R                  " S5      n[        R                  R                  U5      R                  S5      n[        X5      nSU;   a  [	        U5      S4$ [!        US   US   5      n	SU	;   a  [	        U	5      S4$ [#        US   5      n
SU
;   a  [	        U
5      S4$ [%        S70 SU	S   _SUS   _SUS   _SUS   _SUS   _SUS   _SUS   _S US!   _S"US#   _S$US%   _SU_S&U_S'US   _S(US)   _S*U
S+   _S,U
S-   _S.U
S/   _6nSU;   a  [	        U5      S4$ ['        U	S   5      nSU;   a  [	        U5      S4$ [)        TTU	S   5      n [+        U[,        5      (       a4  Uu  pUR                  5       n[	        S0UR                  SS15      S2.5      U4$ [	        S3S405      S54$ ! [         a    [	        SS05      S	4s $ f = f! [.         a0  n[        S6U 35        [	        S[1        U5      05      S4s S nA$ S nAff = f)8NdistributorIdsellerIddiscountzAprobando distribuidor z y asignando vendedor z con descuento r   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DepartamentIDub   Hubo un error al enviar el correo de activación contacte a soporte carlos.velazquezm@igsa.com.mx zError desconocido)messager   rU   z7Distribuidor aprobado y vendedor asignado correctamenter   z[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'^^G5HI       
 I'`abdggga  Q)IJKSPPQd  	3-aS12GSV,-s22	3su   A;J-  J &J- <#J-  A!J- $J- ' J- A;J-  J- %AJ- ?J- J*'J- )J**J- -
K'7%K"K'"K'z2/Ventas_Module/VentasEUA/AccessDistributors/rejectc                    >  [         R                  " 5       n U R                  S5      nU R                  S5      nU(       d  [        SS05      S4$ [	        U5      nU(       a  SU;   a  [        SS05      S4$ [
        R                  " S5      n[        R                  R                  U5      R                  S	5      n[        XU5      nSU;   a  [        U5      S4$ T	" X25      nSU;   a  [        S
US   S.5      S4$ [        SS05      S4$ ! [         a0  n[        SU 35        [        S[        U5      05      S4s S nA$ S nAff = f)Nr.   
comentarior   zID de distribuidor requeridor1   r3   r   r5   r6   uK   Solicitud rechazada, pero hubo un problema al enviar el correo electrónico)rU   
error_mailr   rU   u9   Solicitud rechazada correctamente y notificación enviadaz[Error en reject_distributor] )r   rW   rX   r   r
   r]   r^   r_   r`   ra   r   r   rY   r   )
rd   r(   rw   rf   r^   rh   ri   email_resultr   enviar_correo_rechazos
            r   reject_distributor6funcion_AccessDistributors.<locals>.reject_distributor   sb   "	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	3s7   AD
 &D
 7A"D
  D
 ;D
 

E%D?9E?ENc                 .  >  U S   nU(       d  SS0$ Sn[         R                  " S5      n[        R                  R                  U5      nU S   U S   [        R                  R                  5       R                  US.n[        S	US
9n[        UT
R                  S   U/S9nXxl        T
R                  5          TR                  U5        SSS5        SS0$ ! , (       d  f       N= f! [         a%  n	[        SU	 35        S[        U	5      0s Sn	A	$ Sn	A	ff = f)u?   
Envía un correo de notificación de rechazo al distribuidor.
r4   r   u*   No se encontró el correo del distribuidorz(Respuesta a su solicitud de distribuidorr5   rB   r>   )rB   r>   Year
Comentarioz3Ventas/VentasEUA/Mail/AccessDistributorsReject.html)rd   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   rY   r   )rf   rw   destinatarioasuntor^   rh   rd   cuerpo_htmlmsgr   rr   rs   s             r   rz   9funcion_AccessDistributors.<locals>.enviar_correo_rechazo   s   '	%+N;L!MNN @F }}%:;H#,,00:L"23C"D 0 @ ))--/44(	D **_fjkK zz/2(>C #H "		# # =>> #"  	%7s;<SV$$	%s;   C% B#C% 6CC% 
C"C% %
D/D	DD)N)route)rr   rs   r   r%   r*   rt   r{   rz   s   ``     @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   rV   r   r   <module>r      s6   
  3 3   
   	 BW%r   