
    h	                     v    S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SKJ
r   " S S\R                  5      rg	)
    )forms)settings)FlatPage)ValidationError)gettext)gettext_lazyc            
          ^  \ rS rSr\R
                  " \" S5      SS\" S5      S\" S5      0S9r " S	 S
5      rU 4S jr	S r
S rU 4S jrSrU =r$ )FlatpageForm	   URLd   z^[-\w/.~]+$uO   Example: “/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_texterror_messagesc                       \ rS rSr\rSrSrg)FlatpageForm.Meta   __all__ N)__name__
__module____qualname____firstlineno__r   modelfields__static_attributes__r       P/var/www/html/env/lib/python3.13/site-packages/django/contrib/flatpages/forms.pyMetar      s    r    r"   c                    > [         TU ]  " U0 UD6  U R                  5       (       d  [        S5      U R                  S   l        g g )NuA   Example: “/about/contact”. Make sure to have a leading slash.url)super__init___trailing_slash_required_r   r   )selfargskwargs	__class__s      r!   r&   FlatpageForm.__init__   sB    $)&),,..+,S,DKK( /r    c                 V    [         R                  =(       a    S[         R                  ;   $ )Nz)django.middleware.common.CommonMiddleware)r   APPEND_SLASH
MIDDLEWARE)r)   s    r!   r'   %FlatpageForm._trailing_slash_required%   s$    !! S;x?R?RR	
r    c                     U R                   S   nUR                  S5      (       d  [        [        S5      SS9eU R	                  5       (       a)  UR                  S5      (       d  [        [        S5      SS9eU$ )Nr$   /zURL is missing a leading slash.missing_leading_slash)codez URL is missing a trailing slash.missing_trailing_slash)cleaned_data
startswithr   r   r'   endswith)r)   r$   s     r!   	clean_urlFlatpageForm.clean_url+   sy    &~~c""!9:,  ((**3<<3D3D!:;-  
r    c                   > U R                   R                  S5      nU R                   R                  S5      n[        R                  R	                  US9nU R
                  R                  (       a#  UR                  U R
                  R                  S9nU(       ac  UR	                  US9R                  5       (       aA  U H;  nUR	                  US9R                  5       (       d  M'  [        [        S5      SXS	.S
9e   [        TU ]1  5       $ )Nr$   sites)r$   )pk)	sites__in)r=   z:Flatpage with url %(url)s already exists for site %(site)sduplicate_url)r$   site)r5   params)r7   getr   objectsfilterinstancer>   excludeexistsr   r(   r%   clean)r)   r$   r=   same_urlrA   r,   s        r!   rI   FlatpageForm.clean9   s    ##E*!!%%g.##**s*3==''4==+;+;'<HX__u_5<<>>???.5577)VW,'*9   w}r    r   )r   r   r   r   r   
RegexFieldr(   r$   r"   r&   r'   r:   rI   r   __classcell__)r,   s   @r!   r
   r
   	   sf    


h

 q:
C  
 r    r
   N)djangor   django.confr   django.contrib.flatpages.modelsr   django.core.exceptionsr   django.utils.translationr   r   r(   	ModelFormr
   r   r    r!   <module>rT      s)       4 2 , 6A5?? Ar    