
    h                         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 d dlmZ d dlmZ dZej"                   G d	 d
e             Zy)    )reverse)	force_str)gettext_lazy)ADMIN_MENU_IDENTIFIERADMINISTRATION_BREAK)Break)
CMSToolbar)toolbar_poolzShortcuts Breakc                   &    e Zd ZdZed        Zd Zy)FilerToolbarzH
    Adds a Filer menu-item into django CMS's "ADMIN" (first) menu.
    c                 t   | j                  t        t              }|sW| j                  t        t              }| j	                  t        |j
                         | j                  t        t              }| j                  t        t              }| j                         |j
                  dz   |j
                   }t        |      D ]W  \  }}	 t        |j                               t        |j                  j                               k  r||j
                  z   dz   c S Y |j
                  S # t        $ r Y qw xY w)z
        Ensures that there is a SHORTCUTS_BREAK and returns a position for an
        alphabetical position against all items between SHORTCUTS_BREAK, and
        the ADMINISTRATION_BREAK.
        )
identifier)position   )
find_firstr   SHORTCUTS_BREAKr   	add_breakindex	get_items	enumerater   lowernameAttributeError)
admin_menu	item_namestartenditemsidxitems          U/home/dcms/DCMS/lib/python3.12/site-packages/filer/contrib/django_cms/cms_toolbars.pyget_insert_positionz FilerToolbar.get_insert_position   s    %%e%H'':N'OC  399 E))%O)LE##E6J#K$$&u{{Q		B"5) 	ICY__./)DIIOO<M2NN,q00 O	 yy " s   AD++	D76D7c                     t        d      }| j                  j                  t              }|j	                  |t        d      | j                  ||             y )NzMedia libraryzadmin:filer_folder_changelist)urlr   )_toolbarget_or_create_menur   add_sideframe_itemr   r"   )selfmedia_libraryr   s      r!   populatezFilerToolbar.populate+   sP    /*\\445JK
%%78--j-H 	& 	
    N)__name__
__module____qualname____doc__staticmethodr"   r+    r,   r!   r   r      s       .
r,   r   N)django.urlsr   django.utils.encodingr   django.utils.translationr   r%   cms.cms_toolbarsr   r   cms.toolbar.itemsr   cms.toolbar_baser	   cms.toolbar_poolr
   r   registerr   r2   r,   r!   <module>r;      sB     + 6 H # ' ) $ $
: $
 $
r,   