
    h	                         d dl mZ d dlmZ d dlmZ dej                  v r(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  G d de      Zy)    )settings)get_current_site)reverseallauth)app_settings)get_adapter)ResetPasswordForm)default_token_generator)filter_users_by_emailuser_pk_to_url_struser_username)build_absolute_uric                       e Zd Zd Zd Zy)AllAuthPasswordResetFormc                     | j                   d   }t               j                  |      }t        |d      | _        | j                   d   S )z
        Invalid email should not raise error, as this would leak users
        for unit test: test_password_reset_with_invalid_email
        emailT)	is_active)cleaned_datar   clean_emailr   users)selfr   s     U/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/dj_rest_auth/forms.pyr   z$AllAuthPasswordResetForm.clean_email   sE    
 !!'*))%0*5DA
  ))    c                    t        |      }| j                  d   }|j                  dt              }| j                  D ]  }|j                  |      }t        dt        |      |g      }t        ||      }	|||	|d}
t        j                  t        j                  j                  k7  rt        |      |
d<   t        |      j                  d||
        | j                  d   S )Nr   token_generatorpassword_reset_confirm)args)current_siteuserpassword_reset_urlrequestusernamez account/email/password_reset_key)r   r   getr
   r   
make_tokenr   r   r   r   AUTHENTICATION_METHODAuthenticationMethodEMAILr   r   	send_mail)r   r!   kwargsr   r   r   r   temp_keypathurlcontexts              r   savezAllAuthPasswordResetForm.save   s    '0!!'* **%68OPJJ 	D&11$7H ((.9D %Wd3C !-&)"	G 11\5V5V5\5\\&3D&9
# **2E7/	4   ))r   N)__name__
__module____qualname__r   r.    r   r   r   r      s    **r   r   N)django.confr   django.contrib.sites.shortcutsr   django.urlsr   INSTALLED_APPSallauth.accountr   allauth.account.adapterr   allauth.account.formsr	   DefaultPasswordResetFormr
   allauth.account.utilsr   r   r   allauth.utilsr   r   r2   r   r   <module>r=      sF      ; ''',36=J J0**7 **r   