o
    h	                     @   sX   d dl mZ d dlmZ d dlmZmZ d dlmZ 				dd	d
Z	G dd dZ
dS )    )reverse)cached_property)get_latest_strget_valid_next_url_from_request)page_permission_policywagtailadmin_explorewagtailadmin_explore_rootT c           
      C   s   t |}|s	g S | j|dj|ddjdd}g }|D ]!} |  r)|r)t|}	nt|| jfd}	||	| t	| d q|S )N)	inclusiveT)defer)args)urllabel)
r   explorable_root_instanceget_ancestorsdescendant_ofspecificis_rootr   idappendr   )
pageuserurl_nameroot_url_nameinclude_selfquerystring_valueccapagesitemsr    r   _/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/views/pages/utils.pyget_breadcrumbs_items_for_page   s    



r!   c                       s0   e Zd ZdZdZedd Z fddZ  ZS )GenericPageBreadcrumbsMixinaz  
    A mixin that allows a view for pages that extends a generic view to combine
    the page explorer breadcrumbs with the generic view's breadcrumbs.

    This is done by generating the explorer breadcrumbs items for the page as a
    normalised breadcrumbs items list, and then concatenating that with the last
    item of the generic view's generated breadcrumbs items.
       c                 C   s   t | j| jjS N)r!   objectrequestr   selfr   r   r    breadcrumbs_items7   s   z-GenericPageBreadcrumbsMixin.breadcrumbs_itemsc                    s   | j t  | j d   S r$   )r)   superget_breadcrumbs_itemsbreadcrumbs_items_to_taker'   	__class__r   r    r+   ;   s   
z1GenericPageBreadcrumbsMixin.get_breadcrumbs_items)	__name__
__module____qualname____doc__r,   r   r)   r+   __classcell__r   r   r-   r    r"   +   s    	
r"   N)r   r   Tr	   )django.urlsr   django.utils.functionalr   wagtail.admin.utilsr   r   wagtail.permissionsr   r!   r"   r   r   r   r    <module>   s    
