U
    {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rD|  W  5 Q R  S qDt| } h}ttddrtdD ]6}| gd	}|rt|tr| D ]}|| qqt|}| jd
krd}	| jdr| jd|krt| d| d d}	|	r  j}
t | jd}|jdd ttddr   }|D ].}| |krft|| jd}|jdd qft| tdd   i  tdD ]0}||  }t|dr|  W  5 Q R  S q|rt!|W  5 Q R  S t!d|
W  5 Q R  S W 5 Q R X 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)idZWAGTAIL_SITE_NAMEwagtailZbefore_delete_pagestatus_codeZWAGTAIL_I18N_ENABLEDFZ-construct_translated_pages_to_cascade_actionsdeletePOSTTZconfirm_site_namezPlease type 'z' to confirm.)user)Zskip_permission_checkszPage '%(page_title)s' deleted.Z
page_titleZafter_delete_pageZwagtailadmin_explorez&wagtailadmin/pages/confirm_delete.htmlzwagtailadmin_pages:usage)argsz?describe_on_delete=1   Z'WAGTAILADMIN_UNSAFE_PAGE_DELETION_LIMIT
   c                    s$   g | ]}|j s|j jkr|jqS  )Zalias_of_idr   .0translationpager   h/var/www/dating/data/www/fatepal.com/env/lib/python3.8/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)Zalias_of__isnull)Zget_descendantsfiltercountr   r   r   r   r    q   s   )r   descendant_countnextZ
model_optsZ	usage_urlZusage_countis_protectedZconfirm_before_deletewagtail_site_nameZtranslation_countZtranslation_descendant_count)-r   r   ZspecificZpermissions_for_userr   Z
can_deleter   getattrr   r   Zatomicr
   Z	get_hookshasattrr   
isinstancedictvaluesupdatelistmethodr   getr   errorZ
get_parentr   r   executeZget_translationssuccess_Zget_admin_display_titler   r   Zget_references_toZgroup_by_source_objectZget_descendant_countr   _metar   r"   r%   lensum)requestZpage_idr&   fnresultZnext_urlZpages_to_deleteZfn_pagesZadditional_pagesZcontinue_deletingZ	parent_idactionZparent_page_translationsZpage_or_aliasusager#   r   r   r   r      s    


 



 

r   N)Zdjango.confr   Zdjango.core.exceptionsr   Z	django.dbr   Zdjango.shortcutsr   r   Zdjango.template.responser   Zdjango.urlsr   Zdjango.utils.translationr	   r3   r   r
   Zwagtail.actions.delete_pager   Zwagtail.adminr   Zwagtail.admin.utilsr   Zwagtail.modelsr   r   r   r   r   r   r   <module>   s   