a
    Dg1                     @   s  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 dlmZ d dlmZ d d	lm  m  m  m  mZ d d
lmZmZ d dlmZ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'm(Z(m)Z) d dl*m+Z+ d dl,m-Z-m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z; d dl<m=Z> d dl<m?Z@ d dlAmBZBmCZCmDZDmEZE d dlFmGZG d dlHmIZImJZJ d dlKmLZLmMZMmNZNmOZO d dlPmQZQmRZRmSZSmTZT d dlUmVZVmWZW d dlXmYZY d dlZm[Z[m\Z\m]Z] G dd de%Z^e_d d!d" Z`G d#d$ d$e&Zae_d d%d& Zbe_d'd(d' ZcG d)d* d*e9Zde_d+d,d- Zee_d.d/d0 ZfG d1d2 d2e%Zge_d3d4d5 ZhG d6d7 d7e%ZiG d8d9 d9e%Zje_d3d:d; Zke_d3d<d= Zle_d>dd?d@ZmG dAdB dBeJZnG dCdD dDeJZoG dEdF dFeJZpG dGdH dHeJZqG dIdJ dJeJZrG dKdL dLeJZsG dMdN dNeJZtG dOdP dPeJZuG dQdR dReJZvG dSdT dTeJZwe_dUddVdWZxe_dXddYdZZye_d[d\d] Zze_d^d_d` Z{G dadb dbe%Z|G dcdd dde%Z}G dedf dfe%Z~G dgdh dhe%ZG didj dje%Ze_dkdldm Ze_dkdndo Ze_dkdpdq Ze_dkdrds Ze_dkdtdu Ze_dkdvdw Ze_d dxdy Ze_dzd{d| Ze_dzd}d~ Ze_dzdd Ze_d dd Ze_ddd Ze_ddd ZG dd dZeeMe G dd deZeeLe G dd deZeeOe G dd deZeeNe eBeCeDeEfD ]Ze_de qd	S )    )settings)
Permission)reversereverse_lazy)cached_property)	urlencode)gettext)gettext_lazy)DOMN)__version__hooks)ModelAdminURLFinderregister_admin_url_finder)user_has_any_page_permission*GroupCollectionManagementPermissionFormSet)DismissibleMenuItemDismissibleSubmenuMenuItemMenuItemSubmenuMenuItem	help_menureports_menusettings_menu)link_entity)LinkTypeRulePageLinkHandlerWhitelistRule)BlockElementHandlerExternalLinkElementHandlerHorizontalRuleHandlerInlineStyleElementHandlerListElementHandlerListItemElementHandlerPageLinkElementHandler)
SearchArea)PagesSummaryItem)PageExplorerMenuItem)SubMenuItem)DeleteBulkActionMoveBulkActionPublishBulkActionUnpublishBulkAction)viewsets)ButtonWithDropdownFromHookPageListingButton)
CollectionPageTaskWorkflow)collection_permission_policypage_permission_policytask_permission_policyworkflow_permission_policy))wagtail_feature_release_editor_guide_link&wagtail_feature_release_whats_new_link)get_main_version)allow_without_attributesattribute_rule	check_urlc                       s0   e Zd Zdd Z fddZ fddZ  ZS )ExplorerMenuItemc                 C   s
   t |jS Nr   userselfrequest rD   Z/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/admin/wagtail_hooks.pyis_shownH   s    zExplorerMenuItem.is_shownc                    s*   t  |}t|j}|r&|j|d< |S )NZstart_page_id)superget_contextr4   explorable_root_instancer@   id)rB   rC   context
start_page	__class__rD   rE   rH   K   s
    
zExplorerMenuItem.get_contextc                    s@   t |j}|r0t| j| j| j|j| j| j	dS t
 |S d S )N)	icon_name	classname)r4   rI   r@   PageExplorerMenuItemComponentnamelabelurlrJ   rO   rP   rG   render_component)rB   rC   rL   rM   rD   rE   rU   T   s    	z!ExplorerMenuItem.render_component)__name__
__module____qualname__rF   rH   rU   __classcell__rD   rD   rM   rE   r=   G   s   	r=   Zregister_admin_menu_itemc                   C   s   t tdtdddddS )NPagesZwagtailadmin_explore_rootZexplorerfolder-open-inversed   rR   rO   order)r=   _r   rD   rD   rD   rE   register_explorer_menu_itemd   s    r`   c                   @   s   e Zd Zdd ZdS )SettingsMenuItemc                 C   s(   t | j| j| j|| j| jdt dS )Nz	Wagtail v)rO   rP   Zfooter_text)SubMenuItemComponentrR   rS   menurU   rO   rP   r   rA   rD   rD   rE   rU   p   s    
z!SettingsMenuItem.render_componentN)rV   rW   rX   rU   rD   rD   rD   rE   ra   o   s   ra   c                   C   s   t tdtddddS )NZSettingsr   Zcogsi'  r]   )ra   r_   r   rD   rD   rD   rE   register_settings_menu{   s    rd   register_permissionsc                   C   s   t jjdddS )NZwagtailadminZaccess_admin)Zcontent_type__app_labelcodename)r   ZobjectsfilterrD   rD   rD   rE   re      s    c                       s$   e Zd Z fddZdd Z  ZS )PageSearchAreac                    s"   t  jtdtddddd d S )NrZ   zwagtailadmin_pages:searchZpagesr[   r\   r]   )rG   __init__r_   r   rB   rM   rD   rE   ri      s    zPageSearchArea.__init__c                 C   s
   t |jS r>   r?   rA   rD   rD   rE   rF      s    zPageSearchArea.is_shown)rV   rW   rX   ri   rF   rY   rD   rD   rM   rE   rh      s   	rh   Zregister_admin_search_areac                   C   s   t  S r>   )rh   rD   rD   rD   rE   register_pages_search_area   s    rk   Zregister_group_permission_panelc                   C   s   t S r>   r   rD   rD   rD   rE   %register_collection_permissions_panel   s    rl   c                   @   s   e Zd Zdd ZdS )CollectionsMenuItemc                 C   s   t |jg dS )Naddchangedelete)r3   user_has_any_permissionr@   rA   rD   rD   rE   rF      s    
zCollectionsMenuItem.is_shownNrV   rW   rX   rF   rD   rD   rD   rE   rm      s   rm   Zregister_settings_menu_itemc                   C   s   t tdtdddddS )NZCollectionszwagtailadmin_collections:indexcollectionszfolder-open-1  r]   )rm   r_   r   rD   rD   rD   rE   register_collections_menu_item   s    rv   c                   @   s   e Zd Zdd ZdS )WorkflowsMenuItemc                 C   s"   t tddsdS t|jg dS NWAGTAIL_WORKFLOW_ENABLEDTFrn   )getattrr   r6   rr   r@   rA   rD   rD   rE   rF      s
    
zWorkflowsMenuItem.is_shownNrs   rD   rD   rD   rE   rw      s   rw   c                   @   s   e Zd Zdd ZdS )WorkflowTasksMenuItemc                 C   s"   t tddsdS t|jg dS rx   )rz   r   r5   rr   r@   rA   rD   rD   rE   rF      s
    
zWorkflowTasksMenuItem.is_shownNrs   rD   rD   rD   rE   r{      s   r{   c                   C   s   t tdtdddddS )N	Workflowszwagtailadmin_workflows:index	workflowstasksr\   r]   )rw   r_   r   rD   rD   rD   rE   register_workflows_menu_item   s    r   c                   C   s   t tdtdddddS )NWorkflow tasksz!wagtailadmin_workflows:task_indexworkflow-tasks	thumbtack   r]   )r{   r_   r   rD   rD   rD   rE   !register_workflow_tasks_menu_item   s    r   Zregister_page_listing_buttonsc                 c   s6   t dd| ||dddtdd|  i dd	d
V  d S )N "register_page_listing_more_buttonszdots-horizontal_blank
noreferrerzMore options for '%(title)s'title)targetrelz
aria-label2   )	hook_namepager@   next_urlrO   attrspriority)r-   r_   Zget_admin_display_titler   r@   r   rD   rD   rE   page_listing_buttons   s    
r   c                   @   s0   e Zd ZedZdZedZdZedd Z	dS )PageListingEditButtonZEditZeditzEdit '%(title)s'wagtailadmin_pages:editc                 C   s
   | j  S r>   )
page_permscan_editrj   rD   rD   rE   show   s    zPageListingEditButton.showN
rV   rW   rX   r_   rS   rO   aria_label_formaturl_namepropertyr   rD   rD   rD   rE   r      s   r   c                   @   s8   e Zd ZedZdZedZdZddiZe	dd Z
d	S )
PageListingViewDraftButtonz
View draftZdraftz$Preview draft version of '%(title)s'zwagtailadmin_pages:view_draftr   r   c                 C   s   | j jo| j  S r>   )r   Zhas_unpublished_changesZis_previewablerj   rD   rD   rE   r     s    zPageListingViewDraftButton.showN)rV   rW   rX   r_   rS   rO   r   r   r   r   r   rD   rD   rD   rE   r      s   r   c                   @   s4   e Zd ZedZdZedZddiZedd Z	dS )	PageListingViewLiveButtonz	View livez	doc-emptyz View live version of '%(title)s'r   r   c                 C   s   | j jo| j jS r>   )r   ZliverT   rj   rD   rD   rE   r     s    zPageListingViewLiveButton.showN)
rV   rW   rX   r_   rS   rO   r   r   r   r   rD   rD   rD   rE   r     s   r   c                   @   s0   e Zd ZedZdZedZdZedd Z	dS )PageListingAddChildPageButtonzAdd child pagezcircle-pluszAdd a child page to '%(title)s'zwagtailadmin_pages:add_subpagec                 C   s
   | j  S r>   )r   Zcan_add_subpagerj   rD   rD   rE   r     s    z"PageListingAddChildPageButton.showNr   rD   rD   rD   rE   r     s   r   c                   @   s0   e Zd ZedZdZedZdZedd Z	dS )PageListingMoveButtonZMovezarrow-right-fullzMove page '%(title)s'zwagtailadmin_pages:movec                 C   s
   | j  S r>   )r   Zcan_moverj   rD   rD   rE   r   '  s    zPageListingMoveButton.showNr   rD   rD   rD   rE   r   !  s   r   c                   @   s0   e Zd ZedZdZedZdZedd Z	dS )PageListingCopyButtonZCopycopyzCopy page '%(title)s'zwagtailadmin_pages:copyc                 C   s
   | j  S r>   )r   Zcan_copyrj   rD   rD   rE   r   2  s    zPageListingCopyButton.showNr   rD   rD   rD   rE   r   ,  s   r   c                   @   s8   e Zd ZedZdZedZedd Ze	dd Z
dS )	PageListingDeleteButtonDeletebinzDelete page '%(title)s'c                 C   sp   | j rltd| j jgd}| jrh| jtd| j jgdkr8n0| jtd| j jgdkrRn|dtd| ji 7 }|S d S )Nzwagtailadmin_pages:deleteargswagtailadmin_explorer   ?next)r   r   rJ   r   r   )rB   rT   rD   rD   rE   rT   <  s    

zPageListingDeleteButton.urlc                 C   s
   | j  S r>   )r   Z
can_deleterj   rD   rD   rE   r   P  s    zPageListingDeleteButton.showN)rV   rW   rX   r_   rS   rO   r   r   rT   r   r   rD   rD   rD   rE   r   7  s   
r   c                   @   s0   e Zd ZedZdZedZdZedd Z	dS )PageListingUnpublishButtonZ	UnpublishdownloadzUnpublish page '%(title)s'zwagtailadmin_pages:unpublishc                 C   s
   | j  S r>   )r   Zcan_unpublishrj   rD   rD   rE   r   [  s    zPageListingUnpublishButton.showNr   rD   rD   rD   rE   r   U  s   r   c                   @   s0   e Zd ZedZdZedZdZedd Z	dS )PageListingHistoryButtonZHistoryhistoryz!View page history for '%(title)s'zwagtailadmin_pages:historyc                 C   s
   | j  S r>   )r   Zcan_view_revisionsrj   rD   rD   rE   r   f  s    zPageListingHistoryButton.showNr   rD   rD   rD   rE   r   `  s   r   c                   @   s8   e Zd ZedZdZedZedd Ze	dd Z
dS )	PageListingSortMenuOrderButtonzSort menu orderlist-ulz-Change ordering of child pages of '%(title)s'c                 C   s
   | j  S r>   )r   Zcan_reorder_childrenrj   rD   rD   rE   r   p  s    z#PageListingSortMenuOrderButton.showc                 C   s   t d| jjgdd S )Nr   r   z?ordering=ord)r   r   rJ   rj   rD   rD   rE   rT   t  s    z"PageListingSortMenuOrderButton.urlN)rV   rW   rX   r_   rS   rO   r   r   r   r   rT   rD   rD   rD   rE   r   k  s   
r   r   c                 c   s   t | ||ddV  t| |ddV  t| || jddV  t| ||ddV  t| |ddV  t| ||d	dV  t| ||d
dV  t| ||ddV  t	| |ddV  t
| |ddV  d S )N   r   r@   r   r      r   r@   r      )r   r@   rT   r      
         (   r   <   )r   r   r   rT   r   r   r   r   r   r   r   r   rD   rD   rE   page_listing_more_buttonsy  s    r   Zregister_page_header_buttonsc                 c   s   t | |ddV  |dkr(t| |ddV  t| |ddV  t| ||ddV  t| ||ddV  t| ||d	dV  t| |d
dV  t| |ddV  d S )Nr   r   index   r   r   r   r   r   A   F   )r   r   r   r   r   r   r   r   )r   r@   Z	view_namer   rD   rD   rE   page_header_buttons  s    r   Zregister_admin_urlsc                   C   s   t   t  S r>   )r,   ZpopulateZget_urlpatternsrD   rD   rD   rE   register_viewsets_urls  s    r   Zregister_rich_text_featuresc                 C   s  |  ddtdtdtitdtg |  ddtdttdtg |  dd	td
ttdtg g d}t|D ]\}}|  d|t|tg qr|  ddtdttdtg |  ddtdttdtg | ddt	
d |  dddt idddd iid | ddt	ddtdddi d |  dddtdidddiid | dd t	d d!tddd"i d |  dd d td!idd!d iid | dd#t	d#d$tddd%i d |  dd#d#td$idd$d#iid | dd&t	d&d'tddd(i d |  dd&d&td'idd'd&iid | dd)t	d)d*tddd+i d |  dd)d)td*idd*d)iid | dd,t	d,d-tddd.i d |  dd,d,td-idd-d,iid | ddt	d/d0td1d2 |  ddtd/t d3dd/ddd4iid | ddt	d5d6td7d2 |  ddtd5t d8dd5ddd4iid | dd9t	d9d:td;d2 |  dd9d9td9idd9d9iid | ddt	d<dtd=d2 |  ddtd<td<d>d?d<diid | dd	t	d@d	tdAd2 |  dd	td@td@dBd?d@d
iid | ddt	jdCdtdDg dEddFitdGtdHtdItdJtdKdLdMdNgdO |  ddtdCtdCdPddCtiid | ddQt	dRdQtdSd2 |  ddQdTtdRid?dRdTiid | ddUt	dVdUtdWd2 |  ddUdXtdVid?dVdXiid | ddYt	dZdYtd[d2 |  ddYd\tdZid?dZd\iid | dd]t	d^d]td_d2 |  dd]d]td^id?d^d]iid d S )`NZ
editorhtmllinkahrefr   ZboldbstrongZitaliciem)h1h2h3h4h5h6olliuldraftailhrZenableHorizontalRuleZcontentstateZentity_decoratorsZHORIZONTAL_RULEc                 S   s
   t dS )Nr   )r
   Zcreate_element)propsrD   rD   rE   <lambda>      z(register_core_features.<locals>.<lambda>)Zfrom_database_formatZto_database_formatr   z
header-onezHeading %(level)dlevel   )icontypedescriptionZ	block_mapr   z
header-twor   r   zheader-three   r   zheader-fourr   r   zheader-five   r   z
header-sixr   zunordered-list-itemr   zBulleted list)r   r   r   )r   r   )elementwrapperzordered-list-itemzlist-olzNumbered list)r   r   
blockquoteZ	openquoteZ
BlockquoteZBOLDZBold)r   r   Z	style_mapZITALICZItalic)r   r   ZLINKLink)rT   rJ   ZparentIdz^(http:|https:|undefined$)Zwagtailadmin_choose_pageZ&wagtailadmin_choose_page_external_linkZ#wagtailadmin_choose_page_email_linkZ#wagtailadmin_choose_page_phone_linkZ$wagtailadmin_choose_page_anchor_link)ZpageChooserZexternalLinkChooserZemailLinkChooserZphoneLinkChooserZanchorLinkChooser)r   r   r   
attributesZ	allowlistZchooserUrlsz%wagtailadmin/js/page-chooser-modal.js)Zjs)za[href]za[linktype="page"]ZsuperscriptZSUPERSCRIPTZSuperscriptsupZ	subscriptZ	SUBSCRIPT	SubscriptsubZstrikethroughZSTRIKETHROUGHZStrikethroughscodeZCODEZCode)Zregister_converter_ruler   r;   r<   r   r   r:   	enumerateZregister_editor_plugindraftail_featuresZBooleanFeaturer   ZBlockFeaturer   r   r!   r"   ZInlineStyleFeaturer    ZEntityFeaturer   r   r#   r   )featuresZheadings_elementsr^   r   rD   rD   rE   register_core_features  s   				















$







r   c                   @   s   e Zd Zdd ZdS )LockedPagesMenuItemc                 C   s   t |jdS )NZunlock)r4   Zuser_has_permissionr@   rA   rD   rD   rE   rF   b  s    zLockedPagesMenuItem.is_shownNrs   rD   rD   rD   rE   r   a  s   r   c                   @   s   e Zd Zdd ZdS )WorkflowReportMenuItemc                 C   s   t tddot|jg dS )Nry   Tro   rp   publishrz   r   r4   rr   r@   rA   rD   rD   rE   rF   g  s    
zWorkflowReportMenuItem.is_shownNrs   rD   rD   rD   rE   r   f  s   r   c                   @   s   e Zd Zdd ZdS )SiteHistoryReportMenuItemc                 C   s   t |jd uS r>   )r4   rI   r@   rA   rD   rD   rE   rF   p  s    z"SiteHistoryReportMenuItem.is_shownNrs   rD   rD   rD   rE   r   o  s   r   c                   @   s   e Zd Zdd ZdS )AgingPagesReportMenuItemc                 C   s   t tddot|jg dS )NZWAGTAIL_AGING_PAGES_ENABLEDTr   r   rA   rD   rD   rE   rF   u  s    
z!AgingPagesReportMenuItem.is_shownNrs   rD   rD   rD   rE   r   t  s   r   c                   @   s   e Zd Zdd ZdS )PageTypesReportMenuItemc                 C   s   t |jg dS )Nr   )r4   rr   r@   rA   rD   rD   rE   rF   ~  s    
z PageTypesReportMenuItem.is_shownNrs   rD   rD   rD   rE   r   }  s   r   Zregister_reports_menu_itemc                   C   s   t tdtdddddS )NzLocked pagesz!wagtailadmin_reports:locked_pageszlocked-pageslockru   r]   )r   r_   r   rD   rD   rD   rE   register_locked_pages_menu_item  s    r   c                   C   s   t tdtdddddS )Nr|   zwagtailadmin_reports:workflowr}   r~   i   r]   r   r_   r   rD   rD   rD   rE   "register_workflow_report_menu_item  s    r   c                   C   s   t tdtdddddS )Nr   z#wagtailadmin_reports:workflow_tasksr   r   i  r]   r   rD   rD   rD   rE   (register_workflow_tasks_report_menu_item  s    r   c                   C   s   t tdtdddddS )NzSite historyz!wagtailadmin_reports:site_historyzsite-historyr     r]   )r   r_   r   rD   rD   rD   rE   &register_site_history_report_menu_item  s    r   c                   C   s   t tdtdddddS )NzAging pagesz wagtailadmin_reports:aging_pageszaging-pagestimeL  r]   )r   r_   r   rD   rD   rD   rE   %register_aging_pages_report_menu_item  s    r   c                   C   s   t tdtdddddS )NzPage types usagez%wagtailadmin_reports:page_types_usagezpage-types-usagezdoc-empty-inverse  r]   )r   r_   r   rD   rD   rD   rE   $register_page_types_report_menu_item  s    r   c                   C   s   t tdtddddS )NZReportsZreportssitei(#  r]   )r   r_   r   rD   rD   rD   rE   register_reports_menu  s    r  Zregister_help_menu_itemc                  C   s8   t dd} ttdd| i t ddddd	d
|  dS )NF)Zinclude_patchz!What's new in Wagtail %(version)sversionhelpr   r   r   r   r   zwhats-new-in-wagtail-rO   r^   r   rR   )r9   r   r_   r8   )r  rD   rD   rE   /register_whats_new_in_wagtail_version_menu_item  s    
r  c                   C   s    t tdt dddddddS )	NzEditor Guider  r   r   r   r  zeditor-guider  )r   r_   r7   rD   rD   rD   rE    register_editors_guide_menu_item  s    r  c                	   C   s"   t tddddddddd	d
dS )zy
    Triggers the keyboard shortcuts dialog to open when clicked
    while preventing the default link click action.
    Z	ShortcutsZkeyboardr   buttonzkeyboard-shortcuts-dialogzw-action#noop:prevent:stopzw-action)rolezdata-a11y-dialog-showzdata-actionzdata-controllerzkeyboard-shortcuts-trigger#)rO   r^   r   rR   rT   )r   r_   rD   rD   rD   rE   %register_keyboard_shortcuts_menu_item  s    r  c                   C   s   t tdtddddS )NZHelpr  i*  r]   )r   r_   r   rD   rD   rD   rE   register_help_menu   s    r  register_iconsc                 C   s   dD ]}|  d|  q| S )N)uzarrow-down.svgzarrow-right-full.svgzarrow-left.svgzarrow-right.svgzarrow-up.svgzbars.svgzbin.svgzbold.svgzbreadcrumb-expand.svgzcalendar.svgzcalendar-alt.svgzcalendar-check.svgz	check.svgzcircle-check.svgzcircle-plus.svgzcircle-xmark.svgzclipboard-list.svgzcode.svgzcog.svgzcogs.svgzcopy.svgzcollapse-down.svgzcollapse-up.svgzcomment.svgzcomment-add.svgzcomment-add-reversed.svgz	cross.svgzcrosshairs.svgzcut.svgzdate.svgzdecimal.svgzdesktop.svgzdoc-empty-inverse.svgzdoc-empty.svgzdoc-full-inverse.svgzdoc-full.svgzdots-horizontal.svgzdownload.svgz	draft.svgzedit.svgzexpand-right.svgz	error.svgzfolder-inverse.svgzfolder-open-1.svgzfolder-open-inverse.svgz
folder.svgzform.svgzglasses.svgz	globe.svgzgrip.svgz	group.svgzh1.svgzh2.svgzh3.svgzh4.svgzh5.svgzh6.svgzhelp.svgzhistory.svgzhome.svgz	image.svgzinfo-circle.svgz
italic.svgzkey.svgzkeyboard.svgzlink.svgzlink-external.svgzlist-ol.svgzlist-ul.svgzlock-open.svgzlock.svgz	login.svgz
logout.svgzmail.svgz	media.svgz	minus.svgzmobile-alt.svgzno-view.svgzopenquote.svgzorder-down.svgzorder-up.svgz	order.svgzpassword.svgzpick.svgzpilcrow.svgzplaceholder.svgzplus-inverse.svgzplus.svgzradio-empty.svgzradio-full.svgzredirect.svgz	regex.svgzresubmit.svgz
rotate.svgz
search.svgzsite.svgzsliders.svgzsnippet.svgzspinner.svgzstrikethrough.svgzsuccess.svgzsubscript.svgzsuperscript.svgz	table.svgztablet-alt.svgztag.svgz	tasks.svgzthumbtack.svgzthumbtack-crossed.svgztick-inverse.svgztime.svgz	title.svgz
upload.svgzuser.svgzview.svgzwagtail.svgzwarning.svgzwagtailadmin/icons/)append)Ziconsr   rD   rD   rE   r    s    wZ construct_homepage_summary_itemsc                 C   s   | dt|  d S )Nr   )insertr%   )rC   itemsrD   rD   rE   add_pages_summary_item  s    r  c                   @   s   e Zd Zdd Zdd ZdS )PageAdminURLFinderc                 C   s
   || _ d S r>   )r@   )rB   r@   rD   rD   rE   ri     s    zPageAdminURLFinder.__init__c                 C   s.   | j r|| j  sd S td|jfdS d S )Nr   r   )r@   Zpermissions_for_userr   r   pk)rB   instancerD   rD   rE   get_edit_url  s    zPageAdminURLFinder.get_edit_urlN)rV   rW   rX   ri   r  rD   rD   rD   rE   r    s   r  c                   @   s   e Zd ZeZdZdS )CollectionAdminURLFinderzwagtailadmin_collections:editN)rV   rW   rX   r3   permission_policyedit_url_namerD   rD   rD   rE   r    s   r  c                   @   s   e Zd ZeZdZdS )WorkflowAdminURLFinderzwagtailadmin_workflows:editN)rV   rW   rX   r6   r  r  rD   rD   rD   rE   r    s   r  c                   @   s   e Zd ZeZdZdS )WorkflowTaskAdminURLFinderz wagtailadmin_workflows:edit_taskN)rV   rW   rX   r5   r  r  rD   rD   rD   rE   r    s   r  Zregister_bulk_action)N)N)N)Zdjango.confr   Zdjango.contrib.auth.modelsr   Zdjango.urlsr   r   Zdjango.utils.functionalr   Zdjango.utils.httpr   Zdjango.utils.translationr   r	   r_   Zdraftjs_exporter.domr
   Z1wagtail.admin.rich_text.editors.draftail.featuresZadminZ	rich_textZeditorsr   r   r   Zwagtailr   r   Zwagtail.admin.admin_url_finderr   r   Zwagtail.admin.authr   Zwagtail.admin.forms.collectionsr   Zwagtail.admin.menur   r   r   r   r   r   r   Z/wagtail.admin.rich_text.converters.contentstater   Z.wagtail.admin.rich_text.converters.editor_htmlr   r   r   Z7wagtail.admin.rich_text.converters.html_to_contentstater   r   r   r    r!   r"   r#   Zwagtail.admin.searchr$   Zwagtail.admin.site_summaryr%   Zwagtail.admin.ui.sidebarr&   rQ   r'   rb   Z&wagtail.admin.views.pages.bulk_actionsr(   r)   r*   r+   Zwagtail.admin.viewsetsr,   Zwagtail.admin.widgetsr-   r.   Zwagtail.modelsr/   r0   r1   r2   Zwagtail.permissionsr3   r4   r5   r6   Z%wagtail.templatetags.wagtailcore_tagsr7   r8   Zwagtail.utils.versionr9   Zwagtail.whitelistr:   r;   r<   r=   registerr`   ra   rd   re   rh   rk   rl   rm   rv   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  action_classrD   rD   rD   rE   <module>   s   $$	$	
















   @		



















|




