
    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mZ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 d d	lmZ  G d
 deej8                        Z G d dej8                        Z G d dej8                        Z G d deej8                        Z  G d dej8                        Z! G d de!      Z" G d dej8                        Z# G d deej8                        Z$ G d dej8                        Z% G d de%      Z& G d de%      Z' G d  d!eej8                        Z( G d" d#eej8                        Z) G d$ d%eej8                        Z*y&)'    )ImproperlyConfigured)validate_email)app_settings)get_adapter)AddEmailFormBaseSignupFormConfirmLoginCodeFormReauthenticateFormRequestLoginCodeFormResetPasswordFormUserTokenForm)flows)EmailAddressget_emailconfirmation_model)context)inputsc                   4    e Zd Z ej                         Zd Zy)SignupInputc                 R    | j                   d   }t               j                  |      S )Npassword)cleaned_dataget_account_adapterclean_password)selfr   s     Z/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/headless/account/inputs.pyr   zSignupInput.clean_password   s&    $$Z0"$33H==    N)__name__
__module____qualname__r   	CharFieldr   r    r   r   r   r      s    v!H>r   r   c                        e Zd Z ej                  d      Z ej                  d      Z ej                         Z fdZ	 xZ
S )
LoginInputFrequiredc                 ^   t         	|          }d }d }t        j                  t        j                  j
                  k(  r|j                  d      }d}nt        j                  t        j                  j                  k(  r|j                  d      }d}nt        j                  t        j                  j                  k(  rA|j                  d      }|j                  d      }d}|r4|r2t               j                  d      t        t        j                        |sF|sD| j                  j                  |      s)| j                  |t               j                  d             |j                  d      }|r|s|rd|i}|r ||d<   t        j                  j                  }n||d<   t        j                  j
                  } t               j                  t         j"                  fi || _        | j$                  s8d|j&                  z  }| j                  dt               j                  |             |S )Nusernameemailemail_or_usernamer%   r   z%s_password_mismatch)supercleanaccount_app_settingsAUTHENTICATION_METHODAuthenticationMethodUSERNAMEgetEMAILUSERNAME_EMAILr   validation_errorr   errors	add_errorr   authenticater   requestuservalue)
r   r   r'   r(   missing_fieldr   credentialsauth_method
error_code	__class__s
            r   r+   zLoginInput.clean#   s   w} !66#88AAB $''
3H&M 66#88>>? !$$W-E#M 66#88GGH $''
3H $$W-E#M!m445HII&';'Q'QRRX;;??=1!;=#A#A*#M  ##J/U%x0K',G$2GGMM*2J'2GGPP:+-::#.DI 993k6G6GG
 3 5 F Fz R r   )r   r   r   r   r    r'   
EmailFieldr(   r   r+   __classcell__r>   s   @r   r#   r#      sA    v/HFu-Ev!H4 4r   r#   c                   4    e Zd Z ej                         Zd Zy)VerifyEmailInputc                 P   | j                   d   }t               }|j                  |      }|xr |j                          }|s/t	               j                  t        j                  rd      d      |r3|j                  j                         st	               j                  d      |S )Nkeyincorrect_codeinvalid_or_expired_keyemail_taken)
r   r   from_keykey_expiredr   r3   r,   "EMAIL_VERIFICATION_BY_CODE_ENABLEDemail_addresscan_set_verified)r   rE   modelconfirmationvalids        r   	clean_keyzVerifyEmailInput.clean_key]   s    &+-~~c*?\%=%=%?!?%'88'JJ !  . 
 33DDF%'88GGr   N)r   r   r   r   r    rE   rQ   r!   r   r   rC   rC   Z   s    
&


Cr   rC   c                       e Zd Zy)RequestPasswordResetInputNr   r   r   r!   r   r   rS   rS   m       r   rS   c                   F     e Zd Z ej                         Z fdZd Z xZS )ResetPasswordKeyInputc                 2    d | _         t        |   |i | y )N)r8   r*   __init__r   argskwargsr>   s      r   rY   zResetPasswordKeyInput.__init__t   s    	$)&)r   c                     | j                   d   }|j                  d      \  }}}t        ||d      }|j                         st	               j                  d      |j                  | _        |S )NrE   -)uidb36rE   )datainvalid_password_reset)r   	partitionr   is_validr   r3   
reset_userr8   )r   rE   r_   _subkey
token_forms         r   rQ   zResetPasswordKeyInput.clean_keyx   si    &MM#.6"6&(IJ
""$%'889QRR))	
r   )	r   r   r   r   r    rE   rY   rQ   r@   rA   s   @r   rW   rW   q   s    
&


C*r   rW   c                   @     e Zd Z ej                         Z fdZ xZS )ResetPasswordInputc                     t         |          }| j                  j                  d      }| j                  r'|%t               j                  || j                         |S )Nr   r8   )r*   r+   r   r0   r8   r   r   )r   r   r   r>   s      r   r+   zResetPasswordInput.clean   sP    w}$$((499-!00		0Jr   )r   r   r   r   r    r   r+   r@   rA   s   @r   ri   ri      s    v!H r   ri   c                   r     e Zd Z ej                  d      Z ej                         Z fdZd Zd Z	 xZ
S )ChangePasswordInputFr$   c                     |j                  d      | _        t        |   |i | | j                  j	                         | j
                  d   _        y )Nr8   current_password)popr8   r*   rY   has_usable_passwordfieldsr%   rZ   s      r   rY   zChangePasswordInput.__init__   sD    JJv&	$)&)37993P3P3R&'0r   c                     | j                   d   }|r4| j                  j                  |      st               j	                  d      |S )Nro   enter_current_password)r   r8   check_passwordr   r3   )r   ro   s     r   clean_current_passwordz*ChangePasswordInput.clean_current_password   sE    ,,-?@99++,<=)+<<=UVVr   c                 n    | j                   d   }t               }|j                  || j                        S )Nnew_passwordrk   )r   r   r   r8   )r   rx   adapters      r   clean_new_passwordz&ChangePasswordInput.clean_new_password   s4    ((8%'%%l%CCr   )r   r   r   r   r    ro   rx   rY   rv   rz   r@   rA   s   @r   rm   rm      s7    'v''7#6##%LS
 Dr   rm   c                       e Zd Zy)AddEmailInputNrT   r!   r   r   r|   r|      rU   r   r|   c                   F     e Zd Z ej                         Z fdZd Z xZS )SelectEmailInputc                 P    |j                  d      | _        t        |   |i | y )Nr8   )rp   r8   r*   rY   rZ   s      r   rY   zSelectEmailInput.__init__   s%    JJv&	$)&)r   c                     | j                   d   }t        |       	 t        j                  j	                  | j
                  |      S # t        j                  $ r t               j                  d      w xY w)Nr(   )r8   r(   unknown_email)	r   r   r   objectsget_for_userr8   DoesNotExistr   r3   )r   r(   s     r   clean_emailzSelectEmailInput.clean_email   sj    !!'*u	B''44$))54QQ(( 	B-00AA	Bs   *A -A4)	r   r   r   r   r    r(   rY   r   r@   rA   s   @r   r~   r~      s    FE*Br   r~   c                        e Zd Z fdZ xZS )DeleteEmailInputc                     t         |          }t        j                  j	                  |      st               j                  d      |S )Ncannot_remove_primary_email)r*   r   r   manage_emailcan_delete_emailr   r3   r   r(   r>   s     r   r   zDeleteEmailInput.clean_email   s>    #%!!2259%'889VWWr   )r   r   r   r   r@   rA   s   @r   r   r      s     r   r   c                   D     e Zd Z ej                  d      Z fdZ xZS )MarkAsPrimaryEmailInputTr$   c                     t         |          }t        j                  j	                  |      st               j                  d      |S )Nunverified_primary_email)r*   r   r   r   can_mark_as_primaryr   r3   r   s     r   r   z#MarkAsPrimaryEmailInput.clean_email   s>    #%!!55e<%'889STTr   )r   r   r   r   BooleanFieldprimaryr   r@   rA   s   @r   r   r      s    !f!!40G r   r   c                       e Zd Zy)ReauthenticateInputNrT   r!   r   r   r   r      rU   r   r   c                       e Zd Zy)RequestLoginCodeInputNrT   r!   r   r   r   r      rU   r   r   c                       e Zd Zy)ConfirmLoginCodeInputNrT   r!   r   r   r   r      rU   r   r   N)+django.core.exceptionsr   django.core.validatorsr   allauth.accountr   r,   allauth.account.adapterr   r   allauth.account.formsr   r   r	   r
   r   r   r   allauth.account.internalr   allauth.account.modelsr   r   allauth.corer   allauth.headless.adapter!allauth.headless.internal.restkitr   Inputr   r#   rC   rS   rW   ri   rm   r|   r~   r   r   r   r   r   r!   r   r   <module>r      s   7 1 @ F   + L   0 4>.&,, >9 9xv|| &	 16<< 	FLL ". D&,, D,	L&,, 	Bv|| B ' . 	,fll 		0&,, 		0&,, 	r   