a
    Qx_M                     @   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	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mZ ddl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# G dd deeeeZ$e$% Z&G dd deZ'e'% Z(G dd deZ)e)% Z*G dd deeZ+ee+% Z,dS )    )messages)login_required)get_current_site)HttpResponseRedirect)reversereverse_lazy)TemplateView)FormView   )app_settings)get_adapter)AjaxCapableProcessFormViewMixinCloseableSignupMixinRedirectAuthenticatedUserMixin)get_form_class   )r   helpers)DisconnectForm
SignupForm)SocialAccountSocialLoginc                       sb   e Zd ZeZdej Zdd Z fddZ	dd Z
 fdd	Zd
d Z fddZdd Z  ZS )
SignupViewzsocialaccount/signup.c                 C   s   t tjd| jS )Nsignupr   r   ZFORMS
form_classself r   S/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/views.pyr       s    zSignupView.get_form_classc                    sR   d | _ |jd}|r"t|| _ | j s4ttdS tt| j	|g|R i |S )Nsocialaccount_socialloginZaccount_login)
socialloginsessiongetr   Zdeserializer   r   superr   dispatch)r   requestargskwargsdata	__class__r   r   r$   #   s    zSignupView.dispatchc                 C   s   t | j| j| jS N)r   r%   Zis_open_for_signupr    r   r   r   r   is_open,   s    
zSignupView.is_openc                    s   t t|  }| j|d< |S )Nr    )r#   r   get_form_kwargsr    )r   retr)   r   r   r-   1   s    
zSignupView.get_form_kwargsc                 C   s,   | j jdd  || j  t| j | jS )Nr   )r%   r!   popsaver   Zcomplete_social_signupr    r   Zformr   r   r   
form_valid6   s    zSignupView.form_validc                    s6   t t| jf i |}|tt| j| jjd |S )N)siteaccount)	r#   r   get_context_dataupdatedictr   r%   r    r4   )r   r'   r.   r)   r   r   r5   ;   s    zSignupView.get_context_datac                 C   s   t tS r+   )r   connectionsr   r   r   r   get_authenticated_redirect_urlE   s    z)SignupView.get_authenticated_redirect_url)__name__
__module____qualname__r   r   account_settingsTEMPLATE_EXTENSIONtemplate_namer   r$   r,   r-   r2   r5   r9   __classcell__r   r   r)   r   r      s   
	
r   c                   @   s   e Zd Zdej ZdS )LoginCancelledViewzsocialaccount/login_cancelled.Nr:   r;   r<   r=   r>   r?   r   r   r   r   rA   L   s   rA   c                   @   s   e Zd Zdej ZdS )LoginErrorViewz#socialaccount/authentication_error.NrB   r   r   r   r   rC   U   s   rC   c                       sN   e Zd Zdej ZeZedZ	dd Z
 fddZ fddZd	d
 Z  ZS )ConnectionsViewzsocialaccount/connections.Zsocialaccount_connectionsc                 C   s   t tjd| jS )NZ
disconnectr   r   r   r   r   r   c   s    zConnectionsView.get_form_classc                    s   t t|  }| j|d< |S )Nr%   )r#   rD   r-   r%   )r   r'   r)   r   r   r-   f   s    
zConnectionsView.get_form_kwargsc                    s,   t  | jtjd |  tt| |S )Nz/socialaccount/messages/account_disconnected.txt)	get_account_adapterZadd_messager%   r   INFOr0   r#   rD   r2   r1   r)   r   r   r2   k   s    zConnectionsView.form_validc                 C   sF   g }t jj| jjdD ]&}| }||j|j|	 d qd|iS )N)user)idprovidernameZsocialaccounts)
r   objectsfilterr%   rG   Zget_provider_accountappendpkrI   Zto_str)r   Zaccount_datar4   Zprovider_accountr   r   r   get_ajax_datat   s    zConnectionsView.get_ajax_data)r:   r;   r<   r=   r>   r?   r   r   r   Zsuccess_urlr   r-   r2   rO   r@   r   r   r)   r   rD   ^   s   
	rD   N)-Zdjango.contribr   Zdjango.contrib.auth.decoratorsr   Zdjango.contrib.sites.shortcutsr   Zdjango.httpr   Zdjango.urlsr   r   Zdjango.views.generic.baser   Zdjango.views.generic.editr	   r4   r   r=   Zaccount.adapterr   rE   Zaccount.viewsr   r   r   utilsr    r   ZadapterZformsr   r   Zmodelsr   r   r   Zas_viewr   rA   Zlogin_cancelledrC   Zlogin_errorrD   r8   r   r   r   r   <module>   s6   
2$