o
    h
                     @   sp   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Z
G dd	 d	eZG d
d deZdS )    )forms)AuthenticationForm)PasswordChangeForm)PasswordResetForm)gettext_lazyc                       s   e Zd Zejde dZejejdedidddZ	ej
ddZi ejd	ed
iZd fdd	Zedd Zdd Z  ZS )	LoginForm   )
max_lengthwidgetplaceholderzEnter password)attrsF)r
   strip)requiredinvalid_loginzDYour %(username_field)s and password didn't match. Please try again.Nc                    sN   t  j|d|i| tdd| jji | jd jjd< d| jd jjd< d S )Nrequestz"Enter your %(username_field_name)susername_field_nameusernamer    	autofocus)super__init__r   username_fieldverbose_namefieldsr
   r   )selfr   argskwargs	__class__ X/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/forms/auth.pyr      s   
zLoginForm.__init__c                 c   ,    | j  D ]}|dvr|| | fV  qd S )N)r   passwordrememberr   keysr   
field_namer   r   r    extra_fields$      zLoginForm.extra_fieldsc                 C   s   t j| jd dd| jjidS )Nr   r   )codeparams)r   ValidationErrorerror_messagesr   r   )r   r   r   r    get_invalid_login_error*   s
   
z!LoginForm.get_invalid_login_error)N)__name__
__module____qualname__r   	CharField	TextInputr   PasswordInputr   r"   BooleanFieldr#   r   r-   r   propertyr(   r.   __classcell__r   r   r   r    r      s*    	
r   c                   @   s,   e Zd ZejeddddZedd ZdS )r   z/Enter your email address to reset your passwordr   T)labelr	   r   c                 c   r!   )N)emailr$   r&   r   r   r    r(   9   r)   zPasswordResetForm.extra_fieldsN)	r/   r0   r1   r   
EmailFieldr   r9   r6   r(   r   r   r   r    r   2   s    r   c                       s    e Zd ZdZ fddZ  ZS )r   z
    Since this is displayed as part of a larger form, this differs from the vanilla Django
    PasswordChangeForm as follows:
    * the old-password field is not auto-focused
    * Fields are not marked as required
    c                    sb   t  j|i | z
| jd jjd= W n	 ty   Y nw d| jd _d| jd _d| jd _d S )Nold_passwordr   Fnew_password1new_password2)r   r   r   r
   r   KeyErrorr   )r   r   r   r   r   r    r   H   s   zPasswordChangeForm.__init__)r/   r0   r1   __doc__r   r7   r   r   r   r    r   @   s    r   N)djangor   django.contrib.auth.formsr   r   DjangoPasswordChangeFormr   DjangoPasswordResetFormdjango.utils.translationr   r   r   r   r   r    <module>   s    *