o
    hd
                     @   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
 d dlmZ G dd dejZG d	d
 d
ejZG dd deZG dd dejZdS )    )forms)password_validation)RegexValidator)gettext_lazy)app_settings)get_adapterc                       s*   e Zd Zd fddZ fddZ  ZS )
EmailFieldreturnNc                    sF   | dtd | dtjddtddd t j|i | d S )NlabelEmailwidgetemailzEmail address)typeautocompleteplaceholderattrs)
setdefault_r   	TextInputsuper__init__selfargskwargs	__class__ M/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/account/fields.pyr      s   
zEmailField.__init__c                    s   t  | S )N)r   cleanlowerr   valuer   r   r   r       s   zEmailField.clean)r	   N__name__
__module____qualname__r   r    __classcell__r   r   r   r   r   
   s    r   c                       s   e Zd Z fddZ  ZS )PasswordFieldc                    sf   | dtj}tj|d|did|d< | dd }|d ur&||d jd< tt| j	|i | d S )Nrender_valuer   r
   )r*   r   r   r   )
popr   PASSWORD_INPUT_RENDER_VALUEr   PasswordInputgetr   r   r)   r   )r   r   r   r*   r   r   r   r   r      s   
zPasswordField.__init__)r%   r&   r'   r   r(   r   r   r   r   r)      s    r)   c                       s(   e Zd Z fddZ fddZ  ZS )SetPasswordFieldc                    s4   d|d< | dt  t j|i | d | _d S )Nznew-passwordr   	help_text)r   r   "password_validators_help_text_htmlr   r   userr   r   r   r   r   -   s   
zSetPasswordField.__init__c                    s"   t  |}t j|| jd}|S )N)r2   )r   r    r   clean_passwordr2   r"   r   r   r   r    5   s   zSetPasswordField.cleanr$   r   r   r   r   r/   ,   s    r/   c                       s:   e Zd ZededddZ fddZ fddZ  ZS )	
PhoneFieldz^\+[1-9]\d{5,14}$zAEnter a phone number including country code (e.g. +1 for the US).invalid_phone)regexmessagecodec                    sZ   t jtddddd}|d| jg |d| |dtd t j|i | d S )NPhonetel)r   r   r   r   
validatorsr   r
   )r   r   r   r   e164_validatorr   r   )r   r   r   r   r   r   r   r   B   s   zPhoneField.__init__c                    s4   t  |}|r|dddd}t |}|S )N  -)r   r    replacer   clean_phoner"   r   r   r   r    K   s
   zPhoneField.clean)	r%   r&   r'   r   r   r<   r   r    r(   r   r   r   r   r4   ;   s    	r4   N)djangor   django.contrib.authr   django.core.validatorsr   django.utils.translationr   r   allauth.accountr   allauth.account.adapterr   r   	CharFieldr)   r/   r4   r   r   r   r   <module>   s    