B
    ¤0H[á  ã               @   sJ   d dl mZ d dlmZ d dlmZ d dlmZmZ	 G dd„ dej
ƒZdS )é    )Úforms)Úsettings)ÚFlatPage)ÚgettextÚgettext_lazyc                   sV   e Zd Zejedƒddedƒdedƒid�ZG dd	„ d	ƒZd
d„ Z‡ fdd„Z	‡  Z
S )ÚFlatpageFormÚURLéd   z^[-\w/\.~]+$zKExample: '/about/contact/'. Make sure to have leading and trailing slashes.Úinvalidz\This value must contain only letters, numbers, dots, underscores, dashes, slashes or tildes.)ÚlabelÚ
max_lengthÚregexÚ	help_textZerror_messagesc               @   s   e Zd ZeZdZdS )zFlatpageForm.MetaÚ__all__N)Ú__name__Ú
__module__Ú__qualname__r   ÚmodelÚfields© r   r   úbC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-6bm3nxem\django\django\contrib\flatpages\forms.pyÚMeta   s   r   c             C   sV   | j d }| d¡s&tjtdƒdd�‚tjrRdtjkrR| d¡sRtjtdƒdd�‚|S )	NÚurlú/zURL is missing a leading slash.Zmissing_leading_slash)Úcodez)django.middleware.common.CommonMiddlewarez URL is missing a trailing slash.Zmissing_trailing_slash)	Úcleaned_dataÚ
startswithr   ÚValidationErrorr   r   ZAPPEND_SLASHZ
MIDDLEWAREÚendswith)Úselfr   r   r   r   Ú	clean_url   s    



zFlatpageForm.clean_urlc                s”   | j  d¡}| j  d¡}tjj|d�}| jjr>|j| jjd�}|rŠ|j|d� ¡ rŠx6|D ].}|j|d� ¡ rXt	j
tdƒd||d	œd
�‚qXW tƒ  ¡ S )Nr   Úsites)r   )Úpk)Z	sites__in)r!   z:Flatpage with url %(url)s already exists for site %(site)sZduplicate_url)r   Úsite)r   Úparams)r   Úgetr   ÚobjectsÚfilterÚinstancer"   ÚexcludeÚexistsr   r   Ú_ÚsuperÚclean)r   r   r!   Zsame_urlr#   )Ú	__class__r   r   r-   )   s    
zFlatpageForm.clean)r   r   r   r   Z
RegexFieldr+   r   r   r    r-   Ú__classcell__r   r   )r.   r   r      s   r   N)Zdjangor   Zdjango.confr   Zdjango.contrib.flatpages.modelsr   Zdjango.utils.translationr   r   r+   Z	ModelFormr   r   r   r   r   Ú<module>   s   