
    h                     |    d dl mZmZ d dlmZmZmZ  G d de      Zdee	e	f   fdZ
defdZdedefd	Zdefd
Zy)    )	AppConfigapps)ErrorWarningregisterc                   8    e Zd ZU dZdZdZi Zeeef   e	d<   d Z
y)
TextConfigdjangocms_textzdjango CMS Rich Textzdjango.db.models.BigAutoFieldinline_modelsc                 ^    t               | _        t        t               t        t               y )N)discover_inline_editable_modelsr   r   check_ckeditor_settingscheck_no_cms_config)selfs    C/home/dcms/DCMS/lib/python3.12/site-packages/djangocms_text/apps.pyreadyzTextConfig.ready   s    <>()$%    N)__name__
__module____qualname__nameverbose_namedefault_auto_fieldr   dictstr__annotations__r    r   r   r	   r	      s)    D)L8$&M4S>&&r   r	   returnc            	         ddl m}  ddg}i }g }| j                  j                         D ]  \  }}|j                  j
                  |v rt        |dg       D ]  }	 |j                  d |f      }|s|j                  j                  |d       }|j                  j                  |v sP|j                  j                  ||j                  j
                   d|j                  j                   d| <     t        j                  d	      rdd
lm}	 |	j$                  j'                         D ]  }
|
j(                  }|j                  j
                  |v r(t        |
dg       D ]  }|
j*                  }|j                  j                  |d       }|j                  j                  |v sD|j                  j                  ||j                  j
                   d|j                  j                   d| <     |S # t        $ r t        |dd       }Y w xY w)Nr   )siteHTMLFormField	CharFieldfrontend_editable_fields)requestfieldsform-cms)plugin_pool)django.contrib.adminr    	_registryitems_meta	app_labelgetattrget_form	Exceptionbase_fieldsget	__class__r   
model_namer   is_installedcms.plugin_poolr)   pluginsvaluesmodelr&   )r    registered_inline_fieldsr   blacklist_appsr:   
modeladmin
field_namer&   field_instancer)   plugins              r   r   r      s    * /=$&M "N!^^113 z;;  N2!*.H"M 
	J9!**4*N !%!1!1!5!5j$!G!++448PP&0099 "U[[%:%:$;1U[[=S=S<TTUV`Ua"bc
		  /!))002 
	FLLE{{$$6%f.H"M 
{{!%!1!1!5!5j$!G!++448PP&0099 "U[[%:%:$;1U[[=S=S<TTUV`Ua"bc		
	 3  9z6489s   G//H	H	c                    ddl m} d}g }t        |dd       rP|j                  t	        d| ddj                  |j                  D cg c]  }d| d	
 c}       d
dd             t        t        |dt                     t              s8|j                  t	        d| dt        |j                         ddd             t        |      r|j                  t	        ddd             |S c c}w )Nr   settingszPlease use the TEXT_ADDITIONAL_ATTRIBUTES setting with a dictionary instead. Have an entry for each tag and specify allowed attributes for the tag as a set.TEXT_ADDITIONAL_TAGSzXThe TEXT_ADDITIONAL_TAGS setting is deprecated and will be removed in a future release.
zTEXT_ADDITIONAL_ATTRIBUTES = {z, "z": set()z"}
z	text.W001zsettings.TEXT_ADDITIONAL_TAGS)idobjTEXT_ADDITIONAL_ATTRIBUTESz4The TEXT_ADDITIONAL_ATTRIBUTES setting has changed.
z#TEXT_ADDITIONAL_ATTRIBUTES = {"*": z}
z	text.W002z#settings.TEXT_ADDITIONAL_ATTRIBUTESz\The CKEDITOR_SETTINGS toolbar setting has changed: Instead of 'cmsplugins' use 'CMSPlugins'.z:Replace 'cmsplugins' by 'CMSPlugins' in CKEDITOR_SETTINGS.z	text.W003hintrF   )django.confrC   r/   appendr   joinrD   
isinstancer   setrH   "check_ckeditor_cms_plugin_settings)app_configskwargsrC   
change_msgwarningstags         r   r   r   =   s   $	Z  !Hx/6k, yyx?\?\!]AcU("3!]^__ei3		
 gh(DdfMtTG
|T6s8;^;^7_6``de9		
 *(3nQ	
 O/ "^s   C-rC   c                     dt         dt        dt        ffdt        | d      rO| j                  }d}|j	                         D ],  \  }}d|v st        |t               s|xs  ||   dd	      }. |S y)
Nconfig_listoldnewc                     d}t        |       D ]W  \  }}t        |t              r|xs
  |||      }%t        |t              rd|v r|xs  |d   ||      }K||k(  sQ|| |<   d}Y |S )zNReplace target string in toolbar lists and return True if any change occurred.Fr,   T)	enumeraterN   listr   )rW   rX   rY   changedindexitemrecursive_replaces         r   r`   z=check_ckeditor_cms_plugin_settings.<locals>.recursive_replacef   s    $[1 	KE4$%!F%6tS#%FD$'GtO!O%6tG}c3%O%(E"	 r   CKEDITOR_SETTINGSFtoolbar
cmsplugins
CMSPlugins)r\   r   hasattrra   r,   rN   )rC   ckeditor_settingschange_requiredkeyvaluer`   s        @r   rP   rP   e   s    t # C  x,-$66+113 	JCCJud$;"1 #5F%c*L,6	
 r   c                 |    ddl m} d|j                  v rg S t        |di       }d|v r|d   g S t	        ddd	      gS )
Nr   rB   r(   MIGRATION_MODULESr
   zWhen using djangocms-text outside django-cms, deactivate migrations for it. Migrations are only needed when using djangocms-text within django-cms. They will fail otherwise.z?Add "'djangocms_text': None" to your MIGRATION_MODULES setting.zdjangocms_text.E001rI   )rK   rC   INSTALLED_APPSr/   r   )rQ   rR   rC   migration_moduless       r   r   r      sb    $'''	*=rB,,1BCS1T1\	 	\T$		
 r   N)django.appsr   r   django.core.checksr   r   r   r	   r   r   r   r\   r   objectrP   r   r   r   r   <module>rq      s[    ' 7 7	& 	&)c3h )X%d %P D 6$ r   