
    f                         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 d dlmZ d dlmZ d dlmZ d	 Zd
 Zd Zd Zd Zd Zd Zy)    )ValidationError)app_settings)get_adapter)prevent_enumeration)assess_unique_emailcomplete_signupuser_username)SignupClosedException)headed_redirect_response)SocialLoginc                 h    | j                   j                  d      }|rt        j                  |      S y Nsocialaccount_sociallogin)sessiongetr   deserialize)requestdatas     f/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/internal/flows/signup.pyget_pending_signupr      s0    ??:;D&&t,,     c                 R    |j                         | j                  d<   t        d      S )Nr   socialaccount_signup)	serializer   r   r   sociallogins     r   redirect_to_signupr      s&    3>3H3H3JGOO/0#$:;;r   c                 <    | j                   j                  dd        y r   )r   pop)r   s    r   clear_pending_signupr       s    OO3T:r   c                 `    t        |        |j                  |       \  }}|st        | |      }|S )N)r    try_savecomplete_social_signup)r   r   formuserresps        r   signup_by_formr'   !   s0    !w'JD$%g{;Kr   c                    t               j                  | |      }|syd }|j                  r|j                  d   j                  }|r2t	        |      }|du r	 |d fS |du rd}|d fS |J t        | |      }d|fS t        j                  rd}|d fS )N)FNr   TF)r   is_auto_signup_allowedemail_addressesemailr   r   r   EMAIL_REQUIRED)r   r   auto_signupr+   
assessmentr&   s         r   process_auto_signupr/   )   s    -66wLKE""++A.44(/
2 1 5   K   %%% 'w6D$;		$	$r   c                    t               j                  | |      s
t               t        | |      \  }}|r|S |st	        | |      }|S t
        j                  r0t        |j                        }	 t        |       j                  |       t               j                  | |d        t        | |      }|S # t        $ r t        |j                  d       Y Kw xY w)N )r$   )r   is_open_for_signupr
   r/   r   account_settingsUSER_MODEL_USERNAME_FIELDr	   r%   get_account_adapterclean_usernamer   	save_userr#   )r   r   r-   r&   usernames        r   process_signupr9   Q   s    =++G[A#%%+G[AK!';7  K 55$[%5%56H4#G,;;HE 	4@%g{;K # 4k..34s   .B2 2CCc                 t    t        | |j                  t        j                  |j	                  |       d|i      S )Nr   )signal_kwargs)r   r%   r   EMAIL_VERIFICATIONget_redirect_urlr   s     r   r#   r#   k   s:    ''$$W-$k2 r   N)django.formsr   allauth.accountr   r3   allauth.account.adapterr   r5   %allauth.account.internal.flows.signupr   allauth.account.utilsr   r   r	   allauth.core.exceptionsr
   allauth.core.internal.httpkitr   allauth.socialaccountallauth.socialaccount.adapterallauth.socialaccount.modelsr   r   r   r    r'   r/   r9   r#    r   r   <module>rI      sP    ( < F E 
 : B . 5 4-<
;%P4r   