o
    &zh                     @   sT  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 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 ddl"m#Z# G dd deeeeZ$e$% Z&e
eddG dd deZ'e'% Z(G dd deZ)e)% Z*e
eddG dd deeZ+e+% Z,dS )    )login_required)get_current_site)HttpResponseRedirect)reversereverse_lazy)method_decorator)TemplateView)FormView)login_not_required)DisconnectForm
SignupForm)flows)SocialAccount   )app_settings)AjaxCapableProcessFormViewMixinCloseableSignupMixinRedirectAuthenticatedUserMixin)get_form_class   )get_adapterc                       sj   e Zd ZeZdej Zdd Ze	e
 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      t tjd| jS )Nsignupr   r   FORMS
form_classself r   V/var/www/html/kangema/venv/lib/python3.10/site-packages/allauth/socialaccount/views.pyr   "      zSignupView.get_form_classc                    s>   t j|| _| jsttdS tt| j|g|R i |S )Naccount_login)	r   r   get_pending_signupsocialloginr   r   superr   dispatch)r   requestargskwargs	__class__r   r    r&   %   s   zSignupView.dispatchc                 C   s   t | j| j| jS N)r   r'   is_open_for_signupr$   r   r   r   r    is_open,   s   
zSignupView.is_openc                       t t|  }| j|d< |S )Nr$   )r%   r   get_form_kwargsr$   )r   retr*   r   r    r0   1      
zSignupView.get_form_kwargsc                 C   s   t j| j| j|S r,   )r   r   signup_by_formr'   r$   r   formr   r   r    
form_valid6   s   zSignupView.form_validc                    s6   t t| jdi |}|tt| j| jjd |S )N)siteaccountr   )	r%   r   get_context_dataupdatedictr   r'   r$   r8   )r   r)   r1   r*   r   r    r9   9   s   zSignupView.get_context_datac                 C   s   t dS )Nsocialaccount_connections)r   r   r   r   r    get_authenticated_redirect_urlC   s   z)SignupView.get_authenticated_redirect_url)__name__
__module____qualname__r   r   account_settingsTEMPLATE_EXTENSIONtemplate_namer   r   r
   r&   r.   r0   r6   r9   r=   __classcell__r   r   r*   r    r      s    

r   r&   )namec                   @      e Zd Zdej ZdS )LoginCancelledViewzsocialaccount/login_cancelled.Nr>   r?   r@   rA   rB   rC   r   r   r   r    rG   J   s    rG   c                   @   rF   )LoginErrorViewz#socialaccount/authentication_error.NrH   r   r   r   r    rI   T   s    rI   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.r<   c                 C   r   )N
disconnectr   r   r   r   r    r   c   r!   zConnectionsView.get_form_classc                    r/   )Nr'   )r%   rJ   r0   r'   )r   r)   r*   r   r    r0   f   r2   zConnectionsView.get_form_kwargsc                    s   |   tt| |S r,   )saver%   rJ   r6   r4   r*   r   r    r6   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providerrE   socialaccounts)
r   objectsfilterr'   rM   get_provider_accountappendpkrO   to_str)r   account_datar8   provider_accountr   r   r    get_ajax_datao   s   zConnectionsView.get_ajax_data)r>   r?   r@   rA   rB   rC   r   r   r   success_urlr   r0   r6   rY   rD   r   r   r*   r    rJ   ]   s    
rJ   N)-django.contrib.auth.decoratorsr   django.contrib.sites.shortcutsr   django.httpr   django.urlsr   r   django.utils.decoratorsr   django.views.generic.baser   django.views.generic.editr	   #allauth.account.internal.decoratorsr
   allauth.socialaccount.formsr   r   allauth.socialaccount.internalr   allauth.socialaccount.modelsr   r8   r   rA   account.viewsr   r   r   utilsr    adapterr   r   as_viewr   rG   login_cancelledrI   login_errorrJ   connectionsr   r   r   r    <module>   s>    
.

