o
    h                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ	 d dl
mZ d dlmZmZ d dlmZmZ d dlmZ d dlmZmZ d d	lmZmZ d d
lmZ d dlmZ dd Zdd ZdddZdd Zdd Z dd Z!dS )    )HttpResponseRedirect)render)app_settings)get_adapter)perform_login)ImmediateHttpResponseSignupClosedException)r   signals)connect
do_connect)clear_pending_signupprocess_signup)SocialLogin)AuthProcessc                 C   s4   | |  t| | t| |jtj|| d|idS )Nsociallogin)email_verificationredirect_urlsignal_kwargs)_accept_loginrecord_authenticationr   userr   EMAIL_VERIFICATIONget_redirect_urlrequestr    r   e/var/www/html/env_mimamsha/lib/python3.10/site-packages/allauth/socialaccount/internal/flows/login.py_login   s   

r   c                 C   s>   t |  |jr	J |  t | | tjjt| |d d S )N)senderr   r   )r   is_existinglookupr   pre_social_loginr	   sendr   r   r   r   r   r!   "   s   

r!   Fc              
   C   s   z1t | | |jd}|tjkrt| |W S |tjkr,|r&t| | W d S t| |W S t	| |W S  t
yE   |r; t| dtj  Y S  ty\ } z|rO |jW  Y d }~S d }~ww )Nprocesszaccount/signup_closed.)r!   stategetr   REDIRECT	_redirectCONNECTr   r
   _authenticater   r   account_settingsTEMPLATE_EXTENSIONr   response)r   r   raisesr#   er   r   r   complete_login,   s.   


r/   c                 C   s   | | pd}t|S )N/)r   r   )r   r   next_urlr   r   r   r'   F   s   r'   c                 C   s8   | j jrt| |  |jrt| |}|S t| |}|S )N)r   is_authenticatedget_account_adapterlogoutr   r   r   )r   r   retr   r   r   r)   K   s   

r)   c                 C   s0   ddl m} || dfi |jj|jjd d S )Nr   )r   socialaccount)provideruid)$allauth.account.internal.flows.loginr   accountr7   r8   )r   r   r   r   r   r   r   W   s   
r   N)F)"django.httpr   django.shortcutsr   allauth.accountr   r*   allauth.account.adapterr   r3   allauth.account.utilsr   allauth.core.exceptionsr   r   allauth.socialaccountr	   allauth.socialaccount.adapter,allauth.socialaccount.internal.flows.connectr
   r   +allauth.socialaccount.internal.flows.signupr   r   allauth.socialaccount.modelsr   $allauth.socialaccount.providers.baser   r   r!   r/   r'   r)   r   r   r   r   r   <module>   s$    

