o
    h                     @   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Z d d
lmZ d dlmZ dd Zdd ZdS )    )settings)PermissionDenied)get_object_or_404redirect)TemplateResponse)reverse)gettext)hooks)MovePageAction)messages)MoveForm)Pagec                 C   s   t t|d}|| j}| stt|j }t	| j
pd ||d}| jdkr>| r>|jd r>|jd }td|j|jS t| d||dS )Nid)page_to_movetarget_parent_modelsPOSTnew_parent_pagezwagtailadmin_pages:move_confirmz/wagtailadmin/pages/move_choose_destination.html)r   	move_form)r   r   permissions_for_userusercan_mover   setspecific_classallowed_parent_page_modelsr   r   methodis_validcleaned_datar   r   r   )requestpage_to_move_idr   
page_permsr   r   r    r!   ^/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/views/pages/move.pymove_choose_destination   s4   


r#   c              	      s  t t|dj t t|dj}tj j| ds*t| tdd ji  t	d j
S tdD ]}||  |}t|dr@|  S q/ h}ttdd	rktd
D ]}| gd}|rjt|trj| D ]}|| qbqOt|}| jdkrt |d| jd}	|	  ttdd	r   }
|D ]}| |
v rt|||jd| jd}	|	  qtj| tdd  i tt d j
fdtdgd tdD ]}||  }t|dr|  S qt	d|j
S t!| d |t" fdd|D dS )Nr   )pagezrThe slug '%(page_slug)s' is already in use at the selected parent page. Make sure the slug is unique and try again	page_slugzwagtailadmin_pages:movebefore_move_pagestatus_codeWAGTAIL_I18N_ENABLEDF-construct_translated_pages_to_cascade_actionsmover   z
last-child)posr   zPage '%(page_title)s' moved.
page_titlezwagtailadmin_pages:edit)argsEdit)buttonsafter_move_pagewagtailadmin_explorez$wagtailadmin/pages/confirm_move.htmlc                    s$   g | ]}|j s|j jkr|jqS r!   )alias_of_idr   ).0translationr   r!   r"   
<listcomp>   s    z move_confirm.<locals>.<listcomp>)r   destinationtranslations_to_move_count)#r   r   specificspecific_deferred_slug_is_availableslugr   error_r   r   r	   	get_hookshasattrgetattrr   
isinstancedictvaluesupdatelistr   r
   r   execute
get_parentget_translationsget_translationlocalesuccessget_admin_display_titlebuttonr   r   len)r   r   destination_idr7   fnresultpages_to_movefn_pagesadditional_pagesactionparent_page_translationsr4   r!   r5   r"   move_confirm2   s   







rX   N)django.confr   django.core.exceptionsr   django.shortcutsr   r   django.template.responser   django.urlsr   django.utils.translationr   r>   wagtailr	   wagtail.actions.move_pager
   wagtail.adminr   wagtail.admin.forms.pagesr   wagtail.modelsr   r#   rX   r!   r!   r!   r"   <module>   s    #