
    h                         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
mZ ddlmZ  G d d	e      Z G d
 dej                        Zy)    )widgets)models)	CharField)	mark_safe   )
clean_htmlrender_dynamic_attributes)TextEditorWidgetc                   ,     e Zd ZeZ fdZ fdZ xZS )HTMLFormFieldc                     |j                  dd       }|j                  dd       }|rt        ||      }nd }|j                  d|       t        |   |i | y )Nconfigurationurl_endpoint)r   r   widget)popr
   
setdefaultsuper__init__)selfargskwargsconfr   r   	__class__s         E/home/dcms/DCMS/lib/python3.12/site-packages/djangocms_text/fields.pyr   zHTMLFormField.__init__   sY    zz/40zz.$7%D|TFF(F+$)&)    c                 n    t         |   |      }t        |dd      }t        |      }t	        |      }|S NF)admin_objectsremove_attr)r   cleanr	   r   r   )r   valueclean_valuer   s      r   r    zHTMLFormField.clean   s<    e$)%uRWX '  ,r   )__name__
__module____qualname__r
   r   r   r    __classcell__r   s   @r   r   r   
   s    F* r   r   c                   @     e Zd Z fdZddZd Z fdZ fdZ xZS )	HTMLFieldc                     |j                  dd       | _        |j                  dd       | _        t        |   |i | y )Nr   r   )r   r   r   r   r   )r   r   r   r   s      r   r   zHTMLField.__init__&   s=     $ZZ>"JJ~t<$)&)r   c                 <    ||S t        |dd      }t        |      S r   )r	   r   )r   r!   
expression
connectioncontexts        r   from_db_valuezHTMLField.from_db_value-   s&    =L)%uRWXr   c                     ||S |S N )r   r!   s     r   	to_pythonzHTMLField.to_python3   s     =Lr   c                    t         | j                  rt        | j                        nt        d}|j                  |       |d   t        j
                  k(  rt        | j                  d      |d<   t        |   di |S )N)r   )
form_classr   r   T)r   add_admin_cssr2   )r   r   r
   updateadmin_widgetsAdminTextareaWidgetr   	formfield)r   r   defaultsr   s      r   r:   zHTMLField.formfield:   su    'LPL^L^&T5G5GHdt
 	 H!B!BB!1@R@Rbf!gHXw ,8,,r   c                 h    t        |dd      }t        t        |   ||            }t	        |      S r   )r	   r   r   r    r   )r   r!   model_instancer   s      r   r    zHTMLField.cleanG   s4     *%uRWX57=?@r   r1   )	r#   r$   r%   r   r/   r3   r:   r    r&   r'   s   @r   r)   r)   %   s!    * -   r   r)   N)django.contrib.adminr   r8   	django.dbr   django.forms.fieldsr   django.utils.safestringr   htmlr   r	   r
   r   	TextFieldr)   r2   r   r   <module>rD      s5    9  ) - 7 %I 6'    ' r   