o
    h                     @   s   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 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 dd ZdS )    )settings)PermissionDenied)transaction)get_object_or_404redirect)TemplateResponse)reverse)gettext)hooks)DeletePageAction)messages)get_valid_next_url_from_request)PageReferenceIndexc                    s  t t|dj  | j stttdd}t	
  tdD ]}||  }t|dr8|  W  d    S q!t| } h}ttddrgtdD ]}| gd	}|rft|trf| D ]}|| q^qKt|}| jd
kr
d}	| jdr| jd|krt| d| d d}	|	r
  j}
t | jd}|jdd ttddrƈ   }|D ]}| |v rt|| jd}|jdd qt| tdd   i  tdD ]}||  }t|dr|  W  d    S q|rt!|W  d    S t!d|
W  d    S W d    n	1 sw   Y  t"# $ } % }t&| d || j't(d jfdd |) |j*|d ttddk|t+ fdd|D t,dd |D dS ) N)idWAGTAIL_SITE_NAMEwagtailbefore_delete_pagestatus_codeWAGTAIL_I18N_ENABLEDF-construct_translated_pages_to_cascade_actionsdeletePOSTTconfirm_site_namezPlease type 'z' to confirm.)user)skip_permission_checkszPage '%(page_title)s' deleted.
page_titleafter_delete_pagewagtailadmin_explorez&wagtailadmin/pages/confirm_delete.htmlzwagtailadmin_pages:usage)argsz?describe_on_delete=1   'WAGTAILADMIN_UNSAFE_PAGE_DELETION_LIMIT
   c                    s$   g | ]}|j s|j jkr|jqS  )alias_of_idr   .0translationpager#   `/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/views/pages/delete.py
<listcomp>j   s    zdelete.<locals>.<listcomp>c                 S   s    g | ]}|  jd d qS )T)alias_of__isnull)get_descendantsfiltercountr%   r#   r#   r*   r+   q   s    )r)   descendant_countnext
model_opts	usage_urlusage_countis_protectedconfirm_before_deletewagtail_site_nametranslation_counttranslation_descendant_count)-r   r   specificpermissions_for_userr   
can_deleter   getattrr   r   atomicr
   	get_hookshasattrr   
isinstancedictvaluesupdatelistmethodr   getr   error
get_parentr   r   executeget_translationssuccess_get_admin_display_titler   r   get_references_togroup_by_source_objectget_descendant_countr   _metar   r/   r5   lensum)requestpage_idr7   fnresultnext_urlpages_to_deletefn_pagesadditional_pagescontinue_deleting	parent_idactionparent_page_translationspage_or_aliasusager0   r#   r(   r*   r      s   







7< >

r   N)django.confr   django.core.exceptionsr   	django.dbr   django.shortcutsr   r   django.template.responser   django.urlsr   django.utils.translationr	   rM   r   r
   wagtail.actions.delete_pager   wagtail.adminr   wagtail.admin.utilsr   wagtail.modelsr   r   r   r#   r#   r#   r*   <module>   s    