o
    h                     @   sJ   d dl mZ d dlmZ G dd deZG dd deZG dd dZd	S )
    )PermissionDenied)logc                   @      e Zd ZdZdS )ConvertAliasPageErrorz:
    Raised when the page to convert is not an alias.
    N__name__
__module____qualname____doc__ r   r   ]/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/actions/convert_alias.pyr          r   c                   @   r   )ConvertAliasPagePermissionErrorzd
    Raised when the alias page conversion cannot be performed due to insufficient permissions.
    Nr   r   r   r   r   r      r   r   c                   @   s8   e Zd ZdddddZdddZd	d
 ZdddZdS )ConvertAliasPageActionzwagtail.convert_aliasN)
log_actionuserc                C   s   || _ || _|| _d S )N)pager   r   )selfr   r   r   r   r   r   __init__   s   
zConvertAliasPageAction.__init__Fc                 C   s@   | j jstd|s| jr| j | j stdd S d S d S )Nz&Page must be an alias to be converted.z-You do not have permission to edit this page.)r   alias_of_idr   r   permissions_for_usercan_editr   r   skip_permission_checksr   r   r   check   s   zConvertAliasPageAction.checkc              	   C   sl   d |_ |jdgdd |j|ddd}|jr!||_|jdgdd |r4t||||d|j| did |S )	Nr   F)update_fieldsclean)r   changedr   live_revisionr   )idtitle)instanceactionrevisionr   data)r   savesave_revisionliver   r   r   get_admin_display_title)r   r   r   r   r#   r   r   r   _convert_alias)   s    
z%ConvertAliasPageAction._convert_aliasc                 C   s    | j |d | | j| j| jS )N)r   )r   r)   r   r   r   r   r   r   r   executeB   s   zConvertAliasPageAction.execute)F)r   r   r	   r   r   r)   r*   r   r   r   r   r      s
    
r   N)django.core.exceptionsr   wagtail.log_actionsr   RuntimeErrorr   r   r   r   r   r   r   <module>   s
    