a
    ùÜEbÿ  ã                   @   sœ  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ƒZG dd	„ d	ejƒZ	G d
d„ dejƒZ
G dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG d d!„ d!ƒZG d"d#„ d#ejƒZG d$d%„ d%ejƒZG d&d'„ d'ejƒZG d(d)„ d)ejƒZG d*d+„ d+ejƒZG d,d-„ d-ejƒZd.S )/é    )Úforms)Úmodels)Ú
FormHelperc                       s²   e Zd Zejdde ¡ d�Zejddde ¡ dd�Z	ejd	dde 
¡ d
�Zejddde 
¡ d
�Zejddde ¡ d
�Zejddde ¡ d
�Zejde ¡ d�Z‡ fdd„Z‡  ZS )Ú
SampleFormÚcompanyF©ÚlabelÚrequiredÚwidgetÚemailé   TzInsert your email)r   Ú
max_lengthr	   r
   Ú	help_textÚpassword©r   r   r	   r
   úre-enter passwordz
first nameé   z	last namez	date time)r   r
   c                    sF   t ƒ  ¡  | j dd ¡}| j dd ¡}|s.|r6||kr@t d¡‚| jS )NÚ	password1Ú	password2zPasswords dont match)ÚsuperÚcleanZcleaned_dataÚgetr   ZValidationError)Úselfr   r   ©Ú	__class__© úX/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/crispy_forms/tests/forms.pyr      s    

zSampleForm.clean)Ú__name__Ú
__module__Ú__qualname__r   Ú	CharFieldÚCheckboxInputÚ
is_companyZ
EmailFieldZ	TextInputr   ÚPasswordInputr   r   Z
first_nameÚ	last_nameÚSplitDateTimeFieldZSplitDateTimeWidgetZdatetime_fieldr   Ú__classcell__r   r   r   r   r      s   ÿr   c                       s   e Zd Z‡ fdd„Z‡  ZS )ÚSampleForm2c                    s    t ƒ j|i |¤Ž t| ƒ| _d S ©N©r   Ú__init__r   Úhelper©r   ÚargsÚkwargsr   r   r   r*      s    zSampleForm2.__init__)r   r   r   r*   r&   r   r   r   r   r'      s   r'   c                   @   sT   e Zd Zejddejd�Zejddejd�Zejddejd�Zej	dej
dd	�Zd
S )ÚCheckboxesSampleForm©)é   ú
Option one)é   ú
Option two)é   úOption three©r1   ©ÚchoicesÚinitialr
   )©Z
option_oner2   ©Ú
option_twor4   )Úoption_threer6   )r=   r>   )r1   r3   ©r;   r<   r=   ©r9   r
   r:   N)r   r   r   r   ÚMultipleChoiceFieldÚCheckboxSelectMultipleÚ
checkboxesZalphacheckboxesZnumeric_multiple_checkboxesÚChoiceFieldÚRadioSelectÚinline_radiosr   r   r   r   r/   "   s(   ýýýúr/   c                   @   s   e Zd Zejddejd�ZdS )ÚSelectSampleFormr0   r7   r8   N)r   r   r   r   rD   ZSelectÚselectr   r   r   r   rG   ?   s   ÿrG   c                   @   s$   e Zd Zejdd�Zejdd�ZdS )ÚCrispyTestModelé   )r   N)r   r   r   r   r    r   r   r   r   r   r   rI   E   s   rI   c                       s*   e Zd ZG dd„ dƒZ‡ fdd„Z‡  ZS )ÚSampleForm3c                   @   s   e Zd ZeZddgZdgZdS )zSampleForm3.Metar   r   N)r   r   r   rI   ÚmodelÚfieldsÚexcluder   r   r   r   ÚMetaK   s   rO   c                    s    t ƒ j|i |¤Ž t| ƒ| _d S r(   r)   r,   r   r   r   r*   P   s    zSampleForm3.__init__)r   r   r   rO   r*   r&   r   r   r   r   rK   J   s   rK   c                   @   s   e Zd ZG dd„ dƒZdS )ÚSampleForm4c                   @   s   e Zd ZdZeZdZdS )zSampleForm4.Metaa  
        before Django1.6, one cannot use __all__ shortcut for fields
        without getting the following error:
        django.core.exceptions.FieldError: Unknown field(s) (a, l, _) specified for CrispyTestModel
        because obviously it casts the string to a set
        Ú__all__N)r   r   r   Ú__doc__rI   rL   rM   r   r   r   r   rO   V   s   rO   N©r   r   r   rO   r   r   r   r   rP   U   s   rP   c                   @   s<   e Zd Zg d¢Zejejed�Zejej	ed�Z
e ¡ ZdS )ÚSampleForm5))r1   r1   )r3   r3   )éè  rU   ©r
   r9   N)r   r   r   r9   r   rA   rB   Úcheckbox_select_multiplerD   rE   Zradio_selectZIntegerFieldÚpkr   r   r   r   rT   b   s   rT   c                   @   s   e Zd ZG dd„ dƒZdS )ÚSampleFormWithMediac                   @   s   e Zd ZddiZdZdS )zSampleFormWithMedia.MediaÚall)ztest.css)ztest.jsN)r   r   r   ÚcssÚjsr   r   r   r   ÚMedian   s   r]   N)r   r   r   r]   r   r   r   r   rY   m   s   rY   c                   @   s   e Zd Ze ¡ ZdS )ÚSampleFormWithMultiValueFieldN)r   r   r   r   r%   Zmultir   r   r   r   r^   s   s   r^   c                   @   s"   e Zd Zejddgdddd�ZdS )ÚCrispyEmptyChoiceTestModel)ÚappleZApple)ÚpearZPearTrJ   )r9   ÚnullÚblankr   N)r   r   r   r   r    Úfruitr   r   r   r   r_   w   s   ür_   c                   @   s   e Zd ZG dd„ dƒZdS )ÚSampleForm6c                   @   s&   e Zd ZdZeZdgZde ¡ iZ	dS )zSampleForm6.Metaa	  
        When allowing null=True in a model field,
        the corresponding field will have a choice
        for the empty value.

        When the form is initialized by an instance
        with initial value None, this choice should
        be selected.
        rd   N)
r   r   r   rR   r_   rL   rM   r   rE   Zwidgetsr   r   r   r   rO   �   s   
rO   NrS   r   r   r   r   re   €   s   re   c                   @   sD   e Zd Zejdde ¡ d�Zejddde ¡ d�ZG dd	„ d	ƒZ	d
S )ÚSampleForm7r   Fr   r   r   Tr   c                   @   s   e Zd ZeZdZdS )zSampleForm7.Meta)r   r   r   N©r   r   r   rI   rL   rM   r   r   r   r   rO   •   s   rO   N©
r   r   r   r   r    r!   r"   r#   r   rO   r   r   r   r   rf   ‘   s   rf   c                   @   sD   e Zd Zejdde ¡ d�Zejddde ¡ d�ZG dd	„ d	ƒZ	d
S )ÚSampleForm8r   Fr   r   r   Tr   c                   @   s   e Zd ZeZdZdS )zSampleForm8.Meta)r   r   r   Nrg   r   r   r   r   rO   ž   s   rO   Nrh   r   r   r   r   ri   š   s   ri   c                   @   s   e Zd ZdZdZdd„ ZdS )ÚFakeFieldFilez€
    Quacks like a FieldFile (has a .url and string representation), but
    doesn't require us to care about storages etc.
    Z	somethingc                 C   s   | j S r(   )Úurl)r   r   r   r   Ú__str__«   s    zFakeFieldFile.__str__N)r   r   r   rR   rk   rl   r   r   r   r   rj   £   s   rj   c                   @   s.   e Zd Zejejd�Zejejdeƒ d�Z	dS )ÚFileForm©r
   F©r
   r	   r:   N©
r   r   r   r   Z	FileFieldZ	FileInputZ
file_fieldZClearableFileInputrj   Zclearable_filer   r   r   r   rm   ¯   s   rm   c                   @   sB   e Zd Zejejddid�d�Zejejddid�deƒ d�Z	dS )ÚAdvancedFileFormÚclasszmy-custom-class)Úattrsrn   Fro   Nrp   r   r   r   r   rq   ´   s   ÿrq   c                   @   sF   e Zd ZdddgfdddgfdgZejejed�Zejejed�Z	d	S )
ÚGroupedChoiceFormZAudio)ZvinylZVinyl)ÚcdZCDZVideo)ÚvhszVHS Tape)ÚdvdZDVD)ÚunknownÚUnknownrV   N)
r   r   r   r9   r   rA   rB   rW   rE   Úradior   r   r   r   rt   »   s   þþþþñrt   c                   @   s   e Zd ZdS )ÚCustomRadioSelectN©r   r   r   r   r   r   r   r{   Ñ   s   r{   c                   @   s   e Zd ZdS )ÚCustomCheckboxSelectMultipleNr|   r   r   r   r   r}   Õ   s   r}   c                   @   s,   e Zd Zejdedd�Zejdded�Z	dS )ÚSampleFormCustomWidgetsr?   r=   r@   r0   r7   r8   N)
r   r   r   r   rD   r{   rF   rA   r}   rC   r   r   r   r   r~   Ù   s   ú	ýr~   N) Údjangor   Z	django.dbr   Zcrispy_forms.helperr   ZFormr   r'   r/   rG   ZModelrI   Z	ModelFormrK   rP   rT   rY   r^   r_   re   rf   ri   rj   rm   rq   rt   rE   r{   rB   r}   r~   r   r   r   r   Ú<module>   s.   			