a
    Dg#                     @   s   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	lmZ d d
lmZ d dlmZ eedd ZdS )    )redirect)TemplateResponse)gettext)hooks)CopyPageAction)CreatePageAliasAction)messages)user_has_any_page_permissionuser_passes_test)CopyForm)get_valid_next_url_from_request)Pagec                 C   s  t jj|d}| }|| j }t|jdt	}|| j
p>d | j||d}t| }tdD ] }|| |}	t|	dr^|	  S q^| jdkrt jj| j
d d}| r|jd r|jd }|| j }|o|jd}
|r$|jd	r$t|j|jd
||jd | jd}|jdd}n8t||jd
||jd |jd d|
| jd}| }|jd
rt| td|j |  d  nt| tdd|j i  tdD ]&}|| ||}	t|	dr|	  S q|rt|S td|jS t| d|||dS )N)idZcopy_form_class)userpagecan_publishZbefore_copy_pagestatus_codePOSTZnew_parent_pageZpublish_copiesaliasZcopy_subpagesZnew_slug)	recursiveparentZupdate_slugr   T)Zskip_permission_checksZ	new_title)titleZslug)r   r   toZupdate_attrs	keep_liver   z=Page '%(page_title)s' and %(subpages_count)s subpages copied.)
page_titleZsubpages_countzPage '%(page_title)s' copied.r   Zafter_copy_pageZwagtailadmin_explorezwagtailadmin/pages/copy.html)r   formnext) r   ZobjectsgetZ
get_parentZpermissions_for_userr   Zcan_publish_subpagegetattrZspecific_classr   r   r   r   Z	get_hookshasattrmethodZis_validZcleaned_datar   Zspecificexecuter   r   success_Zspecific_deferredZget_admin_display_titleZget_descendantscountr   r   r   )requestZpage_idr   Zparent_pager   Z
form_classr   Znext_urlfnresultr   actionZnew_page r)   ]/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/admin/views/pages/copy.pycopy   s    








	r+   N)Zdjango.shortcutsr   Zdjango.template.responser   Zdjango.utils.translationr   r#   Zwagtailr   Zwagtail.actions.copy_pager   Zwagtail.actions.create_aliasr   Zwagtail.adminr   Zwagtail.admin.authr	   r
   Zwagtail.admin.forms.pagesr   Zwagtail.admin.utilsr   Zwagtail.modelsr   r+   r)   r)   r)   r*   <module>   s   