
    h                         d dl Z 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 ddlmZmZmZmZmZ dd	lmZ dd
ZddZ	 ddej*                  de j,                  ee      de j,                  e   fdZy)    N)admin_reverse)get_permission_codename)models)	urlencode)gettext_lazy   )ARCHIVEDDRAFT	PUBLISHEDUNPUBLISHEDVERSION_STATES)Versionc                     |rdt        d|i       nd}t        | j                  j                   d| j                  j
                  j                  j                   d| | j                  f      |z   S )N?back _)args)r   r   _meta	app_labelversionableversion_model_proxy
model_namepk)versionactionr   
get_paramss       O/home/dcms/DCMS/lib/python3.12/site-packages/djangocms_versioning/indicators.py_reverse_actionr      sw    481Y~./0bJ==""
#1W%8%8%L%L%R%R%]%]$^^_`f_ghjj] 	     c           
         ddl m} g }| j                  j                  dt	        d|d   j
                               rU|d   j                  j                  | j                        re| j                  j                  d      }|rdnd}|j                  t        d      d	|d   j                         iz  d
t        |d   d      d|z   f       |d   j                  j                  | j                        r+|j                  t        d      dt        |d   d      df       |d   j                  j                  | j                        rA|d   j                  t        k(  r+|j                  t        d      dt        |d   d      df       |d   j                   j                  | j                        rC|d   j                  t"        k(  r-t        d      }|j                  |dt        |d   d      df       |d   j$                  j                  | j                        r+|j                  t        d      dt        |d   d      df       t'        |      dkD  rS|d   j$                  j                  | j                        r+|j                  t        d      dt        |d   d      df       |d   j(                  j                  | j                        rA|j                  |t*        k(  rt        d      n
t        d      dt        |d   d|      df       t'        |      d k\  rv|d   j                  t*        k(  r`|d   j                  t        k(  rJ|j                  t        d!      d"t        |d   d#      d$z   t-        |d   j.                  |d%      z   df       |j                  t        d&      d' ||d   j0                        df       |S )(Nr   )version_list_urlzcms.changez'djangocms_versioning.delete_versionlockr   z$ cms-pagetree-dropdown-item-disabledzUnlock (%(message)s)messagezcms-icon-unlockunlockzjs-cms-tree-lang-triggerPublishzcms-icon-publishpublishzCreate new draftzcms-icon-edit-newedit_redirectz2js-cms-tree-lang-trigger js-cms-pagetree-page-viewzRevert from Unpublishzcms-icon-undorevert	Unpublishzcms-icon-unpublish	unpublishr   zDelete DraftzDiscard Changeszcms-icon-bindiscard)r      zCompare Draft to Published...zcms-icon-layerscomparer   )
compare_tor   zManage Versions...zcms-icon-copy)djangocms_versioning.helpersr"   userhas_permr   r   check_unlockas_boolappendr   locked_messager   check_publishcheck_edit_redirectstater   check_revertr   check_unpublishlencheck_discardr
   r   r   content)	requeststatusversionsr   r"   menu
can_unlockadditional_classlabels	            r   content_indicator_menurF      s   =D||t$;HhqkFWFW$X#YZ[A;##++GLL9 ../XYJ%/r5[KK()Y8R8R8T,UUWhX6*-== 
 A;$$,,W\\:KK)0Y7* 
 A;**227<<@Xa[EVEVZcEcKK$%':_=D 
 A;##++GLL9hqk>O>OS^>^-.EKKX6* 
 A;&&..w||<KK+ 4[9* 
 x=1!!<!<!D!DW\\!RKK+ 4[9* 
 A;$$,,W\\:KK%+u_.!!<M:NP^YTB 
 x=A(1+"3"3u"<!ARARV_A_KK124EY7"*1+.. ! 
   	KK"#_Xa[001	
 Kr    content_objrA   returnc                 <   | syt        | d      s||.t        j                  j                  |       j	                  d      }t        t              }|D ci c]  }|j                  |v r|j                  | }}t        |v r*t        |vr"d| _
        |t           f| _        | j                  S t        |v r2t        |v r*d| _
        |t           |t           f| _        | j                  S t        |v r"d| _
        |t           f| _        | j                  S |d   j                  t        k(  r"d| _
        |t           f| _        | j                  S |d   j                  t        k(  r"d	| _
        |t           f| _        | j                  S d| _
        dg| _        | j                  S c c}w )
zTranslates available versions into status to be reflected by the indicator.
    Function caches the result in the page_content objectN_indicator_statusz-pkdraftdirty	publishedr   unpublishedarchived)hasattrr   objects!filter_by_content_grouping_valuesorder_bydictr   r9   r
   r   rJ   _versionr   r	   )rG   rA   version_statesr   	signatures        r   content_indicatorrX   ]   s    ["56HHhuo  n- $
w}}'F MM7"
	 
 I)9"<,3K)#,U#3#4K   ((( iI$:,3K)$-e$4i	6J#KK  ((( )#,7K)#,Y#7#8K  ((( a[+-,9K)#,[#9#:K  ((( a[(*,6K)#,X#6#7K  ((( -1K)$(6K (((-
s   "F)N)r   )typingcms.utils.urlutilsr   django.contrib.authr   	django.dbr   django.utils.httpr   django.utils.translationr   r   	constantsr	   r
   r   r   r   r   r   rF   ModelOptionalliststrrX    r    r   <module>re      sj     , 7  ' 6 N N ET 04&)&)ood7m,&) __S&)r    